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;

183 with SDP

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?

The highlighted capture shows a 183 Progress going back towards the carrier in the setup of the call with a SDP. We are interested in this step because it has SDP which is leading towards whom/what is going to perform the ring tone generation.

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

180 Ringing: Destination user agent received INVITE, and is alerting user of call
Thanks Wiki! Therefor the message we are looking at above has a 183 with SDP. We know two things;
  • The call is still being setup
  • and there is still codec information being arranged.

Some important details I note about SDP

How do I know a message has Session Description Protocol (SDP) information?
Content-Type: application/sdp
I know its an audio profile equalling RTP Audio Video Profile (RTP/AVP):
m=audio 30190 RTP/AVP 8 0 97
I know some of the codecs being sent for media. We are sending standard G.711 audio codecs used in PSTN calls:
G.711 A-Law 
rtpmap:8 PCMA/8000/1
G.711 µ-Law
rtpmap:0 PCMU/8000/1

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:

  1. Disable the Early Media message from the SIP Trunk Provider to the SBC and onward
  2. 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.

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

Remove SDP Translation

Key notes from above:

Incoming criteria to match:

  1. Looking for 183 Progress Messages
  2. Includes SDP information

Outgoing result:

  1. Change the Message Type to 180
  2. 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;

180 Ringing

Ring-Ring, Ring-Ring” says the carrier.

, , , ,

Join the conversation! 2 Comments

  1. 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

  2. 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?

Comments are closed.