Quantcast

codec_delete_except_re() has no effect

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

codec_delete_except_re() has no effect

Jeff Pyle-4
Hello,

This is on OpenSIPS 2.3, downloaded from git and compiled today.

An INVITE arrives over TLS with the following SDP:

v=0
o=- 1492528621 1492528621 IN IP4 172.22.202.191
s=Polycom IP Phone
c=IN IP4 172.22.202.191
t=0 0
m=audio 16852 RTP/SAVP 115 9 0 8 110 18 127
a=rtpmap:115 G7221/32000
a=fmtp:115 bitrate=48000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 iLBC/8000
a=fmtp:110 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:127 telephone-event/8000
a=rtcp:16853
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:[stripped]
a=setup:actpass
a=fingerprint:sha-1 [stripped]
m=audio 16888 RTP/AVP 115 9 0 8 110 18 127
a=rtpmap:115 G7221/32000
a=fmtp:115 bitrate=48000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 iLBC/8000
a=fmtp:110 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:127 telephone-event/8000
a=rtcp:16889

I run 
  codec_delete_expect_re(PCMU|PCMA|telephone-event)
but it doesn't have any effect.  The INVITE leaving after t_relay() over UDP to localhost on a different port is the same as when it came in (with the exception of the c= line because of rtpengine).

At log_level=6 the only log entry I see is
  DBG:sipmsgops:create_codec_lumps: creating 0 streams

I'm not sure where to go from here.


- Jeff


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: codec_delete_except_re() has no effect

Razvan Crainea-3
Hi, Jeff!

Unfortunately you can't use both rtpengine and codec_delete_*, that's because each change different buffers. The codec_delete_* function runs on the initial SDP received, then rtpengine completely overwrites the SDP with whatever rtpengine replied.
The only way you can do something like this (although it may be very ugly) is to store the rtpengine reply in a pvar using the 3rd[1] parameter of the rtpengine_* functions and perform some text replaces[2] on it, then replace the body "manually".

[1] http://www.opensips.org/html/docs/modules/2.3.x/rtpengine.html#rtpengine.f.rtpengine_offer
[2] http://www.opensips.org/html/docs/modules/2.3.x/textops#idp5907728

Best regards,
Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com
On 04/18/2017 06:49 PM, Jeff Pyle wrote:
Hello,

This is on OpenSIPS 2.3, downloaded from git and compiled today.

An INVITE arrives over TLS with the following SDP:

v=0
o=- 1492528621 1492528621 IN IP4 172.22.202.191
s=Polycom IP Phone
c=IN IP4 172.22.202.191
t=0 0
m=audio 16852 RTP/SAVP 115 9 0 8 110 18 127
a=rtpmap:115 G7221/32000
a=fmtp:115 bitrate=48000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 iLBC/8000
a=fmtp:110 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:127 telephone-event/8000
a=rtcp:16853
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:[stripped]
a=setup:actpass
a=fingerprint:sha-1 [stripped]
m=audio 16888 RTP/AVP 115 9 0 8 110 18 127
a=rtpmap:115 G7221/32000
a=fmtp:115 bitrate=48000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 iLBC/8000
a=fmtp:110 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:127 telephone-event/8000
a=rtcp:16889

I run 
  codec_delete_expect_re(PCMU|PCMA|telephone-event)
but it doesn't have any effect.  The INVITE leaving after t_relay() over UDP to localhost on a different port is the same as when it came in (with the exception of the c= line because of rtpengine).

At log_level=6 the only log entry I see is
  DBG:sipmsgops:create_codec_lumps: creating 0 streams

I'm not sure where to go from here.


- Jeff



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: codec_delete_except_re() has no effect

Dragomir Haralambiev
Hi Razvan,

How to make follow connection using rtpengine?

Zoiper(g729) <-----> Opensips(rtpengine) <--------> browser (SIP.JS with g711) 

2017-04-18 19:10 GMT+03:00 Răzvan Crainea <[hidden email]>:
Hi, Jeff!

Unfortunately you can't use both rtpengine and codec_delete_*, that's because each change different buffers. The codec_delete_* function runs on the initial SDP received, then rtpengine completely overwrites the SDP with whatever rtpengine replied.
The only way you can do something like this (although it may be very ugly) is to store the rtpengine reply in a pvar using the 3rd[1] parameter of the rtpengine_* functions and perform some text replaces[2] on it, then replace the body "manually".

