I recently had an issue with calls originating from a SIP trunk provider to Skype for Business Server(s) that needed to change who supplied the ring back tone. This would have been a much simpler process with ISDN, but SIP trunks are a much more involved PSTN connection. If you’re having problems with ring back this should help provide a quick troubleshooting step to expose a problem in this area. This article specifically describes what to change in Skype for Business and Sonus 1000/2000 SBC to get the desired outcome with a SIP trunk. “Ring-Ring, Ring-Ring!“.
A notable mention is that SIP Trunk Providers are not all created equal. The call setup could differ from this example.
My aim which led to this article was to change the ringtone generation from the SBC, to be supplied by the carrier. As I hunted through the SBC capture for the call setup information, I noticed the Mediation Server sends a 183 message with SDP back towards the SIP Trunk as seen in the below;
I wanted to stop this behaviour of the Skype for Business Mediation Server sending 183 Session Progress messages to the carrier during inbound call setup. As this was contributing to whom was generating the ring back in my scenario. I’ll explain…
What are we looking at here?
What is a 183 Message?
Wiki has me covered here.
183 Session in Progress: This response may be used to send extra information for a call which is still being set up
Versus standard 180 Ringing
- The call is still being setup
- and there is still codec information being arranged.
Some important details I note about SDP
G.711 A-Law
G.711 µ-Law
So what’s going to happen?
The default behaviour for a Sonus SBC is to allow 183 Session Progress messages (why wouldn’t it!), which leads to Early Media during the initial call setup. Simply, the sequence of these messages sent to SIP Trunk with a 183 Session Progress messages with SDP information makes the SBC decide to generate the ring back internally.
Okay, we know why its happening. How can we stop this behaviour? I want to make the carrier work for their money.
I figured I could achieve this via stopping 2 things:
- Disable the Early Media message from the SIP Trunk Provider to the SBC and onward
- Remove the 183 Session Progress messages with SDP from the Mediation Server heading back to the trunk
Disable the Early Media message from the SIP Trunk Provider passing through
On the Signalling Group that connects the carrier and the SBC. Disable Early 183.
Remove the 183 Session Progress messages with SDP from the Mediation Server
There isn’t a way to disable this natively in Lync/SFB Server so this is why we want to do it on the SBC. We are going to manipulate packets coming from the Mediation Server back to the SBC before it gets sent to the carrier.
Under the Settings Tab > Telephony Mapping Tables > Message Translation. Create Message Translation Table
Key notes from above:
Incoming criteria to match:
- Looking for 183 Progress Messages
- Includes SDP information
Outgoing result:
- Change the Message Type to 180
- Remove the SDP
(If I was to leave the outgoing message type as 183 but strip the SDP portion, the call will progress with no ring back and the inbound caller will experience silence throughout this time).
Apply this Message Translation to the Call Route Table from the SIP trunk. This is what makes the translation active on all proceeding inbound calls. The resulting call setup;
“Ring-Ring, Ring-Ring” says the carrier.
Skype has opened its web-structured consumer beta on the entire world, following launching it extensively in the United states and You.K.
previously this calendar month. Skype for Web also now supports Chromebook and Linux
for instant text messaging conversation (no video and voice yet,
individuals demand a connect-in installing).
The expansion of your beta provides support for a longer list of dialects to help you bolster that international user friendliness
Hi Arran
Great article. I have a question.
If you are not sending Early 183, and all your 180 messages don’t contain SDP, then what does the “play ringback” setting do on the Signalling group?
I’ve configured my SG for a Telco SIP Trunk as you have, and I found that it makes no difference what I set on “Play Ringback”. I’m guessing that because I haven’t sent any SDP to the Telco, there is no media channel established, and therefore the Telco is “forced” to generate ringback.
Another way of asking this: When setting “Play Ringback”, how does this setting affect the SIP messages from Sonus -> Telco?