LIBRE: Telefonia Con TV Cable

Alguien sabe por qué el softphone de telmex no funciona utilizando el internet de Telefonica-Telecom? sale el mensaje "Error de Registro: 400 - Invalid Contact"
 
Tengo un modem Huawei EchoLife HG520c de Telefonica y he abierto el puerto 5060 y no logro iniciar el softphone de Telmex, incluso agregué mi IP a la DMZ y sigo obteniendo el error "Error de Registro: 400 - Invalid Contact", al parecer Telefónica bloquea el trafico SIP.

Como puedo lograr iniciar el softphone desde la red de Telefonica?
 
Me parece importante revivir el tema.

Si han hecho jailbreak del iphone un monton de veces en casi todas las versiones del OS, el DVD fue decodificado, wikileaks infiltro a mas de un govierno, y anonymous ha sacado informacion de EEUU, como es posible que no se pueda utilizar otro softphone o asterisk para conectar al sip de telmex.

Como dato curioso y aporte al tema. Despues de lograr la autenticacion con exito con xlite, al intentar hacer una llamada sin exito veo esto en el wireshark

ACK sip:numeroquemarque@ippbx.net2phone.com SIP/2.0

Que tiene que ver aca net2phone?

Un saludo..
 
Me parece importante revivir el tema.

Si han hecho jailbreak del iphone un monton de veces en casi todas las versiones del OS, el DVD fue decodificado, wikileaks infiltro a mas de un govierno, y anonymous ha sacado informacion de EEUU, como es posible que no se pueda utilizar otro softphone o asterisk para conectar al sip de telmex.

Como dato curioso y aporte al tema. Despues de lograr la autenticacion con exito con xlite, al intentar hacer una llamada sin exito veo esto en el wireshark

ACK sip:numeroquemarque@ippbx.net2phone.com SIP/2.0

Que tiene que ver aca net2phone?

Un saludo..
Posiblemente en su X-Lite existan otras cuentas configuradas, y al hacer la llamada, ésta salió por una cuenta de Net2Phone.

Aprovecho para revivir el tema, ya que próximamente tendré que cacharrear un poco con Asterisk y las troncales de Telmex, entonces a ver si alguien ha hecho algún avance.
 
Al fin pude conseguir las credenciales sip

Ok, pude extraer las credenciales para conexión SIP. Como nadie aportó nada interesante a este foro desde sus inicios no voy a revelar el método, solo voy a darselo a las primeras 5 personas que me lo pidas. Voy a necesitar las credenciales que Telmex les entrega para obtener las credenciales SIP. A los interesados escribir a telmexsip[arroba]gmail.com

Si se puede! :)
 
Ok, pude extraer las credenciales para conexión SIP. Como nadie aportó nada interesante a este foro desde sus inicios no voy a revelar el método, solo voy a darselo a las primeras 5 personas que me lo pidas. Voy a necesitar las credenciales que Telmex les entrega para obtener las credenciales SIP. A los interesados escribir a telmexsip[arroba]gmail.com

Si se puede! :)
Deje de ser egoísta con el conocimiento hermano, que si Ud. sabe es por lo que leyó de otros.
 
Deje de ser egoísta con el conocimiento hermano, que si Ud. sabe es por lo que leyó de otros.

Ok, entonces espero que encuentres ese 'otro' del cual según tu lo leí. Saludos.
Escrito desde www.LANeros.mobi (Mozilla/5.0 (Linux; U; Android 2.2.2; en-us; Dell Streak Build/FRG83G) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1)
 
No, realmente no

Deje de ser egoísta con el conocimiento hermano, que si Ud. sabe es por lo que leyó de otros.

No realmente no leí de nadie!, me aburre la actitud de los comentarios de este foro (la mayoría son comentarios vacios y opiniones inútiles), además que no quiero implicaciones legales relacionadas con esto, a Telmex no le debe hacer mucha gracia que describa sus huecos de seguridad el cual taparlos le puede costar una cantidad de dinero considerable. Quiere sus credenciales SIP de Telmex? escríbame a telmexsip[arroba]gmail.com

