Hello,
apparently xlite uses "SPEEX" as the payload name, where RFC 5574 says
it should be "speex", see http://tools.ietf.org/html/rfc5574#section-5.
The SDP RFC says (http://tools.ietf.org/html/rfc4566#section-5):
" In
general, <value> is either a number of fields delimited by a single
space character or a free format string, and is case-significant
unless a specific field defines otherwise."
and for the a:rtpmap attribute nothing is said about case-insensitivity.
In the offer answer RFC (rfc3264) there are many 'case's appearing, but
nothing about case sensitivity...
Nevertheless, SEMS should probably not be so picky about it and treat
the codec identifier as case insensitive. The place to look at in the
source is AmPlugIn::getDynPayload in AmPlugIn.cpp:388, if you want to
have a try on that.
Stefan
o Dubravko Caric [10/06/09 16:03]:
I forgot to put the list in the reply... ;)
/dubravko
----- Forwarded Message ----
From: Dubravko Caric <[email protected]>
To: Stefan Sayer <[email protected]>
Sent: Tuesday, October 6, 2009 3:54:04 PM
Subject: Re: [Sems] SEMS 1.1.1 and speex
Hi Stefan,
I'm sending you wireshark output and SEMS with debug, as you can see speex is
loaded. when speex is the only codec loaded in eyebeam I get 488 error from
SEMS (scenario 1). when I also enable iLBC in eyebeam, audio is established
(but with iLBC) and in OK response from SEMS I don't see speex (scenario 2).
Thanks a lot
Best regards
/dubravko
1. Scenario => eyebeam and SEMS just with speex
1.1 eyebeam (INVITE with SDP)
v=0
o=- 8 2 IN IP4 x.y.z.x
s=CounterPath eyeBeam 1.5
c=IN IP4 x.y.z.x
t=0 0
m=audio 42594 RTP/AVP 97 101
a=fmtp:101 0-15
a=rtpmap:97 SPEEX/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv
a=x-rtp-session-id:A9A36D2F31054DA4BE0606ECC1FF6E9B
1.2 SEMS response just with speex:
SIP/2.0 488 could not find compatible payload
2. Scenario => eyebeam and SEMS with speex nad iLBC
2.1 eyebeam (INVITE with SDP):
v=0
o=- 8 2 IN IP4 x.y.z.x
s=CounterPath eyeBeam 1.5
c=IN IP4 x.y.z.x
t=0 0
m=audio 61640 RTP/AVP 97 98 3 101
a=fmtp:101 0-15
a=rtpmap:97 SPEEX/8000
a=rtpmap:98 iLBC/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv
a=x-rtp-session-id:A302ECE16B3F4124A62DA953375E9699
2.2 SEMS (OK response with SDP):
v=0
o=sems 906684421 1597527789 IN IP4 a.b.c.d
s=session
c=IN IP4 IP4 a.b.c.d
t=0 0
m=audio 26000 RTP/AVP 98 101
a=rtpmap:98 iLBC/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
3. speex and iLBC codecs are loaded
(23702) DEBUG: [b7cca6c0] main (sems.cpp:399): Loading plug-ins
(23702) DEBUG: [b7cca6c0] init (AmPlugIn.cpp:131): adding built-in codecs...
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 0 inserted
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 6 inserted
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:692): payload
'telephone-event' inserted with id 96 and order 196
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:151): AmPlugIn: loading modules in
directory '/usr/lib/sems/plug-in/':
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:168): skipping excluded plugin
binrpcctrl.so
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//dsm.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application 'dsm'
loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//early_announce.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'early_announce' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//cc_acc.so ...
(23702) DEBUG: [b7cca6c0] loadDiPlugIn (AmPlugIn.cpp:569): component 'cc_acc'
loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//gsm.so ...
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 3 inserted
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:661): Not enabling excluded
payload 'GSM'
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//sw_prepaid_sip.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'sw_prepaid_sip' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//registrar_client.so ...
(23702) DEBUG: [b7cca6c0] plugin_class_create (SIPRegistrarClient.cpp:48):
Hallo, alles in ordnung!
(23702) DEBUG: [b7cca6c0] loadDiPlugIn (AmPlugIn.cpp:569): component
'registrar_client' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//session_timer.so ...
(23702) DEBUG: [b7cca6c0] loadSehPlugIn (AmPlugIn.cpp:541): session component
'session_timer' loaded.
(23702) DEBUG: [b7cca6c0] loadDiPlugIn (AmPlugIn.cpp:569): component
'user_timer' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//callback.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'callback' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//l16.so ...
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 12 inserted
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:661): Not enabling excluded
payload 'L16'
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//stats.so ...
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//reg_agent.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'reg_agent' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:168): skipping excluded plugin
precoded_announce.so
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//uac_auth.so ...
(23702) DEBUG: [b7cca6c0] loadSehPlugIn (AmPlugIn.cpp:541): session component
'uac_auth' loaded.
(23702) DEBUG: [b7cca6c0] loadDiPlugIn (AmPlugIn.cpp:569): component 'uac_auth'
loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//conference.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'conference' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//sipctrl.so ...
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//announcement.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'announcement' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//mp3.so ...
(23702) DEBUG: [b7cca6c0] MP3_ModuleLoad (mp3.c:100): MP3 module loaded.
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 5 inserted
(23702) DEBUG: [b7cca6c0] addFileFormat (AmPlugIn.cpp:730): file format MP3
inserted
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//wav.so ...
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 1 inserted
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 2 inserted
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:661): Not enabling excluded
payload 'PCMU'
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:661): Not enabling excluded
payload 'PCMA'
(23702) DEBUG: [b7cca6c0] addFileFormat (AmPlugIn.cpp:730): file format Wav
inserted
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//adpcm.so ...
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 8 inserted
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 9 inserted
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 10 inserted
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 11 inserted
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:661): Not enabling excluded
payload 'G726-32'
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:661): Not enabling excluded
payload 'G721'
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:661): Not enabling excluded
payload 'G726-24'
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:661): Not enabling excluded
payload 'G726-40'
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:661): Not enabling excluded
payload 'G726-16'
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//msg_storage.so ...
(23702) DEBUG: [b7cca6c0] loadDiPlugIn (AmPlugIn.cpp:569): component
'msg_storage' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:168): skipping excluded plugin
unixsockctrl.so
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//auth_b2b.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'auth_b2b' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//call_timer.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'call_timer' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//webconference.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'webconference' loaded.
(23702) DEBUG: [b7cca6c0] loadDiPlugIn (AmPlugIn.cpp:569): component
'webconference' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//click2dial.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'click2dial' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//annrecorder.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'annrecorder' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//ann_b2b.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'ann_b2b' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//speex.so ...
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 7 inserted
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:696): payload 'speex'
inserted with id 97 and order 0
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//ilbc.so ...
(23702) DEBUG: [b7cca6c0] addCodec (AmPlugIn.cpp:652): codec id 4 inserted
(23702) DEBUG: [b7cca6c0] addPayload (AmPlugIn.cpp:696): payload 'iLBC'
inserted with id 98 and order 1
(23702) DEBUG: [b7cca6c0] addFileFormat (AmPlugIn.cpp:730): file format iLBC
inserted
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//diameter_client.so ...
(23702) DEBUG: [b7cca6c0] loadDiPlugIn (AmPlugIn.cpp:569): component
'diameter_client' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//voicemail.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'voicemail' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//echo.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application 'echo'
loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//announce_transfer.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'announce_transfer' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:174): loading
/usr/lib/sems/plug-in//voicebox.so ...
(23702) DEBUG: [b7cca6c0] loadAppPlugIn (AmPlugIn.cpp:519): application
'voicebox' loaded.
(23702) DEBUG: [b7cca6c0] load (AmPlugIn.cpp:201): AmPlugIn: modules loaded.
----- Original Message ----
From: Stefan Sayer <[email protected]>
To: Dubravko Caric <[email protected]>
Cc: [email protected]
Sent: Tuesday, October 6, 2009 1:22:17 PM
Subject: Re: [Sems] SEMS 1.1.1 and speex
Hi,
o Dubravko Caric [10/05/09 20:10]:
Hi all,
I'm trying to use SEMS's voicemail application and XLite just with speex codec.
I see that SEMS doesn't advertise speex rtpmap in SDP although I have enabled
it in sems.conf. I have read that speex isn't supported in versions newer than
0.9.6 but I wolud like to get confirmation on that for version 1.1.1.
speex (narrowband) is supported in sems 1.1.1. Make sure that you have loaded
the speex module; if you start sems with debug loglevel loglevel=3 (or -D 3),
you should see the speex codec to be registered on startup.
If the caller of an incoming call does not have speex in the SDP offer, SEMS
does not add that to the answer; SEMS only answers with the subset of supported
codecs from the offer. Are you sure that speex codec is in the offer? If yes,
could you maybe post an ngrep of the offer and the answer?
Stefan
-- Stefan Sayer
VoIP Services
[email protected]
www.iptego.com
IPTEGO GmbH
Wittenbergplatz 1
10789 Berlin
Germany
Amtsgericht Charlottenburg, HRB 101010
Geschaeftsfuehrer: Alexander Hoffmann
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems
--
Stefan Sayer
VoIP Services
[email protected]
www.iptego.com
IPTEGO GmbH
Wittenbergplatz 1
10789 Berlin
Germany
Amtsgericht Charlottenburg, HRB 101010
Geschaeftsfuehrer: Alexander Hoffmann
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems