Asterisk 18 PJSIP con fallo de llamadas salientes en Movistar

Buenos dias a todos:

Desde hace unos 3 años, vengo funcionando en casa con Asterisk en su versión 16 sin problemas. Tengo una configuración algo compleja, con IVR y enlace IAX con otra centralita, que como digo vienen funcionando sin problemas.

Recientemente me he planteado pasar a Asterisk en su versión 18, ya que su soporte LTS será mas largo que lo que quede al 16 además de sus pequeñas mejoras y seguridad respecto al 16.

He compilado e instalado sin problema (bueno si los tuve al principio, pero ya realice la instalación limpia de cero), tanto el códec g729, como exim para gestionar los sms enviados por email, como voces en castellano así como chan_dongle para las llamadas por la línea móvil.

Todo lo que se gestiona por la línea móvil, he de decir que no da problema alguno, así como las extensiones y enlace entre centralita.

Únicamente fallan las llamadas salientes, porque incluso las entrantes funcionan perfectamente.

He intentado realizar un log, donde me da un error inespecífico, el 34 (No circuit/channel available) y arroja un Congestion, y un poco antes un Unauthorized que no tengo muy claro porque me lo da, siendo la misma configuración, me inclino por algún n parámetro en pjsip que no sepa.

La configuración es la misma que uso en Asterisk 16, la que lleva 3 años funcionando sin problemas, por tanto la estructura debería estar bien. Lo que no se es si en la versión 18 hay algún detalle que se me escape y no lo logre solucionar.

En la versión que funciona OK, utilizo Asterisk 16 + PJSIP 2.10

En la versión que no funciona, uso Asterisk 18 + PJSIP 2.10

Pego la configuración del Trunk en pjsip, así como un ejemplo de como saco una llamada desde el archivo extensión.conf.

Código:
[general]
pjsip.conf

language=es
allowguest=no
autodomain=yes
domain=telefonica.net
domainsasrealm=yes
sipdomain=telefonica.net
allowsubscribe=yes
subscribecontext=BLF

; ###########################################################
; ############## Transporte interno Centralita ##############

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
local_net=192.168.1.0/24

; ###########################################################
; ######### Registro linea telefonica de Telefonica #########

[Telefonica_registration]
type=registration
transport=transport-udp
outbound_auth=Telefonica_auth
server_uri=sip:10.31.255.134:5070
client_uri=sip:91xxxxxxx@telefonica.net
retry_interval=60
expiration=600
support_path=yes

[Telefonica_auth]
type=auth
auth_type=userpass
password=xxxxxxxxx
username=xxxxxxxxx@telefonica.net
realm=telefonica.net

[Telefonica_endpoint]
type=endpoint
transport=transport-udp
context=Telefonica
disallow=all
allow=ulaw
allow=alaw
allow=g729
allow=gsm
outbound_auth=Telefonica_auth
aors=Telefonica_aor
from_user=xxxxxxxxx
from_domain=telefonica.net
dtmf_mode=auto
rewrite_contact=yes
rtp_symmetric=yes
send_rpid=yes
100rel=yes

[Telefonica_aor]
type=aor
max_contacts=2
contact=sip:10.31.255.134:5070
qualify_frequency=60
qualify_timeout=30
support_path=yes
remove_existing=yes
maximum_expiration=600

[Telefonica_identify]
type=identify
endpoint=Telefonica_endpoint
match=10.31.255.134/24
match=telefonica.net

[acl]
type=acl
acl=internal

Código:
extensions.conf

[general]
static=yes
writeprotect=no ; antes yes
priorityjumping=no
autofallthrough=yes
language=es
extenpatternmatchnew=yes
clearglobalvars=no

[fijos]; Llamadas a telefonos fijos nacionales desde el fijo xx xxx xx xx.
exten => _[89]ZXXXXXXX,1,NoOp(Llamada a fijo ${EXTEN} a las ${STRFTIME(${EPOCH},,%H:%M:%S)} del dia ${STRFTIME(${EPOCH},,%d-%m-%Y)})
same => n,System(echo '${STRFTIME(${EPOCH},,%H:%M:%S)} del dia ${STRFTIME(${EPOCH},,%d-%m-%Y)} Llamada de ${CALLERID(num)} a ${EXTEN}' >> /var/log/asterisk/llamadas_salientes.txt)
same => n,Dial(PJSIP/Telefonica_endpoint/sip:${EXTEN}@telefonica.net:5070,60)
same => n,hangup();(Llamada a fijo ${EXTEN} finalizada)

[moviles]; Llamadas a telefonos moviles a traves del Dongle con numero yyy yy yy yy.
exten => _[67]XXXXXXXX,1,NoOp(Llamada a movil ${EXTEN}  a las ${STRFTIME(${EPOCH},,%H:%M:%S)} del dia ${STRFTIME(${EPOCH},,%d-%m-%Y)})
same => n,System(echo '${STRFTIME(${EPOCH},,%H:%M:%S)} del dia ${STRFTIME(${EPOCH},,%d-%m-%Y)} Llamada de ${CALLERID(num)} a ${EXTEN}' >> /var/log/asterisk/llamadas_salientes.txt)
same => n,Dial(Dongle/dongle1/${EXTEN},60)
same => n,hangup();(Llamada a movil finalizada a ${EXTEN})