Al primero que le entregué las credenciales decía que compró un MAC con O/S Lion, y no podía utilizar el softphone de Telmex, al parecer solo es compatible con 10.4 (Tiger?). Luego con las credenciales, descargó el softphone Zoiper para MAC y pudo tener su línea de Telmex en su PC, también me dijo que si es posible tenerla en un iPhone, esto es posible si y solo si existe un cliente sip el cual se le puedan configurar las credenciales.

Les cuento que sirve muy bien con el softphone para Linux Twinkle, pero aún no puedo hacerlo funcionar en un asterisk, no es tan simple como pensé. Saludos.
 
No realmente no leí de nadie!, me aburre la actitud de los comentarios de este foro (la mayoría son comentarios vacios y opiniones inútiles), además que no quiero implicaciones legales relacionadas con esto, a Telmex no le debe hacer mucha gracia que describa sus huecos de seguridad el cual taparlos le puede costar una cantidad de dinero considerable. Quiere sus credenciales SIP de Telmex? escríbame a telmexsip[arroba]gmail.com

Al primero que le entregué las credenciales decía que compró un MAC con O/S Lion, y no podía utilizar el softphone de Telmex, al parecer solo es compatible con 10.4 (Tiger?). Luego con las credenciales, descargó el softphone Zoiper para MAC y pudo tener su línea de Telmex en su PC, también me dijo que si es posible tenerla en un iPhone, esto es posible si y solo si existe un cliente sip el cual se le puedan configurar las credenciales.

Les cuento que sirve muy bien con el softphone para Linux Twinkle, pero aún no puedo hacerlo funcionar en un asterisk, no es tan simple como pensé. Saludos.
Hombre, se han revelado peores huecos de seguridad. El fallo en la visualización de PDF's que afecta a iOS, las vulnerabilidades escandalosas y realmente peligrosas en los sistemas Scada de Siemens, las suplantaciones en el sistema de autenticación que usa Lockheed Martin, todo eso si fue delicado, como para que te preocupés por un mecanismo para sacar unas credenciales que hasta el mismo Telmex se las da a uno (un cliente mío usa Asterisk autenticando por protocolo SIP, con las credenciales que el mismo Telmex le entregó).

Si el problema es el anonimato, pegue eso en Pastebin.
 
Ok, pude extraer las credenciales para conexión SIP. Como nadie aportó nada interesante a este foro desde sus inicios no voy a revelar el método, solo voy a darselo a las primeras 5 personas que me lo pidas. Voy a necesitar las credenciales que Telmex les entrega para obtener las credenciales SIP. A los interesados escribir a telmexsip[arroba]gmail.com

Si se puede! :)

No es por desconfianza pero así "trabajan" quienes dicen revelar claves de hotmail.

Si le envío mis credenciales (código de activación) me asegura que puede generar la parte privada del certificado? Mi interés es subir el servicio sobre un Dlink sip .

Hace poco hubo un cambio en la autenticación y sólo está funcionando la versión más reciente del softphone azul (para residenciales). Las corporativas si se pueden montar sobre Asterisk porque son troncales, pero sobre internet de telmex, y creo que los clientes sip eventualmente podrían funcionar sobre 3g de comcel.
 
Ahora sirve el asterisk

No es por desconfianza pero así "trabajan" quienes dicen revelar claves de hotmail.

Si le envío mis credenciales (código de activación) me asegura que puede generar la parte privada del certificado? Mi interés es subir el servicio sobre un Dlink sip .

Hace poco hubo un cambio en la autenticación y sólo está funcionando la versión más reciente del softphone azul (para residenciales). Las corporativas si se pueden montar sobre Asterisk porque son troncales, pero sobre internet de telmex, y creo que los clientes sip eventualmente podrían funcionar sobre 3g de comcel.

