[OT] SPD sólo con "telephone-event/8000" en INVITE?

1,335 views
Skip to first unread message

Iñaki Baz Castillo

unread,
Jan 4, 2008, 6:39:53 AM1/4/08
to aster...@googlegroups.com
Hola, desde un proveedor SIP recibo un INVITE con un SDP tal que así:

------------------------------------------------
v=0
o=- 428274843 428274843 IN IP4 88.24.6.135
s=-
c=IN IP4 88.24.6.135
t=0 0
m=audio 42442 RTP/AVP 18 8 0 101
a=ptime:20
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
m=image 50292 udptl t38
a=T38FaxUdpEC:t38UDPRedundancy
------------------------------------------------

Es decir, no menciona ningún codec ("telephone-event" es para tema DTMF dentro
del RTP).

El caso es que Asterisk acepta el INVITE seleccionando G771A:

------------------------------------------------
v=0
o=root 31271 31271 IN IP4 85.94.0.115
s=session
c=IN IP4 85.94.0.115
t=0 0
m=audio 19290 RTP/AVP 8
a=rtpmap:8 PCMA/8000
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
------------------------------------------------

Lo normal entiendo que suele ser recibir algo en plan:

------------------------------------------------
m=audio 8802 RTP/AVP 98 97 8 0 3 101
a=rtpmap:98 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
------------------------------------------------

donde claramente se ven los codecs que se ofrecen en el INVITE.

El caso es que no me fío de la negociación SDP de Asterisk (he oído bugs al
respecto) y no sé si Asterisk acepta la llamada porque "se la come" y asume
G771A.

¿No es incorrecto/incompleto el SDP que me envía el proveedor?

Gracias.

--
Iñaki Baz Castillo
i...@in.ilimit.es

Julian J. M.

unread,
Jan 4, 2008, 7:15:30 AM1/4/08
to aster...@googlegroups.com
Parece una negociación en T38... Es un fax la llamada que estás recibiendo?

Julián J. M.

On Jan 4, 2008 11:39 AM, Iñaki Baz Castillo <i...@in.ilimit.es> wrote:
>
> Hola, desde un proveedor SIP recibo un INVITE con un SDP tal que así:
>
> ------------------------------------------------
> v=0
> o=- 428274843 428274843 IN IP4 88.24.6.135
> s=-
> c=IN IP4 88.24.6.135
> t=0 0
> m=audio 42442 RTP/AVP 18 8 0 101
> a=ptime:20
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-15
> m=image 50292 udptl t38
> a=T38FaxUdpEC:t38UDPRedundancy
> ------------------------------------------------

--
http://www.julianmenendez.es

Iñaki Baz Castillo

unread,
Jan 4, 2008, 7:21:21 AM1/4/08
to aster...@googlegroups.com
On Friday 04 January 2008 13:15:30 Julian J. M. wrote:
> Parece una negociación en T38... Es un fax la llamada que estás recibiendo?


Qué va, es un INVITE desde un teléfono. Es más, ese INVITE ha llegado a
Asterisk que ha aceptado la llamada (indicando g711a en el SDP del 200 OK) y
posteriormente el dialplan de Asterisk ha llamado a un usuario SIP interno
(todo con "canreinvite=no") y hemos estado hablando ¿?¿?


> On Jan 4, 2008 11:39 AM, Iñaki Baz Castillo <i...@in.ilimit.es> wrote:
> > Hola, desde un proveedor SIP recibo un INVITE con un SDP tal que así:
> >
> > ------------------------------------------------
> > v=0
> > o=- 428274843 428274843 IN IP4 88.24.6.135
> > s=-
> > c=IN IP4 88.24.6.135
> > t=0 0
> > m=audio 42442 RTP/AVP 18 8 0 101
> > a=ptime:20
> > a=rtpmap:101 telephone-event/8000
> > a=fmtp:101 0-15
> > m=image 50292 udptl t38
> > a=T38FaxUdpEC:t38UDPRedundancy
> > ------------------------------------------------

--
Iñaki Baz Castillo
i...@in.ilimit.es

JesusR

unread,
Jan 4, 2008, 7:24:25 AM1/4/08
to asterisk-es
Hola Iñaki,


