Forums Read-only archive

How to add a=silenceSupp to SDP

12 posts · Brekeke SIP Server Forum

skb007 Original post
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.
ambrosio
Use this in DeployPatterns

[Deploy Patterns]
$session = sdp
&sdp.audio.a.1 =silenceSupp: off
skb007
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.
ambrosio
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.
skb007
[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:

Code:

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 - - - -
Here is the SDP from in 200Ok from Brekeke to customer

Code:

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 - - - -
Tata
Have you installed Brekeke PBX?
skb007
No, we installed brekeke sip server.
Tata
Let you use Brekeke PBX. People like you are using it.
skb007
We can not use PBX, we have purchased the license for SIP server only.

Will you please help us to resolve the issue of duplicate entries for ptime and silenceSupp. Please let mw know if you need further information.
ambrosio
You can try Brekeke PBX at no cost.

As I told you, Brekeke PBX can generate own SDP, so it will meet your requirement.

Since Brekeke SIP Server is a SIP proxy, it can not manipulate SDP as you planned.
Or you can ask Brekeke team to develop a custom plugin to manipulate SDP.
skb007
Appreciate your help,

Sorry If I am repeating the question.

Is any way to check if ptime/silenceSupp is already existing if not only then modify the SDP? while using SIP Server not PBX.
ambrosio
> 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.