BandaAncha

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate
Fibra

Software SIP no registra con la configuración VoIP de Digi

aeri
1

He sacado todos los parámetros de la de Digi conexión gracias al tutorial de olivluca en GitHub, sin embargo no soy capaz de hacer funcionar ningún software SIP para poder enviar y recibir llamadas. El único software para escritorio que he encontrado que es capaz de cambiar el UserAgent es tSIP para Windows, que es OpenSource y muy completo. Quiero antes de comprar un ATA, probar antes en mi equipo para ver si los parámetros que he sacado funcionan correctamente.

Parece que el problema es en el paquete REGISTER de SIP ya que me devuelve un 404, pero no se que más puede ser:

Este es el paquete que envío:

REGISTER sip:ims.digimobil.es;transport=udp SIP/2.0 
Via: SIP/2.0/UDP 192.168.1.101:56783;branch=z9hG4bK41c526e67732678f;rport 
Contact: <sip:+3491xxxxxxx@192.168.1.101:56783>;expires=60 
Max-Forwards: 70 
Route: <sip:ims.digimobil.es;lr> 
To: <sip:+3491xxxxxxx@ims.digimobil.es> 
From: <sip:+3491xxxxxxx@ims.digimobil.es>;tag=34d8114a3a8f6b31 
Call-ID: 49dc6aaa78e0747d 
CSeq: 18984 REGISTER 
User-Agent: ZXHN H298A V1.0/V1.0.25_DIGI.1T12 
Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,REFER,NOTIFY,SUBSCRIBE,INFO 
Content-Length: 0

y este es el paquete que recibo de respuesta:

SIP/2.0 404 Not Found 
Via: SIP/2.0/UDP 192.168.1.101:56783;received=86.xxx.xxx.xxx;branch=z9hG4bK41c526e67732678f;rport=56783 
To: <sip:+3491xxxxxxx@ims.digimobil.es>;tag=aprqngfrt-295cvb200gig2 
From: <sip:+3491xxxxxxx@ims.digimobil.es>;tag=34d8114a3a8f6b31 
Call-ID: 49dc6aaa78e0747d 
CSeq: 18984 REGISTER 
Content-Length: 0

El UserAgent parece interpretarlo bien ya que si pongo uno incorrecto me devuelve error 406 (Not Acceptable). Que me devuelva un error 404 es como si algún valor no fuera correcto como el número de teléfono pero son los datos sacados del fichero que en el router ZTE sí que registra.

Para mi es es algún parámetro del REGISTER que no le mola al Asterisk de Digi.

¿Alguien sabe por dónde pueden ir los tiros? Si alguien tuviera una captura de la traza de registro con el router sería de gran utilidad para poder comparar.

BocaDePez

Creo que en otro hilo hay gente que asegura que funciona en un softphone, pero cuando preguntas cómo lo han conseguido no ayudan en nada y me hace pensar que no se quiere hacer público para que Digi no lo lea y vuelva a cambiar alguna cosa.

🗨️ 1
vukits

me hace pensar que no se quiere hacer público para que Digi no lo lea y vuelva a cambiar alguna cosa.

Eso es pan para hoy y hambre para mañana.

aeri

Gracias por la info, el problema es que los datos ya los he sacado pero no puedo utilizarlos porque el servidor de Digi no me los acepta.

BocaDePez
2

Ja, ja,ja…

Digi no tiene un asterisk sino un ims. XD

Necesitas una captura de un paquete original (Que funcione) para comparar. Pero a falta de el, me chirria el Via y el Contact con IP de rango privado. ¿puedes poner aqui la IP del interfaz de voz a ver si suena la flauta?

🗨️ 1
aeri

Ya imagino ya que no es un Aterisk, luego tendrán la implementación que sea, lo decía de coña. ¿A qué te refieres con poner la IP del interfaz de Voz? ¿A poner el dominio al que apunta ims.digimobil.es?

daveric

Amigo, cuentanos si lo has conseguido, que nos tienes con las carnes abiertas.

🗨️ 1
aeri

Si lo consigo lo primero que haré será publicarlo por aquí, te lo aseguro.

PezEnLaBoca

Esta es la traza desde el arranque de mi cliente sip. He oscurecido algunos datos pero se debería entender