On Jan 4, 1:21 pm, Iñaki Baz Castillo <i...@in.ilimit.es> wrote:
> On Friday 04 January 2008 13:15:30 Julian J. M. wrote:
>
> > Parece una negociación en T38... Es un fax la llamada que estás recibiendo?
>
> Qué va, es un INVITE desde un teléfono. Es más, ese INVITE ha llegado a
> Asterisk que ha aceptado la llamada (indicando g711a en el SDP del 200 OK) y
> posteriormente el dialplan de Asterisk ha llamado a un usuario SIP interno
> (todo con "canreinvite=no") y hemos estado hablando ¿?¿?

¿Te has fijado si el ACK del 200OK tiene SDP?. Es perfectamente válido
negociar los codecs en el 200OK y ACK, sin que haya SDP en el
INVITE... pero que haya un SDP a medias no lo había probado :)

Saludos
JesusR.

Iñaki Baz Castillo

unread,
Jan 4, 2008, 7:40:31 AM1/4/08
to aster...@googlegroups.com

Sí, ya lo había pensado pero qué va, nada. Este es el ACK que me envía el
proveedor:

* INVITE desde el proveedor:

------------------------------------------------
v=0
o=- 428274843 428274843 IN IP4 88.24.6.135
s=-
c=IN IP4 88.24.6.135
t=0 0
m=audio 42442 RTP/AVP 18 8 0 101
a=ptime:20
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
m=image 50292 udptl t38
a=T38FaxUdpEC:t38UDPRedundancy
------------------------------------------------


* 200 OK de Asterisk:

------------------------------------------------
v=0
o=root 31271 31271 IN IP4 85.94.0.115
s=session
c=IN IP4 85.94.0.115
t=0 0
m=audio 19290 RTP/AVP 8
a=rtpmap:8 PCMA/8000
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
------------------------------------------------


* ACK desde el proveedor:

-------------------------------------------------
ACK sip:XXXXXXXXX@XXXXX SIP/2.0
From: <sip:XXXXXXX@XXXXX:5060>;tag=13c4-477e103b-a08f5ef0-7e8af979
To: <sip:XXXXXXXXX@XXXXXXXX:5060>;tag=as36025379
Call-ID: 7e2ff81c90000e3e13c4477xe103ba08f5eef6a8d5ee89da57e0-0228-5720
CSeq: 1 ACK
User-agent: CS2000_NGSS/8.0
Max-Forwards: 70
Supported: 100rel
Allow: ACK,BYE,CANCEL,INVITE,OPTIONS,INFO,SUBSCRIBE,REFER,NOTIFY,PRACK,UPDATE
Via: SIP/2.0/UDP
XXXXXX:5060;maddr=XXXXXXXXX;branch=z9hG4bK-477e1049-a08f95a5-551e93cf
Contact: <sip:XXXXXXXXXXXXX:5060>
Content-Length: 0
-------------------------------------------------

¿?¿?¿

paco gil

unread,
Jan 4, 2008, 8:11:59 AM1/4/08
to aster...@googlegroups.com
no será voicetrading por casualidad? :)

Iñaki Baz Castillo

unread,
Jan 4, 2008, 8:14:19 AM1/4/08
to aster...@googlegroups.com
On Friday 04 January 2008 14:11:59 paco gil wrote:
> no será voicetrading por casualidad? :)

No ;)

Voicetrading sólo para enviar (a veces funciona XDDDD).

TelecoSilvia

unread,
Jan 4, 2008, 1:46:36 PM1/4/08
to asterisk-es
Has probado en forzarle a asterisk otro codec. No se pero puede que al
no indicarle el codec del proveedor, elija el primero que tiene g711a
y se lo envie al proveedor que para suerte tuya se lo come.

paco gil

unread,
Jan 4, 2008, 1:53:16 PM1/4/08
to aster...@googlegroups.com
te lo digo porque voicetrading, hace unas cositas mu raras con la señalización durante la negociación de la sesión... al menos eso vimos julian y yo una vez que hicimos pruebas!!!!

Julian J. M.