Claro entiendo la desconfianza de todos, pues mientras obtengo credibilidad, les cuento que he hecho un gran avance: Ya pude montar las credenciales en un asterisk!

Si me envías el código de activación te puedo regresar las credenciales SIP, no se si sobre un DLink SIP la cosa funcione por lo que voy a comentar más adelante.

La ventaja de mi método es que no es necesario que estés en la red de Telmex para que funcione, pues el SIP proxy es público.

La cosa fue bastante complicada, pues el servidor SIP de Telmex es EXTREMADAMENTE cuidadoso con los headers "To" y "From" el problema radica en que el asterisk envía el requerimiento register sin el campo username en los headers "To" y "From" es decir:

Normalmente asterisk envía:

<sip:0001814xxxx@190.144.159.138>

Pero el servidor de Telmex requiere:

"1814xxxx" <sip:0001814xxxx@190.144.159.138>

Entonces para solucionar esto fue necesario modificar el archivo chan_sip.c para la parte del registro, tal que enviara los campos como los requiere el servidor.

Luego de esto tuve más problemas, pues el "Invite" tambien requiere que sea identico al que se colocó en el paquete de registro, el problema esta vez fue que el asterisk coloca el hostname propio en el "From" header cosa que me parece normal, pero el servidor de Telmex responde siempre SIP/2.0 403 Forbidden, lo que toca hacer es modificar ese campo para que coloque el host remoto y no el local. Me tomó mas de una semana llegar a esta conclusión.

Así como están las cosas, montar las credenciales SIP de una línea residencial en un asterisk es un real camello. Pero con las modificaciones hechas al source code del asterisk funcionó al fin. Para los interesados es necesario aplicar un parche al archivo del source code del asterisk así (el parche solo está diseñado para asterisk 1.8.6):



--- chan_sip.c 2011-09-10 19:39:25.000000000 -0500
+++ chan_sip_new.c 2011-09-10 19:37:49.000000000 -0500
@@ -11595,10 +11595,18 @@
}

