Llamadas externas con Asterisk PJSIP no muestran identificación de llamada en destino

sesardelaisla
Mi vida cambió con el ADSL
Llamadas externas con Asterisk PJSIP no muestran identificación de llamada en destino

Buenos días,

 

Antes de nada, planteo este tema sabiendo que el soporte oficial no puede ofrecer ayuda tan específica, pero agradecería que me mantengan el post por si alguien puede echar una mano sobre el tema.

 

El caso es que me he montado un servidor de Asterisk en mi vivienda como complemento de un sistema de de automatización para domótica (Home Assistant). El propósito es recibir llamadas en mi teléfono móvil cuando se produzcan ciertas situaciones. La parte de recibir la llamada ya he logrado que funcione correctamente, pero por PJSIP, no por SIP. Lo que no logro es que el teléfono móvil muestre el número de teléfono de la FTTH de la que se está llamando. Me consta que a nivel de red está funcionando correctamente, al menos por SIP, porque hago llamadas desde un cliente virtual para móvil (SessionTalk, que es un cliente VoIP para iPhone) y la llamada se recibe con el número de teléfono sin problemas. También puedo hacerlo desde un adaptador ATA SIP (Grandstream HT802). Está configurado con los datos SIP habituales de Movistar y, al llamar desde un teléfono conectado a él a un teléfono móvil, también se recibe correctamente la llamada con su identificador correspondiente. Todo esto me hace suponer que, a nivel de LAN, no hay ningún problema.

 

El caso es que no entiendo por qué no se envía esta información utilizando PJSIP. Me pregunto si tengo algo (o estoy omitiendo algo) en los archivos pjsip.conf o extensions.conf (dialplan) que estén "machacando" la información relativa a CALLERID.

 

Dicho esto, paso a poner estas configuraciones y la información a nivel de logs que he podido extraer de Asterisk, por si alguien se ha visto en una situación similar y la ha resuelto. Veréis que algunas líneas está comentadas. Esto es porque son opciones que he ido probando a modo de ensayo/error.

 

La información a nivel de números de teléfonos reales y contraseñas la he enmascarado.

 

pjsip.conf

[general]
language=es
allowguest=no
autodomain=yes
domain=telefonica.net
sipdomain=telefonica.net

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0

[endpoint_internal](!)
type=endpoint
context=home
direct_media=no
allow=g729
allow=ulaw
allow=alaw
allow=gsm

[auth_userpass](!)
type=auth
auth_type=userpass

[aor_dynamic](!)
type=aor
max_contacts=2
remove_existing=yes

[100](endpoint_internal)
auth=100
aors=100
mwi_from_user=100

[100](auth_userpass)
username=100
password=[PASSWORD]
[100](aor_dynamic)

[101](endpoint_internal)
auth=101
aors=101
mwi_from_user=101

[101](auth_userpass)
username=101
password=[PASSWORD]
[101](aor_dynamic)

[endpoint]
100rel=yes

[Movistar_reg]
type=registration
transport=transport-udp
outbound_auth=Movistar_auth
server_uri=sip:10.31.255.134:5070
client_uri=sip:949xxxxxx@telefonica.net
contact_user=949xxxxxx
retry_interval=60
expiration=3600
support_path=yes

[Movistar_auth]
type=auth
auth_type=userpass
password=949xxxxxx
username=949xxxxxx@telefonica.net
realm=telefonica.net

[Movistar_aor]
type=aor
max_contacts=2
contact=sip:949xxxxxx@telefonica.net
qualify_frequency=60
qualify_timeout=30
support_path=yes
;send_rpid=yes
;send_pai=yes

[Movistar_endpoint]
type=endpoint
transport=transport-udp
context=external-calls
disallow=all
allow=ulaw
allow=alaw
allow=gsm
allow=g729
outbound_auth=Movistar_auth
aors=Movistar_aor
from_user=949xxxxxx
from_domain=telefonica.net
callerid=asreceived
send_pai=yes
rewrite_contact=no
send_pai=yes
send_rpid=yes

[Movistar_identify]
type=identify
endpoint=Movistar_endpoint
match=10.31.255.134

 

 extensions.conf

[general]
static=yes
writeprotect=yes
autofallthrough=yes
extenpatternmatchnew=yes
clearglobalvars=yes