Código:
PJSIP Logging enabled
<--- Transmitting SIP request (425 bytes) to UDP:192.168.1.27:5060 --->
OPTIONS sip:8400@192.168.1.27:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.25:5060;rport;branch=z9hG4bKPj05c407d5-f27a-4147-afd9-9c8a55fd0c6d
From: <sip:8400@192.168.1.25>;tag=b1538f52-852b-4ab2-a1d5-05337ddde40c
To: <sip:8400@192.168.1.27>
Contact: <sip:8400@192.168.1.25:5060>
Call-ID: aa7ec9a8-6a1f-4a6d-a2f2-107866e60383
CSeq: 38827 OPTIONS
Max-Forwards: 70
User-Agent: Asterisk PBX 18.5.0
Content-Length:  0


<--- Received SIP response (518 bytes) from UDP:192.168.1.27:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.25:5060;rport=5060;branch=z9hG4bKPj05c407d5-f27a-4147-afd9-9c8a55fd0c6d
From: <sip:8400@192.168.1.25>;tag=b1538f52-852b-4ab2-a1d5-05337ddde40c
To: <sip:8400@192.168.1.27>;tag=861101037
Call-ID: aa7ec9a8-6a1f-4a6d-a2f2-107866e60383
CSeq: 38827 OPTIONS
Supported: replaces, path, timer
User-Agent: ZTEF680/V2.0.10T5_JAZZT11I Grandstream GXP2130 1.0.11.35
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0


<--- Received SIP request (1175 bytes) from UDP:192.168.1.28:5062 --->
INVITE sip:1004@192.168.1.25 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.28:5062;branch=z9hG4bK1770163423;rport
From: "Salon - 8200" <sip:8200@192.168.1.25>;tag=1045748764
To: <sip:1004@192.168.1.25>
Call-ID: 951378316-5062-32@BJC.BGI.JJ.CI
CSeq: 310 INVITE
Contact: "Salon - 8200" <sip:8200@192.168.1.28:5062>
Max-Forwards: 70
User-Agent: Grandstream DP750 1.0.15.9
Privacy: none
P-Preferred-Identity: "Salon - 8200" <sip:8200@192.168.1.25>
Supported: replaces, path, timer, 100rel, eventlist
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, PRACK
Content-Type: application/sdp
Accept: application/sdp, application/dtmf-relay
Content-Length:   478

v=0
o=8200 8020 8000 IN IP4 192.168.99.28
s=SIP Call
c=IN IP4 192.168.99.28
t=0 0
m=audio 5008 RTP/AVP 8 0 18 4 9 2 97 125 101
a=sendrecv
a=rtpmap:8 PCMA/8000
a=ptime:20
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:4 G723/8000
a=rtpmap:9 G722/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:97 iLBC/8000
a=fmtp:97 mode=20
a=rtpmap:125 opus/48000/2
a=fmtp:125 maxplaybackrate=16000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16,32-36,54

<--- Transmitting SIP response (493 bytes) to UDP:192.168.1.28:5062 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.1.28:5062;rport=5062;received=192.168.1.28;branch=z9hG4bK1770163423
Call-ID: 951378316-5062-32@BJC.BGI.JJ.CI
From: "Salon - 8200" <sip:8200@192.168.1.25>;tag=1045748764
To: <sip:1004@192.168.1.25>;tag=z9hG4bK1770163423
CSeq: 310 INVITE
WWW-Authenticate: Digest realm="asterisk",nonce="1626514955/593b5176f9e01b25d1c97d722192b620",opaque="54dbc3d748841d69",algorithm=md5,qop="auth"
Server: Asterisk PBX 18.5.0
Content-Length:  0


<--- Received SIP request (296 bytes) from UDP:192.168.1.28:5062 --->
ACK sip:1004@192.168.1.25 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.28:5062;branch=z9hG4bK1770163423;rport
From: "Salon - 8200" <sip:8200@192.168.1.25>;tag=1045748764
To: <sip:1004@192.168.1.25>;tag=z9hG4bK1770163423
Call-ID: 951378316-5062-32@BJC.BGI.JJ.CI
CSeq: 310 ACK
Content-Length: 0


<--- Received SIP request (1442 bytes) from UDP:192.168.1.28:5062 --->
INVITE sip:1004@192.168.1.25 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.28:5062;branch=z9hG4bK69658759;rport
From: "Salon - 8200" <sip:8200@192.168.1.25>;tag=1045748764
To: <sip:1004@192.168.1.25>
Call-ID: 951378316-5062-32@BJC.BGI.JJ.CI
CSeq: 311 INVITE
Contact: "Salon - 8200" <sip:8200@192.168.1.28:5062>
Authorization: Digest username="8200", realm="asterisk", nonce="1626514955/593b5176f9e01b25d1c97d722192b620", uri="sip:1004@192.168.99.25", response="7550a9e247d2b526f8d73d80b94f52bf", algorithm=md5, cnonce="09266247", opaque="54dbc3d748841d69", qop=auth, nc=00000001
Max-Forwards: 70
User-Agent: Grandstream DP750 1.0.15.9
Privacy: none
P-Preferred-Identity: "Salon - 8200" <sip:8200@192.168.1.25>
Supported: replaces, path, timer, 100rel, eventlist
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, PRACK
Content-Type: application/sdp
Accept: application/sdp, application/dtmf-relay
Content-Length:   478