>>>>>>
REGISTER sip:ims.digimobil.es SIP/2.0
Via: SIP/2.0/UDP 192.168.xxx.xxx;rport;branch=z9hG4bK2mya9BU138Ugr
Max-Forwards: 70
From: <sip:+34---------@ims.digimobil.es>;tag=g86NF7e5g2ZHr
To: <sip:+34---------@ims.digimobil.es>
Call-ID: 1c064281-1711-123a-e186-00264d6a49d3
CSeq: 34610356 REGISTER
Contact: *
Expires: 0
User-Agent: ZXHN H298A V1.0/V1.0.25_DIGI.1T12
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, INFO
Supported: timer, 100rel, path
Content-Length: 0
<<<<<<<
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.xxx.xxx:5060;received=xxx.xxx.xxx.xxx;branch=z9hG4bK2mya9BU138Ugr;rport=1033
From: <sip:+34---------@ims.digimobil.es>;tag=g86NF7e5g2ZHr
To: <sip:+34---------@ims.digimobil.es>;tag=aprqukcdmad8jajq4-qcu0dqa0g078b
Call-ID: 1c064281-1711-123a-e186-00264d6a49d3
CSeq: 34610356 REGISTER
Resource-Priority: 
Content-Length: 0

>>>>>
REGISTER sip:ims.digimobil.es SIP/2.0
Via: SIP/2.0/UDP 192.168.xxx.xxx;rport;branch=z9hG4bK19DcjjS3HNttj
Max-Forwards: 70
From: <sip:+34---------@ims.digimobil.es>;tag=v1934HrS64Bpe
To: <sip:+34---------@ims.digimobil.es>
Call-ID: 1de21ee6-1711-123a-e186-00264d6a49d3
CSeq: 34610358 REGISTER
Contact: <sip:digi@192.168.xxx.xxx>
User-Agent: ZXHN H298A V1.0/V1.0.25_DIGI.1T12
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, INFO
Supported: timer, 100rel, path
Content-Length: 0
<<<<<<
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.xxx.xxx:5060;received=xxx.xxx.xxx.xxx;branch=z9hG4bK19DcjjS3HNttj;rport=1033
From: <sip:+34---------@ims.digimobil.es>;tag=v1934HrS64Bpe
To: <sip:+34---------@ims.digimobil.es>;tag=aprqngfrt-kjbk0180g07cb
Call-ID: 1de21ee6-1711-123a-e186-00264d6a49d3
CSeq: 34610358 REGISTER
WWW-Authenticate: Digest realm="ims.digimobil.es", domain="*", nonce="xxxxxxxxxx", algorithm=MD5, qop="auth"
Content-Length: 0

>>>>>>
REGISTER sip:ims.digimobil.es SIP/2.0
Via: SIP/2.0/UDP 192.168.xxx.xxx;rport;branch=z9hG4bKZpXHUrF5Z9r4c
Max-Forwards: 70
From: <sip:+34---------@ims.digimobil.es>;tag=v1934HrS64Bpe
To: <sip:+34---------@ims.digimobil.es>
Call-ID: 1de21ee6-1711-123a-e186-00264d6a49d3
CSeq: 34610359 REGISTER
Contact: <sip:digi@xxx.xxx.xxx.xxx:1033;transport=udp>
User-Agent: ZXHN H298A V1.0/V1.0.25_DIGI.1T12
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, INFO
Supported: timer, 100rel, path
Authorization: Digest username="+34---------@ims.digimobil.es", realm="ims.digimobil.es", nonce="xxxxxxxxxx", cnonce="xxxxxxxxxxx", algorithm=MD5, uri="sip:ims.digimobil.es", response="xxxxxxxxxxx", qop=auth, nc=00000001
Content-Length: 0
<<<<<<
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.xxx.xxx:5060;received=xxx.xxx.xxx.xxx;branch=z9hG4bKZpXHUrF5Z9r4c;rport=1033
From: <sip:+34---------@ims.digimobil.es>;tag=v1934HrS64Bpe
To: <sip:+34---------@ims.digimobil.es>;tag=aprqukcdmad8jajq4-pnl3os90g07eb
Call-ID: 1de21ee6-1711-123a-e186-00264d6a49d3
CSeq: 34610359 REGISTER
Contact: <sip:digi@xxx.xxx.xxx.xxx:1033;transport=udp>;expires=3600;transport=udp
P-Associated-URI: <sip:+34---------@ims.digimobil.es>
P-Associated-URI: <tel:+34--------->
Service-Route: <sip:digi@10.30.5.69:5060;transport=udp;lr>
Content-Length: 0