ourport = (p->fromdomainport) ? p->fromdomainport : ast_sockaddr_port(&p->ourip);
- if (!sip_standard_port(p->socket.type, ourport)) {
+ /*if (!sip_standard_port(p->socket.type, ourport)) {
snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s:%d>;tag=%s", n, l, d, ourport, p->tag);
} else {
snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s>;tag=%s", n, l, d, p->tag);
+ }*/
+
+ if (p->portinuri!=5060 && p->portinuri!=0) {
+ //snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s:%d>;tag=%s", n, l, d, ourport, p->tag);
+ snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s:%d>;tag=%s", n, l, p->tohost,p->portinuri, p->tag);
+ } else {
+ //snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s>;tag=%s", n, l, d, p->tag);
+ snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s>;tag=%s", n, l, p->tohost, p->tag);
}

if (!ast_strlen_zero(explicit_uri)) {
@@ -12839,11 +12847,18 @@
ast_debug(1, "Scheduled a registration timeout for %s id #%d \n", r->hostname, r->timeout);
}

- snprintf(from, sizeof(from), "<sip:%s@%s>;tag=%s", r->username, S_OR(r->regdomain, sip_sanitized_host(p->tohost)), p->tag);
+ /*snprintf(from, sizeof(from), "<sip:%s@%s>;tag=%s", r->username, S_OR(r->regdomain, sip_sanitized_host(p->tohost)), p->tag);
if (!ast_strlen_zero(p->theirtag)) {
snprintf(to, sizeof(to), "<sip:%s@%s>;tag=%s", r->username, S_OR(r->regdomain, sip_sanitized_host(p->tohost)), p->theirtag);
} else {
snprintf(to, sizeof(to), "<sip:%s@%s>", r->username, S_OR(r->regdomain, sip_sanitized_host(p->tohost)));
+ }*/
+
+ snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s>;tag=%s", r->authuser , r->username, S_OR(r->regdomain,p->tohost), p->tag);
+ if (!ast_strlen_zero(p->theirtag)) {
+ snprintf(to, sizeof(to), "\"%s\" <sip:%s@%s>;tag=%s", r->authuser, r->username, S_OR(r->regdomain,p->tohost), p->theirtag);
+ } else {
+ snprintf(to, sizeof(to), "\"%s\" <sip:%s@%s>", r->authuser, r->username, S_OR(r->regdomain,p->tohost));
}

/* Fromdomain is what we are registering to, regardless of actual





Para la línea de registro es algo como:

0001814xxxx@190.144.159.138:[sip password]:1814xxxx@190.144.159.138:5060/0001814xxxx~3600

El sip server domain es sip.cable.net.co
 
  • Me gusta
Reacciones: 2 personas
gekko777, mis respetos por ese post. Qué vaina que toque parchar el módulo SIP para que funcione. Tiene algún ejemplo de cómo quedaría el sip.conf ?, o bueno por lo menos la parte del "register =>" y el peer correspondiente

Después de leer ese post, hice el siguiente experimento:

1. Realicé un sniffing con Wirehark del proceso de login y registro del softphone Telmex. Efectivamente, primero hay tráfico HTTPS, luego negociación de llaves y certificados para una conexión TLSv1, y luego se da el tráfico de registro SIP.
2. Edité mi sip.conf para que la cuenta estuviera definida de la siguiente manera:

Código:
register => 0004580xxxx:password_credencial:0004580xxxx@sip-telmex-580xxxx

[sip-telmex-580xxxx]
type=friend
secret=password_credencial
defaultuser=0004580xxxx
host=190.144.159.138
transport=udp,tcp
nat=yes
qualify=yes
context=mainmenu
dtmfmode=rfc2833

3. Por un momento, pude ver los siguientes mensajes:
Código:
[Sep 11 01:54:07] NOTICE[9116]: chan_sip.c:20169 handle_response_peerpoke: Peer 'sip-telmex-580xxxx' is now Reachable. (50ms / 2000ms)

Y al ver el listado de peers SIP:
Código:
sip-telmex-580xxxx/000458  190.144.159.138                              N      5060     OK (50 ms)

Algo que me sorprende, ya que estoy usando el paquete sin parchar, original desde el repositorio de Digium para Debian, versión exacta: Asterisk 1.8.6.0~rc3-1digium0+1~squeeze

4. Sin embargo, poco después empecé a recibir los siguientes mensajes:

Código:
[Sep 11 01:54:17] NOTICE[9116]: chan_sip.c:12669 sip_reg_timeout:    -- Registration for '0004580xxxx@sip-telmex-580xxxx' timed out, trying again (Attempt #2)
[Sep 11 01:54:23] WARNING[9116]: chan_sip.c:3620 retrans_pkt: Retransmission timeout reached on transmission 5fcf216a65e335fa1f6d208504a18c8f@127.0.1.1 for seqno 102 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions

Y al revisar el listado de cuentas SIP registradas:

Código:
testing-ippbx*CLI> sip show registry
Host                                    dnsmgr Username       Refresh State                Reg.Time
sip-telmex-580xxxx:5060                 N      0004580xxxx        120 Request Sent
1 SIP registrations.

Y acá se queda, alguna idea de lo que me falte por hacer? Cabe anotar que aunque se puede ver el contenido de los paquetes SIP, en ningún lado está la contraseña. Lo que se ven son dos hashes: Uno "nonce" y un "response", ambos son MD5.
 
Me alegra que alguien esté colocando empeño!

Bueno, primero te digo que no te va a registrar, pues la credencial de Telmex que estás usando no es la credencial SIP, es la del servidor https que antes de enviar al sip consulta las credenciales. Funciona más o menos como:

Credenciales Telmex digamos:

A: 180xxxxx -> Username entregado por Telmex.
B: xxxxxxxx -> Password entregado por Telmex.

Ahora, creo que en el post anterior la embarré, el dominio https://sip.cable.net.co/ es donde se envía la primera petición para tener las credenciales sip, la respuesta hacia el softphone es algo como:

[DATA]
Success=1
[SETTINGS]
system:license:key=FU95HSQKSFUNY73B2TH4CZB9CWGD7JW2SRHJ4NUY-VD76F9QNKF5F5S6X6AG5XXXX
system:general:never_show_domain
system:auto_update:code_server_url=

[##MEMORY##]
ui:custom_login:bringup_dialog_on_startup=1
ui:custom_login:force_dialog_every_time=1
ui:custom_login:close_application_on_cancel=1
ui:context_menu:sip_account_settings=0
codecs:broadvoice32:enabled=0
codecs:dvi4:enabled=0
codecs:dvi4_wb:enabled=0
codecs:evrc:enabled=0
codecs:g711a:enabled=1
codecs:g711u:enabled=0
codecs:g722:enabled=0
codecs:g722_2_wb:enabled=0
codecs:g723:enabled=0
codecs:g726-32:enabled=0
codecs:g729:enabled=0
codecs:gsm:enabled=0
proxies:proxy0:enabled=1
proxies:proxy0:display_name=1814XXXX
proxies:proxy0:username=0001814XXXX
proxies:proxy0:authorization_username=1814XXXX
proxies:proxy0:password=[password SIP != a password telmex digamos Bsip]
proxies:proxy0:domain=190.144.159.138
proxies:proxy0:proxy=190.144.159.138
proxies:proxy0:eek:verride_outbound_proxy=1
proxies:proxy0:use_proxy_for_outbound_calls=1
proxies:proxy0:subscribe_to_message_waiting=0
proxies:proxy0:forward_busy_uri="sip:7505050@200.118.3.121:5060"
proxies:proxy0:forward_busy=1
proxies:proxy0:forward_no_answer_uri="sip:7505050@200.118.3.121:5060"
proxies:proxy0:forward_no_answer=1

Es decir que como inicialmente lo dije, ellos disfrazan las credenciales SIP en otras, para que no puedan ser usadas es cualquier dispositivo entonces funciona como:

softphone(A,B)--->https://sip.cable.net.co
https://sip.cable.net.co(A,Bsip,otros datos)--->Softphone
softphone(A,Bsip,otros datos)--->proxy0

Entonces empieza a funcionar :)

Respecto a tu pregunta sin parchar el asterisk si te va a registrar (por eso me tomó una semana averiguar porque las llamadas no salian). Pero las llamadas no te van a completar, es decir que siempre te va a devolver algo como 503, Forbidden.

Entonces, para responder tu pregunta es algo como:

register=0001814XXXX@190.144.159.138:[Bsip]:1814xxxx@190.144.159.138:5060/0001814xxxx~3600

El caracter antes de 3600 es la ondita encima de la ñ creo que esto me lo reescribe,
el 3600 es el expire time, si le colocas menos el servidor te responde interval too brief.

Para el sip.conf:

[Telmex(out)]
disallow=all
host=190.144.159.138
username=1814XXXX
secret=[Bsip]
type=friend
insecure=port,invite
allow=alaw
nat=yes
callerid=0001814XXXX <1814xxxx>
context=from-trunk-sip-Telmex(out)

De la línea callerid no estoy 100% seguro pues utilizo el freepbx para este tipo de configuraciones, que me hace la vida mucho más fácil ;) .
 
  • Me gusta
Reacciones: 2 personas
Ve que tan interesante!

Entonces el servidor sip.cable.net.co es como un aprovisionamiento vía HTTPS para el softphone de Counterpath?

Ahora viene la pregunta del millón: Cómo hiciste para averiguar el contenido de ese aprovisionamiento, sabiendo que viaja por HTTPS ó por TLS? O bueno, dame una pista por lo menos ;)
 
Asi es

Ve que tan interesante!

Entonces el servidor sip.cable.net.co es como un aprovisionamiento vía HTTPS para el softphone de Counterpath?

Ahora viene la pregunta del millón: Cómo hiciste para averiguar el contenido de ese aprovisionamiento, sabiendo que viaja por HTTPS ó por TLS? O bueno, dame una pista por lo menos ;)

Exacto, sip.cable.net.co es el servidor de aprovisionamiento, tus credenciales de Telmex proporcionan la configuración SIP de tu cuenta.

Pero no voy a revelar el método, me di cuenta que mi compañía es también vulnerable a este problema de seguridad, por ende no es prudente abrir esta caja de pandora, por lo menos por ahora. Si quieres tener tus credenciales SIP tendrás que darme tus credenciales Telmex. :( lo siento.
 
Felicitaciones a UTShark!

UTShark ya tiene sus credenciales SIP!

Con él ya son 2 personas que tienen las credenciales

UTShark, recuerda que esto no es para hacer cochinadas, seguramente si Telmex te pesca, no le va a hacer mucha gracias.

Intenta darle un buen uso, por ejemplo, lo que yo hice es tener mi PBX casero para poder hablar con mi familia y hacer algunas llamadas locales ;) pero por favor no intentes usarlo para negocio *************************** (vender minutos en forma indiscriminada).

Intenta primero usarlo en un softphone diferente al de Telmex (no uses asterisk, solo si parcheas el source code podrás hacerlo funcionar), recuerda que solo funciona con G711 alaw.

Para linux intenta con Twinkle.
Para Mac intenta con Zoiper.
Para Windows también Zoiper.

Si necesitas la configuración detallada, déjame saber.
 
Uthark ya tiene sus credenciales SIP!

Con él ya son 2 personas que tienen las credenciales

Uthark, recuerda que esto no es para hacer cochinadas, seguramente si Telmex te pesca, no le va a hacer mucha gracias.

Intenta darle un buen uso, por ejemplo, lo que yo hice es tener mi PBX casero para poder hablar con mi familia y hacer algunas llamadas locales ;) pero por favor no intentes usarlo para negocio *************************** (vender minutos en forma indiscriminada).

Intenta primero usarlo en un softphone diferente al de Telmex (no uses asterisk, solo si parcheas el source code podrás hacerlo funcionar), recuerda que solo funciona con G711 alaw.

Para linux intenta con Twinkle.
Para Mac intenta con Zoiper.
Para Windows también Zoiper.

Si necesitas la configuración detallada, déjame saber.
Hombre, todavía hay gente buena en este mundo :p

Me interesa ponerlo a funcionar en un Asterisk para usar la línea de Telmex como troncal del PBX de mi empresa. Ese es un buen uso pues!

Sin embargo, insisto: me gustaría aprender cómo sacaste las credenciales SIP. Me preocupa que el password cambie, o que compremos otra línea y su mercé no esté disponible.
 
mmmmm

Hombre, todavía hay gente buena en este mundo :p

Me interesa ponerlo a funcionar en un Asterisk para usar la línea de Telmex como troncal del PBX de mi empresa. Ese es un buen uso pues!

Sin embargo, insisto: me gustaría aprender cómo sacaste las credenciales SIP. Me preocupa que el password cambie, o que compremos otra línea y su mercé no esté disponible.


Tal vez en un futuro (después que parchee el problema de seguridad en mi compañía) publicaré el método. Por lo pronto solo yo daré esa enformación.
 
Tal vez en un futuro (después que parchee el problema de seguridad en mi compañía) publicaré el método. Por lo pronto solo yo daré esa enformación.
Hombre pues... opino que es un poco egoísta tu posición, además no creo que a alguien aquí le interese atacar a Gecko Networks, o si?

Pero bueno, es solo mi humilde opinión, gracias de todas maneras. =)