[external-calls]
exten => _[67]XXXXXXXX,1,NoOP(Llamadas a moviles)
same => n,set(PJSIP/Movistar_endpoint, ${CALLERID(all)})=949xxxxxx <949xxxxxx>
;same => n,NoOp(CALLERID(all))
;same => n,Set(CALLERID(all)=949xxxxxx <949xxxxxx>)
;same => n,NoOp(CALLERID(all))
;same => n,set(calltime=${STRFTIME(${EPOCH},,%C%y-%m-%d+%H:%M:%S)})
;same => n,MixMonitor(/var/lib/asterisk/recordings/inside/${calltime}.-.${CALLERID(num)}-${EXTEN}.wav,b)
same => n,DBdeltree(lastcallerout)
same => n,set(DB(lastcallerout/lastcallerout)=${EXTEN})
same => n,Dial(PJSIP/Movistar_endpoint/sip:${EXTEN}@telefonica.net:5070,60)
same => n,1,Hangup(21)

 

Endpoint info:

 Endpoint:  <Endpoint/CID.....................................>  <State.....>  <Channels.>
    I/OAuth:  <AuthId/UserName...........................................................>
        Aor:  <Aor............................................>  <MaxContact>
      Contact:  <Aor/ContactUri..........................> <Hash....> <Status> <RTT(ms)..>
  Transport:  <TransportId........>  <Type>  <cos>  <tos>  <BindAddress..................>
   Identify:  <Identify/Endpoint.........................................................>
        Match:  <criteria.........................>
    Channel:  <ChannelId......................................>  <State.....>  <Time.....>
        Exten: <DialedExten...........>  CLCID: <ConnectedLineCID.......>
==========================================================================================
 Endpoint:  Movistar_endpoint                                    Unavailable   0 of inf
    OutAuth:  Movistar_auth/949xxxxxx@telefonica.net
        Aor:  Movistar_aor                                       2
      Contact:  Movistar_aor/sip:949xxxxxx@telefonica.net  9def89a196 Unavail         nan
  Transport:  transport-udp             udp      0      0  0.0.0.0:5060
   Identify:  Movistar_identify/Movistar_endpoint
        Match: 10.31.255.134/32
 ParameterName                      : ParameterValue
 ===================================================================================================
 100rel                             : yes
 accept_multiple_sdp_answers        : false
 accountcode                        : 
 acl                                : 
 aggregate_mwi                      : true
 allow                              : (ulaw|alaw|gsm|g729)
 allow_overlap                      : true
 allow_subscribe                    : true
 allow_transfer                     : true
 allow_unauthenticated_options      : false
 aors                               : Movistar_aor
 asymmetric_rtp_codec               : false
 auth                               : 
 bind_rtp_to_media_address          : false
 bundle                             : false
 call_group                         : 
 callerid                           : asreceived
 callerid_privacy                   : allowed_not_screened
 callerid_tag                       : 
 codec_prefs_incoming_answer        : prefer:pending, operation:intersect, keep:all, transcode:allow
 codec_prefs_incoming_offer         : prefer:pending, operation:intersect, keep:all, transcode:allow