unread,
Jan 4, 2008, 3:17:21 PM1/4/08
to aster...@googlegroups.com
On Jan 4, 2008 12:40 PM, Iñaki Baz Castillo <i...@in.ilimit.es> wrote:
> * INVITE desde el proveedor:
>
> ------------------------------------------------
> v=0
> o=- 428274843 428274843 IN IP4 88.24.6.135
> s=-
> c=IN IP4 88.24.6.135
> t=0 0
> m=audio 42442 RTP/AVP 18 8 0 101
> a=ptime:20
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-15
> m=image 50292 udptl t38
> a=T38FaxUdpEC:t38UDPRedundancy
> ------------------------------------------------

El proxy te está ofreciendo G729 (18), alaw (8) y ulaw (0).. además de
DTMF out-of-band (rfc2833) (101). El único problema es que no tiene un
rtpmap para explicar lo que significa cada código.

Debe haber algún RFC con los códigos estándar para los codecs más
utilizados. Lo siguiente está sacado de asterisk/main/rtp.c. Fijate en
las posiciones 0,8 y 18 del array:

/* Static (i.e., well-known) RTP payload types for our "AST_FORMAT..."s:
also, our own choices for dynamic payload types. This is our master
table for transmission */
static struct rtpPayloadType static_RTP_PT[MAX_RTP_PT] = {
[0] = {1, AST_FORMAT_ULAW},
#ifdef USE_DEPRECATED_G726
[2] = {1, AST_FORMAT_G726}, /* Technically this is G.721, but
if Cisco can do it, so can we... */
#endif
[3] = {1, AST_FORMAT_GSM},
[4] = {1, AST_FORMAT_G723_1},
[5] = {1, AST_FORMAT_ADPCM}, /* 8 kHz */
[6] = {1, AST_FORMAT_ADPCM}, /* 16 kHz */
[7] = {1, AST_FORMAT_LPC10},
[8] = {1, AST_FORMAT_ALAW},
[9] = {1, AST_FORMAT_G722},
[10] = {1, AST_FORMAT_SLINEAR}, /* 2 channels */
[11] = {1, AST_FORMAT_SLINEAR}, /* 1 channel */
[13] = {0, AST_RTP_CN},
[16] = {1, AST_FORMAT_ADPCM}, /* 11.025 kHz */
[17] = {1, AST_FORMAT_ADPCM}, /* 22.050 kHz */
[18] = {1, AST_FORMAT_G729A},
[19] = {0, AST_RTP_CN}, /* Also used for CN */
[26] = {1, AST_FORMAT_JPEG},
[31] = {1, AST_FORMAT_H261},
[34] = {1, AST_FORMAT_H263},
[103] = {1, AST_FORMAT_H263_PLUS},
[97] = {1, AST_FORMAT_ILBC},
[99] = {1, AST_FORMAT_H264},
[101] = {0, AST_RTP_DTMF},
[110] = {1, AST_FORMAT_SPEEX},
[111] = {1, AST_FORMAT_G726},
[112] = {1, AST_FORMAT_G726_AAL2},
[121] = {0, AST_RTP_CISCO_DTMF}, /* Must be type 121 */
};


Saludos
Julián J. M.

--
http://www.julianmenendez.es

Alberto Sagredo

unread,
Jan 4, 2008, 11:28:22 PM1/4/08
to aster...@googlegroups.com
Esa Nortel :)

El día 4/01/08, Iñaki Baz Castillo <i...@in.ilimit.es> escribió:

Alberto Sagredo

unread,
Jan 4, 2008, 11:32:36 PM1/4/08
to aster...@googlegroups.com
Por lo que parece la implementación de SIP de los NGN de Nortel es un poco particular.

" The SDP from the Nortel looks a little bit unusual, but not wrong."

Saludos

El día 4/01/08, Iñaki Baz Castillo <i...@in.ilimit.es> escribió:

Alberto Sagredo

unread,
Jan 4, 2008, 11:35:33 PM1/4/08
to aster...@googlegroups.com
Esto quizá te termine de aclarar iñaki :)


Saludos y buenas noches

El día 5/01/08, Alberto Sagredo < albe...@gmail.com> escribió:

JesusR

unread,
Jan 6, 2008, 5:41:10 PM1/6/08
to asterisk-es
Hola,