>>>>>>>>
OPTIONS sip:+34---------@ims.digimobil.es SIP/2.0
v:SIP/2.0/UDP 192.168.xxx.xxx;rport;branch=z9hG4bKSvKaD7BcUaj7e
f:<sip:+34---------@ims.digimobil.es>;tag=v1934HrS64Bpe
t:<sip:+34---------@ims.digimobil.es>
i:Z8vLMehoB-3L8v28gIw9rK
CSeq:34610360 OPTIONS
Accept:application/vnd.nokia-register-usage
s:REGISTRATION PROBE
l:0
<<<<<<<<
SIP/2.0 200 OK
v: SIP/2.0/UDP 192.168.xxx.xxx:5060;received=xxx.xxx.xxx.xxx;branch=z9hG4bKSvKaD7BcUaj7e;rport=1033
f: <sip:+34---------@ims.digimobil.es>;tag=v1934HrS64Bpe
t: <sip:+34---------@ims.digimobil.es>;tag=aprqukcdm9da2qgq4-spicjtb0g07gb
i: Z8vLMehoB-3L8v28gIw9rK
CSeq: 34610360 OPTIONS
🗨️ 2
aeri

Gracias a tu traza estoy viendo estas diferencias:

  • El puerto de origen es 5060 en vez de uno aleatorio.
  • Al comienzo de la cabecera "REGISTER" veo que no se especifica el tipo de transporte, igual no es nencesario.
  • El parámetro Route que tengo en mi traza no debería de pasarlo ya que tu no lo tienes y podría confundir al IMS.
  • El tiempo de expiración lo especifica a 0 en el primer intento de registro pero luego no lo pasa, eso no entiendo por que.
  • También veo que tienes un HEADER "Supported" que igual debería de estar.

Por todo lo demás los veo prácticamente iguales así que tendrá que ser una de estas cuatro cosas.

También veo un comportamiento extraño en tu traza, no entiendo como al comienzo te devuelve un "200 OK" sin tu pasarle el header de autenticación. Se me hace muy raro. En las siguientes si que se observa algo normal y es que te devuelve "401" y luego le pasa el "Authentication" para recibir el registro correcto.

Seguiré investigando esto, gracias por la ayuda :)

🗨️ 1
PezEnLaBoca
1

El primer REGISTER en realidad es para deregistrar, por eso tiene el expire=0 y la respuesta es "200 OK" sin necesidad de autenticar.

El puerto no sé si es relevante, puede que sí, puede que no (el cliente del ZTE usa el 5060). Puedes probar, si se puede, a configurar tsip para que use el puerto 25 (edit. quería decir 5060). edit2: no es eso, he configurado el ZTE para que use el puerto 56783 y registra igualmente.

Quizás la mayor diferencia sea el campo "Route" (que tu cliente pone y el mío no) o, como tu dices, el "Supported".

Jplopez

Este post es ya algo antiguo, pero si a alguno le interesa, he conseguido hacer funcionar SIP en un Cisco SPA112 y también en un teléfono Android con la app CSIP. Tengo un router de los nuevos (Zyxel EX3301-T0).

🗨️ 2
aeri

Es interesante, ¿Cómo has extraído las credenciales SIP del router de Digi?

🗨️ 1
Jplopez
3

Pues resulta que el Zyxel tiene las mismas vulnerabilidades que otros modelos anteriores y se puede acceder a un "reverse shell" usando los scripts de Python de github.com/ThomasRinsma/vmg8825scripts. A partir de ahí se puede pedir que el router te desencripte él mismo la contraseña usando el truco que cuenta el propio Thomas en th0mas.nl/2020/03/26/getting-root-on-a-z…5-t50-router.

Si alguien se pone a ello, podría dar algún detalle más, porque la funcionalidad de "backup/restore" que usa ya no está disponible y hay que usarlo de otra manera que prefiero no contar aquí en abierto ;-)