[1] http://www.opensips.org/html/docs/modules/2.3.x/rtpengine.html#rtpengine.f.rtpengine_offer
[2] http://www.opensips.org/html/docs/modules/2.3.x/textops#idp5907728

Best regards,
Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com
On 04/18/2017 06:49 PM, Jeff Pyle wrote:
Hello,

This is on OpenSIPS 2.3, downloaded from git and compiled today.

An INVITE arrives over TLS with the following SDP:

v=0
o=- 1492528621 1492528621 IN IP4 172.22.202.191
s=Polycom IP Phone
c=IN IP4 172.22.202.191
t=0 0
m=audio 16852 RTP/SAVP 115 9 0 8 110 18 127
a=rtpmap:115 G7221/32000
a=fmtp:115 bitrate=48000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 iLBC/8000
a=fmtp:110 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:127 telephone-event/8000
a=rtcp:16853
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:[stripped]
a=setup:actpass
a=fingerprint:sha-1 [stripped]
m=audio 16888 RTP/AVP 115 9 0 8 110 18 127
a=rtpmap:115 G7221/32000
a=fmtp:115 bitrate=48000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 iLBC/8000
a=fmtp:110 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:127 telephone-event/8000
a=rtcp:16889

I run 
  codec_delete_expect_re(PCMU|PCMA|telephone-event)
but it doesn't have any effect.  The INVITE leaving after t_relay() over UDP to localhost on a different port is the same as when it came in (with the exception of the c= line because of rtpengine).

At log_level=6 the only log entry I see is
  DBG:sipmsgops:create_codec_lumps: creating 0 streams

I'm not sure where to go from here.


- Jeff



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: codec_delete_except_re() has no effect

Jeff Pyle-4
Dragomir, 

If Zoiper speaks only G.729, and SIP.js speaks only G.711, rtpengine isn't going to help.  It doesn't transcode.  From its github page:

Rtpengine does not (yet) support:
    • Repacketization or transcoding

Is iLBC an option for you in SIP.js and Zoiper?  It's license free and sounds a little bitter.  If not, Asterisk or FreeSWITCH could perform this task with the appropriate G.729 licenses.  




Răzvan,

Is there any effect of using either the codec manipulation or rtpengine in a branch route?  I ask this admittedly not understanding the buffers in use.




- Jeff
 





On Tue, Apr 18, 2017 at 12:39 PM, Dragomir Haralambiev <[hidden email]> wrote:
Hi Razvan,

How to make follow connection using rtpengine?

Zoiper(g729) <-----> Opensips(rtpengine) <--------> browser (SIP.JS with g711) 

2017-04-18 19:10 GMT+03:00 Răzvan Crainea <[hidden email]>:
Hi, Jeff!

Unfortunately you can't use both rtpengine and codec_delete_*, that's because each change different buffers. The codec_delete_* function runs on the initial SDP received, then rtpengine completely overwrites the SDP with whatever rtpengine replied.
The only way you can do something like this (although it may be very ugly) is to store the rtpengine reply in a pvar using the 3rd[1] parameter of the rtpengine_* functions and perform some text replaces[2] on it, then replace the body "manually".

[1] http://www.opensips.org/html/docs/modules/2.3.x/rtpengine.html#rtpengine.f.rtpengine_offer
[2] http://www.opensips.org/html/docs/modules/2.3.x/textops#idp5907728

Best regards,
Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com
On 04/18/2017 06:49 PM, Jeff Pyle wrote:
Hello,

This is on OpenSIPS 2.3, downloaded from git and compiled today.

An INVITE arrives over TLS with the following SDP:

v=0
o=- 1492528621 1492528621 IN IP4 172.22.202.191
s=Polycom IP Phone
c=IN IP4 172.22.202.191
t=0 0
m=audio 16852 RTP/SAVP 115 9 0 8 110 18 127
a=rtpmap:115 G7221/32000
a=fmtp:115 bitrate=48000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 iLBC/8000
a=fmtp:110 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:127 telephone-event/8000
a=rtcp:16853
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:[stripped]
a=setup:actpass
a=fingerprint:sha-1 [stripped]
m=audio 16888 RTP/AVP 115 9 0 8 110 18 127
a=rtpmap:115 G7221/32000
a=fmtp:115 bitrate=48000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 iLBC/8000
a=fmtp:110 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:127 telephone-event/8000
a=rtcp:16889