[Jul 27 12:20:40] e[1;30m    -- e[0mRemote UNIX connection disconnected
 codec_prefs_outgoing_answer        : prefer:pending, operation:intersect, keep:all, transcode:allow
 codec_prefs_outgoing_offer         : prefer:pending, operation:union, keep:all, transcode:allow
 connected_line_method              : invite
 contact_acl                        : 
 context                            : external-calls
 cos_audio                          : 0
 cos_video                          : 0
 device_state_busy_at               : 0
 direct_media                       : true
 direct_media_glare_mitigation      : none
 direct_media_method                : invite
 disable_direct_media_on_nat        : false
 dtls_auto_generate_cert            : No
 dtls_ca_file                       : 
 dtls_ca_path                       : 
 dtls_cert_file                     : 
 dtls_cipher                        : 
 dtls_fingerprint                   : SHA-256
 dtls_private_key                   : 
 dtls_rekey                         : 0
 dtls_setup                         : active
 dtls_verify                        : No
 dtmf_mode                          : rfc4733
 fax_detect                         : false
 fax_detect_timeout                 : 0
 follow_early_media_fork            : true
 force_avp                          : false
 force_rport                        : true
 from_domain                        : telefonica.net
 from_user                          : 949xxxxxx
 g726_non_standard                  : false
 geoloc_incoming_call_profile       : 
 geoloc_outgoing_call_profile       : 
 ice_support                        : false
 identify_by                        : username,ip
 ignore_183_without_sdp             : false
 inband_progress                    : false
 incoming_call_offer_pref           : local
 incoming_mwi_mailbox               : 
 language                           : 
 mailboxes                          : 
 max_audio_streams                  : 1
 max_video_streams                  : 1
 media_address                      : 
 media_encryption                   : no
 media_encryption_optimistic        : false
 media_use_received_transport       : false
 message_context                    : 
 moh_passthrough                    : false
 moh_suggest                        : default
 mwi_from_user                      : 
 mwi_subscribe_replaces_unsolicited : no
 named_call_group                   : 
 named_pickup_group                 : 
 notify_early_inuse_ringing         : false
 one_touch_recording                : false
 outbound_auth                      : Movistar_auth
 outbound_proxy                     : 
 outgoing_call_offer_pref           : remote_merge
 overlap_context                    : 
 pickup_group                       : 
 preferred_codec_only               : false
 record_off_feature                 : automixmon
 record_on_feature                  : automixmon
 refer_blind_progress               : true
 rewrite_contact                    : false
 rpid_immediate                     : false
 rtcp_mux                           : false
 rtp_engine                         : asterisk
 rtp_ipv6                           : false
 rtp_keepalive                      : 0
 rtp_symmetric                      : false
 rtp_timeout                        : 0
 rtp_timeout_hold                   : 0
 sdp_owner                          : -
 sdp_session                        : Asterisk
 send_aoc                           : false
 send_connected_line                : yes
 send_diversion                     : true
 send_history_info                  : false
 send_pai                           : true
 send_rpid                          : true
 set_var                            : 
 srtp_tag_32                        : false
 stir_shaken                        : off
 stir_shaken_profile                : 
 sub_min_expiry                     : 0
 subscribe_context                  : 
 suppress_q850_reason_headers       : false
 t38_bind_udptl_to_media_address    : false
 t38_udptl                          : false
 t38_udptl_ec                       : none
 t38_udptl_ipv6                     : false
 t38_udptl_maxdatagram              : 0
 t38_udptl_nat                      : false
 timers                             : yes
 timers_min_se                      : 90
 timers_sess_expires                : 1800
 tone_zone                          : 
 tos_audio                          : 0
 tos_video                          : 0
 transport                          : transport-udp
 trust_connected_line               : yes
 trust_id_inbound                   : false
 trust_id_outbound                  : false
 use_avpf                           : false
 use_ptime                          : false
 user_eq_phone                      : false
 voicemail_extension                : 
 webrtc                             : no
Asterisk ending (0).

 

Comando utilizado para hacer las llamadas de prueba:

originate PJSIP/Movistar_endpoint/sip:686xxxxxx@telefonica.net:5070 application Playback tt-monkeys

 

¿Alguien puede ayudarme con esto? Gracias por adelantado.

Mensaje 1 de 4
754 Visitas
3 RESPUESTAS 3
sesardelaisla
Mi vida cambió con el ADSL

Me contesto yo mismo después de haberlo resuelto con la ayuda de la comunidad de Asterisk. Finalmente, tenía errores de concepto en el dialplan y en el comando con el que hacía la llamada al teléfono móvil externo. Por si a alguien le sirve de referencia, esta es la configuración final con la que he podido hacer una llamada de prueba. Queda limpiar y optimizar el contenido de los archivos, así como terminar de configurar la forma concreta de hacer la llamada de teléfono para que no sea el audio de los monos enfadados de Asterisk, pero al menos así dejo una configuración funcional desde la que se puede partir:

 

pjsip.conf

[general]
language=es
allowguest=no
autodomain=yes
domain=telefonica.net
sipdomain=telefonica.net

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0

[endpoint_internal](!)
type=endpoint
context=home
direct_media=no
allow=g729
allow=ulaw
allow=alaw
allow=gsm

[auth_userpass](!)
type=auth
auth_type=userpass

[aor_dynamic](!)
type=aor
max_contacts=2
remove_existing=yes

[100](endpoint_internal)
auth=100
aors=100
mwi_from_user=100

[100](auth_userpass)
username=100
password=[PASSWORD]
[100](aor_dynamic)

[101](endpoint_internal)
auth=101
aors=101
mwi_from_user=101

[101](auth_userpass)
username=101
password=[PASSWORD]
[101](aor_dynamic)

[endpoint]
100rel=yes

[Movistar_reg]
type=registration
transport=transport-udp
outbound_auth=Movistar_auth
server_uri=sip:10.31.255.134:5070
client_uri=sip:949xxxxxx@telefonica.net
contact_user=949xxxxxx
retry_interval=60
expiration=3600
support_path=yes

[Movistar_auth]
type=auth
auth_type=userpass
password=949xxxxxx
username=949xxxxxx@telefonica.net
realm=telefonica.net

[Movistar_aor]
type=aor
max_contacts=2
contact=sip:949xxxxxx@telefonica.net
qualify_frequency=60
qualify_timeout=30
support_path=yes
;send_rpid=yes
;send_pai=yes

[Movistar_endpoint]
type=endpoint
transport=transport-udp
context=external-calls
disallow=all
allow=ulaw
allow=alaw
allow=gsm
allow=g729
outbound_auth=Movistar_auth
outbound_proxy=sip:10.31.255.134:5070\;lr
aors=Movistar_aor
from_user=949xxxxxx
from_domain=telefonica.net
callerid=asreceived
send_pai=yes
rewrite_contact=no
send_pai=yes
send_rpid=yes

[Movistar_identify]
type=identify
endpoint=Movistar_endpoint
match=10.31.255.134

 

extensions.conf

[general]
static=yes
writeprotect=yes
autofallthrough=yes
extenpatternmatchnew=yes
clearglobalvars=yes

[external-calls]
exten => _[67]XXXXXXXX,1,NoOP(Llamadas a moviles)
same => n,Set(CALLERID(all)=949xxxxxx <949xxxxxx>)
same => n,NoOp(CALLERID(all))
;same => n,set(calltime=${STRFTIME(${EPOCH},,%C%y-%m-%d+%H:%M:%S)})
;same => n,MixMonitor(/var/lib/asterisk/recordings/inside/${calltime}.-.${CALLERID(num)}-${EXTEN}.wav,b)
same => n,DBdeltree(lastcallerout)
same => n,set(DB(lastcallerout/lastcallerout)=${EXTEN})
same => n,Dial(PJSIP/Movistar_endpoint/sip:${EXTEN}@telefonica.net:5070,60)
same => n,1,Hangup(21)


Comando para hacer la llamada de teléfono

originate Local/686xxxxxx@external-calls application Playback tt-monkeys


Espero que le sirva a alguien.

 

 

Mensaje 2 de 4
709 Visitas
Técnico-Movistar
Técnico Banda Ancha

Hola @sesardelaisla 

 

Te agradecemos que compartas con la Comunidad las pruebas realizadas y toda la información añadida por si alguien más en tu situación le pueda ayudar. Dejamos el hilo unos días más abierto por si tu mismo o algún otro usuario quiere realizar alguna aportación más o consulta al respecto.

 

Un saludo.

 

Nieves



Si necesitas soporte técnico en averías de Móvil, Fijo, Movistar+ o Internet Fijo (cobre o fibra), puedes acceder a nuestro apartado de Soporte Técnico o rellenar este formulario. También puedes contactar con nosotros llamando al 1002.

 Si necesitas contratar Fibra Ópticacomprobar tu cobertura Adsl y Fibrao ver información sobre la instalación de la fibra visita nuestra página ADSL y Fibra en movistar.es 

Solución aceptada.png
Mensaje 3 de 4
681 Visitas
Técnico-Movistar
Técnico Banda Ancha

Hola @sesardelaisla 

 

Como te indicamos agradecemos tú aportación y que hayas marcado la opción de Solución Aceptada. Por nuestra parte cerramos el hilo, pero queda disponible para su consulta para que cualquier usuario de la Comunidad pueda acceder a la información que has aportado.

 

Un saludo.

 

Fernando.



Si necesitas soporte técnico en averías de Móvil, Fijo, Movistar+ o Internet Fijo (cobre o fibra), puedes acceder a nuestro apartado de Soporte Técnico o rellenar este formulario. También puedes contactar con nosotros llamando al 1002.

 Si necesitas contratar Fibra Ópticacomprobar tu cobertura Adsl y Fibrao ver información sobre la instalación de la fibra visita nuestra página ADSL y Fibra en movistar.es 

Solución aceptada.png
Mensaje 4 de 4
656 Visitas