How to add a=silenceSupp to SDP
Moderator: Brekeke Support Team
How to add a=silenceSupp to SDP
1. Brekeke Product Name and Version: Brekeke SIP Server 3.6.2.5
2. Java version:1.7
3. OS type and the version: 64-bit RHEL6.6
4. UA (phone), gateway or other hardware/software involved:
5. Your problem: How to add silence suppression parameter to the SDP for the outbound call from Brekeke.
Call Flow:
Customer's SIP Server ----->Brekeke ------>SIP Provider.
Brekeke is receving calls from customer and Brekeke send the call to our SIP provider (B2B-UA).
Our customer wants to turn off silence suppression but customer's SIP server does not have the capability to send "a=silenceSupp: off" in the SDP. How can I add "a=silenceSupp: off" to SDP while sending calls from Brekeke to SIP Provider.
2. Java version:1.7
3. OS type and the version: 64-bit RHEL6.6
4. UA (phone), gateway or other hardware/software involved:
5. Your problem: How to add silence suppression parameter to the SDP for the outbound call from Brekeke.
Call Flow:
Customer's SIP Server ----->Brekeke ------>SIP Provider.
Brekeke is receving calls from customer and Brekeke send the call to our SIP provider (B2B-UA).
Our customer wants to turn off silence suppression but customer's SIP server does not have the capability to send "a=silenceSupp: off" in the SDP. How can I add "a=silenceSupp: off" to SDP while sending calls from Brekeke to SIP Provider.
Thank you for your help.
[Deploy Patterns]
$session = sdp
&sdp.audio.a.1 = silenceSupp: off
&sdp.audio.a.2 = ptime: 20
I also took the opportunity to all the ptime which was missing in INVITES from our customers. It works flawless while sending the packets to SIPProvider. But I also found an issue as following:
SIP Provider sends Brekeke SDP in 200OK and sends Brekeke "silenceSupp:on - - - "
Brekeke sends 200OK with SDP to customer and it contains both silenceSupp:off silenceSupp:on - - - -.
Question 1 : Why Brekeke is sending sending silenceSupp twice to the customer side.
Question 2: Add silenceSupp/ptime to SDP only if it is missing.
As a side note:
I am wondering why it is not a part of the admin guide or a wiki article. Admin guide only talks about the session variable very briefly. There is no list of built in plugins and their usage. It would be nice to have these things as a part of documentation so that we can make effective use of the product.
[Deploy Patterns]
$session = sdp
&sdp.audio.a.1 = silenceSupp: off
&sdp.audio.a.2 = ptime: 20
I also took the opportunity to all the ptime which was missing in INVITES from our customers. It works flawless while sending the packets to SIPProvider. But I also found an issue as following:
SIP Provider sends Brekeke SDP in 200OK and sends Brekeke "silenceSupp:on - - - "
Brekeke sends 200OK with SDP to customer and it contains both silenceSupp:off silenceSupp:on - - - -.
Question 1 : Why Brekeke is sending sending silenceSupp twice to the customer side.
Question 2: Add silenceSupp/ptime to SDP only if it is missing.
As a side note:
I am wondering why it is not a part of the admin guide or a wiki article. Admin guide only talks about the session variable very briefly. There is no list of built in plugins and their usage. It would be nice to have these things as a part of documentation so that we can make effective use of the product.
I recommend that you use Brekeke PBX.
http://www.brekeke.com/downloads/pbx.php
It can generate own SDP so there will be no problem with some configuration.
http://www.brekeke.com/downloads/pbx.php
It can generate own SDP so there will be no problem with some configuration.
[Deploy Patterns]
$session = sdp
&sdp.audio.a.1 = silenceSupp:off - - - -
&sdp.audio.a.2 = ptime: 20
Our SIPProvider need the SDP as "silenceSupp:off - - - -" . Now SIPProvider's 200OK contains "silenceSupp:off - - - -" But I still see the double entry in 200Ok from Brekeke to Customer.
Here is the SDP in 200OK from SIPProvider to Brekeke:
Here is the SDP from in 200Ok from Brekeke to customer
$session = sdp
&sdp.audio.a.1 = silenceSupp:off - - - -
&sdp.audio.a.2 = ptime: 20
Our SIPProvider need the SDP as "silenceSupp:off - - - -" . Now SIPProvider's 200OK contains "silenceSupp:off - - - -" But I still see the double entry in 200Ok from Brekeke to Customer.
Here is the SDP in 200OK from SIPProvider to Brekeke:
Code: Select all
v=0
o=- 3684851774 3684851774 IN IP4 172.16.11.2
s=-
c=IN IP4 172.16.11.2
t=0 0
m=audio 15450 RTP/AVP 8
a=ptime:20
a=rtpmap:8 PCMA/8000
a=silenceSupp:off - - - -
Code: Select all
v=0
o=- 3684851774 3684851774 IN IP4 x.x.x.x
s=-
c=IN IP4 172.16.11.2
t=0 0
m=audio 15450 RTP/AVP 8
a=ptime:20
a=rtpmap:8 PCMA/8000
a=silenceSupp:off - - - -
a=ptime:20
a=silenceSupp:off - - - -
> Is any way to check if ptime/silenceSupp is already existing if not only then modify the SDP?
Use $body in DialPlan
http://wiki.brekeke.com/wiki/DialPlan-Matching-body
For example
$body("(a=ptime:20)") = .+
$body("(a=silenceSupp:off)") = .+
Please note that $body checks only INVITE's SDP. It doesn't check 200OK's SDP.
If you want to check 200 OK's SDP, you may need to develop own plugin.
If you use Brekeke PBX, you don't have to care about it.
Use $body in DialPlan
http://wiki.brekeke.com/wiki/DialPlan-Matching-body
For example
$body("(a=ptime:20)") = .+
$body("(a=silenceSupp:off)") = .+
Please note that $body checks only INVITE's SDP. It doesn't check 200OK's SDP.
If you want to check 200 OK's SDP, you may need to develop own plugin.
If you use Brekeke PBX, you don't have to care about it.