I run 
  codec_delete_expect_re(PCMU|PCMA|telephone-event)
but it doesn't have any effect.  The INVITE leaving after t_relay() over UDP to localhost on a different port is the same as when it came in (with the exception of the c= line because of rtpengine).

At log_level=6 the only log entry I see is
  DBG:sipmsgops:create_codec_lumps: creating 0 streams

I'm not sure where to go from here.


- Jeff



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: codec_delete_except_re() has no effect

Razvan Crainea-3
Hi, Jeff!

Unfortunately I don't think this will work.
The idea is that during a message processing, the same SDP buffer is seen by all functions. Changes do not immediately alter the buffer, but they are registered as lumps (changes that are later applied), when the message processing is done. So even in the branch route you will see the initial SDP, because it is part of the same processing context (branch route is triggered by the t_relay() function).

Best regards,
Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com
On 04/18/2017 09:44 PM, Jeff Pyle wrote:
Dragomir, 

If Zoiper speaks only G.729, and SIP.js speaks only G.711, rtpengine isn't going to help.  It doesn't transcode.  From its github page:

Rtpengine does not (yet) support:
    • Repacketization or transcoding

Is iLBC an option for you in SIP.js and Zoiper?  It's license free and sounds a little bitter.  If not, Asterisk or FreeSWITCH could perform this task with the appropriate G.729 licenses.  




Răzvan,

Is there any effect of using either the codec manipulation or rtpengine in a branch route?  I ask this admittedly not understanding the buffers in use.




- Jeff
 





On Tue, Apr 18, 2017 at 12:39 PM, Dragomir Haralambiev <[hidden email]> wrote:
Hi Razvan,

How to make follow connection using rtpengine?

Zoiper(g729) <-----> Opensips(rtpengine) <--------> browser (SIP.JS with g711) 

2017-04-18 19:10 GMT+03:00 Răzvan Crainea <[hidden email]>:
Hi, Jeff!

Unfortunately you can't use both rtpengine and codec_delete_*, that's because each change different buffers. The codec_delete_* function runs on the initial SDP received, then rtpengine completely overwrites the SDP with whatever rtpengine replied.
The only way you can do something like this (although it may be very ugly) is to store the rtpengine reply in a pvar using the 3rd[1] parameter of the rtpengine_* functions and perform some text replaces[2] on it, then replace the body "manually".

[1] http://www.opensips.org/html/docs/modules/2.3.x/rtpengine.html#rtpengine.f.rtpengine_offer
[2] http://www.opensips.org/html/docs/modules/2.3.x/textops#idp5907728

Best regards,
Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com
On 04/18/2017 06:49 PM, Jeff Pyle wrote:
Hello,

This is on OpenSIPS 2.3, downloaded from git and compiled today.

An INVITE arrives over TLS with the following SDP:

v=0
o=- 1492528621 1492528621 IN IP4 172.22.202.191
s=Polycom IP Phone
c=IN IP4 172.22.202.191
t=0 0
m=audio 16852 RTP/SAVP 115 9 0 8 110 18 127
a=rtpmap:115 G7221/32000
a=fmtp:115 bitrate=48000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 iLBC/8000
a=fmtp:110 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:127 telephone-event/8000
a=rtcp:16853
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:[stripped]
a=setup:actpass
a=fingerprint:sha-1 [stripped]
m=audio 16888 RTP/AVP 115 9 0 8 110 18 127
a=rtpmap:115 G7221/32000
a=fmtp:115 bitrate=48000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:110 iLBC/8000
a=fmtp:110 mode=20
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:127 telephone-event/8000
a=rtcp:16889

I run 
  codec_delete_expect_re(PCMU|PCMA|telephone-event)
but it doesn't have any effect.  The INVITE leaving after t_relay() over UDP to localhost on a different port is the same as when it came in (with the exception of the c= line because of rtpengine).

At log_level=6 the only log entry I see is
  DBG:sipmsgops:create_codec_lumps: creating 0 streams

I'm not sure where to go from here.


- Jeff



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Loading...