v=0
o=8200 8020 8000 IN IP4 192.168.1.28
s=SIP Call
c=IN IP4 192.168.1.28
t=0 0
m=audio 5008 RTP/AVP 8 0 18 4 9 2 97 125 101
a=sendrecv
a=rtpmap:8 PCMA/8000
a=ptime:20
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:4 G723/8000
a=rtpmap:9 G722/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:97 iLBC/8000
a=fmtp:97 mode=20
a=rtpmap:125 opus/48000/2
a=fmtp:125 maxplaybackrate=16000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16,32-36,54

<--- Transmitting SIP response (317 bytes) to UDP:192.168.1.28:5062 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.1.28:5062;rport=5062;received=192.168.1.28;branch=z9hG4bK69658759
Call-ID: 951378316-5062-32@BJC.BGI.JJ.CI
From: "Salon - 8200" <sip:8200@192.168.1.25>;tag=1045748764
To: <sip:1004@192.168.1.25>
CSeq: 311 INVITE
Server: Asterisk PBX 18.5.0
Content-Length:  0


    -- Executing [1004@extensiones:1] NoOp("PJSIP/8200-00000006", "Llamada a servicios de valor social a 1004 a las 11:42:35 del dia 17-07-2021)") in new stack
    -- Executing [1004@extensiones:2] Dial("PJSIP/8200-00000006", "PJSIP/Telefonica_endpoint/sip:1004@telefonica.net:5070,60") in new stack
    -- Called PJSIP/Telefonica_endpoint/sip:1004@telefonica.net:5070
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Executing [1004@extensiones:3] Hangup("PJSIP/8200-00000006", "") in new stack
  == Spawn extension (extensiones, 1004, 3) exited non-zero on 'PJSIP/8200-00000006'
<--- Transmitting SIP response (395 bytes) to UDP:192.168.1.28:5062 --->
SIP/2.0 503 Service Unavailable
Via: SIP/2.0/UDP 192.168.1.28:5062;rport=5062;received=192.168.1.28;branch=z9hG4bK69658759
Call-ID: 951378316-5062-32@BJC.BGI.JJ.CI
From: "Salon - 8200" <sip:8200@192.168.1.25>;tag=1045748764
To: <sip:1004@192.168.1.25>;tag=320884e7-b394-468a-ba1c-40ba15df794c
CSeq: 311 INVITE
Server: Asterisk PBX 18.5.0
Reason: Q.850;cause=34
Content-Length:  0


<--- Received SIP request (313 bytes) from UDP:192.168.99.28:5062 --->
ACK sip:1004@192.168.1.25 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.28:5062;branch=z9hG4bK69658759;rport
From: "Salon - 8200" <sip:8200@192.168.1.25>;tag=1045748764
To: <sip:1004@192.168.1.25>;tag=320884e7-b394-468a-ba1c-40ba15df794c
Call-ID: 951378316-5062-32@BJC.BGI.JJ.CI
CSeq: 311 ACK
Content-Length: 0
Captura de pantalla 2021-07-17 a las 11.42.04.png


Espero que podais arrojar algo de luz sobre ello.

Os agradezco de antemano cualquier ayuda posible.
 
Únicamente fallan las llamadas salientes, porque incluso las entrantes funcionan perfectamente.

No entiendo del tema pero me acuerdo que había gente que le fallaban las llamadas salientes y lo que le faltaba era declarar en su máquina servidor la siguiente entrada. Prueba a ver.
Suerte.

Prueba a poner esta línea en tu archivo /etc/hosts:
10.31.255.134 telefonica.net
 
No entiendo del tema pero me acuerdo que había gente que le fallaban las llamadas salientes y lo que le faltaba era declarar en su máquina servidor la siguiente entrada. Prueba a ver.
Suerte.
Ya lo tengo declarado, perdón por no poner ese detalle, pero el hosts lo tengo con esa linea declarada desde el principio.

Tengo que seguir buscando...
 
Finalmente encontré la solución. Espero poder ayudar a más gente en este proceso. Es aplicable a cualquier version de asterisk:
Dentro de /etc encontramos un archivo llamado dhcpcd.conf al cual debemos añadir la linea siguiente al final del párrafo comentado #Example static IP configuration:
- static domain_name_servers=192.168.1.1 (o la ip del router)

Si a alguien le ha sucedido lo mismo y me puede confirmar si así lo soluciono lo agradecería.

Saludos a todos!! y Gracias!
 
Arriba