On Jan 4, 9:17 pm, "Julian J. M." <julia...@gmail.com> wrote:
> On Jan 4, 2008 12:40 PM, Iñaki Baz Castillo <i...@in.ilimit.es> wrote:
>
> > * INVITE desde el proveedor:
>
> > ------------------------------------------------
> > v=0
> > o=- 428274843 428274843 IN IP4 88.24.6.135
> > s=-
> > c=IN IP4 88.24.6.135
> > t=0 0
> > m=audio 42442 RTP/AVP 18 8 0 101
> > a=ptime:20
> > a=rtpmap:101 telephone-event/8000
> > a=fmtp:101 0-15
> > m=image 50292 udptl t38
> > a=T38FaxUdpEC:t38UDPRedundancy
> > ------------------------------------------------
>
> El proxy te está ofreciendo G729 (18), alaw (8) y ulaw (0).. además de
> DTMF out-of-band (rfc2833) (101). El único problema es que no tiene un
> rtpmap para explicar lo que significa cada código.


Cierto, Julián tiene toda la razón... los codecs SI se ofrecen en el
INVITE. Esto me pasa por no leer con más atención :-/

Saludos
JesusR.

Iñaki Baz Castillo

unread,
Jan 7, 2008, 3:24:29 AM1/7/08
to aster...@googlegroups.com
On Friday 04 January 2008 19:46:36 TelecoSilvia wrote:
> Has probado en forzarle a asterisk otro codec. No se pero puede que al
> no indicarle el codec del proveedor, elija el primero que tiene g711a
> y se lo envie al proveedor que para suerte tuya se lo come.

Lo probaré, gracias :)

Iñaki Baz Castillo

unread,
Jan 7, 2008, 3:24:47 AM1/7/08
to aster...@googlegroups.com
On Friday 04 January 2008 19:53:16 paco gil wrote:
> te lo digo porque voicetrading, hace unas cositas mu raras con la
> señalización durante la negociación de la sesión...

¿Sólo durante la negociación? XDD

Iñaki Baz Castillo

unread,
Jan 7, 2008, 3:29:58 AM1/7/08
to aster...@googlegroups.com
On Friday 04 January 2008 21:17:21 Julian J. M. wrote:
> On Jan 4, 2008 12:40 PM, Iñaki Baz Castillo <i...@in.ilimit.es> wrote:
> > * INVITE desde el proveedor:
> >
> > ------------------------------------------------
> > v=0
> > o=- 428274843 428274843 IN IP4 88.24.6.135
> > s=-
> > c=IN IP4 88.24.6.135
> > t=0 0
> > m=audio 42442 RTP/AVP 18 8 0 101
> > a=ptime:20
> > a=rtpmap:101 telephone-event/8000
> > a=fmtp:101 0-15
> > m=image 50292 udptl t38
> > a=T38FaxUdpEC:t38UDPRedundancy
> > ------------------------------------------------
>
> El proxy te está ofreciendo G729 (18), alaw (8) y ulaw (0).. además de
> DTMF out-of-band (rfc2833) (101). El único problema es que no tiene un
> rtpmap para explicar lo que significa cada código.


> Debe haber algún RFC con los códigos estándar para los codecs más
> utilizados. Lo siguiente está sacado de asterisk/main/rtp.c. Fijate en
> las posiciones 0,8 y 18 del array:


Vaya, y yo que me iba a leer el "RFC 4566 - SDP", pues ya no me hace falta
XDDD

Gracias Julián, la voz-ip no existiría sin ti.

Iñaki Baz Castillo

unread,
Jan 7, 2008, 3:30:13 AM1/7/08
to aster...@googlegroups.com
On Saturday 05 January 2008 05:35:33 Alberto Sagredo wrote:
> Esto quizá te termine de aclarar iñaki :)
> http://sipforum.org/pipermail/discussion/2007-August/002976.html

Completamente, gracias ;)

TelecoSilvia

unread,
Jan 7, 2008, 3:38:12 AM1/7/08
to asterisk-es
A ver Iñaki, que pretendes, ganar a Saul y aparecer en las
estadísticas...

Iñaki Baz Castillo

unread,
Jan 7, 2008, 3:43:52 AM1/7/08
to aster...@googlegroups.com
On Monday 07 January 2008 09:38:12 TelecoSilvia wrote:
> A ver Iñaki, que pretendes, ganar a Saul y aparecer en las
> estadísticas...

Eso es imposible, ni siquiera Elio puede. XD

Reply all
Reply to author
Forward
0 new messages