Whenever a
(SBC) receives an ISDN Progress/Alert/Connect or a SIP 183/180/200 message, it is translated to the outgoing leg of the call. Although it may appear that incoming messages are simply copied from incomging to outgoing leg, in fact, they are run through an internal translation table to determine precisely what to send (on the outgoing leg).
...
This article outlines the various configuration parameters of the Message Translation functionality, how the parameters are used, and how to configure them to override the pre-programmed translations.
On this page:
Table of Contents |
---|
maxLevel | 3Basic Message Translation
Looking at the diagram belowBelow is a description of a basic message translation:
- SIP INVITE to the SBC,.
- Which results in the SBC generating an ISDN Setup.
- As the ISDN network routes the call, it returns a PROGRESS to the SBC.
- In turn, the SBC sends a 183 to the SIP endpoint.
Whether it sends the 183 with or without SDP, or whether it even sends a 183, is controlled by the SBC's internal, pre-programmed translation table. The internal translation table controls the translation for ISDN Progress/Alert/Connect messages, as well as SIP 18x/200 messages for calls ISDN to SIP, SIP to ISDN, and SIP to SIP.
Panel |
---|
|
Caption |
---|
0 | Figure |
---|
1 | SIP INVITE to Ribbon SBC 1000/2000 |
---|
| Image Removed |
|
How Does the Message Translation Table work?
...
- Identifies specific incoming messages and.
- Converts them to the desired output.
...
The first phase of the the Message Translation table works on the incoming message. When a message arrives, it is checked against all of the translations entries in the table, specifically the Incoming Message configuration.
Below For a Progress with no Progress Indicator (PI=0) is shown with it's , it requres a matching Incoming Message configuration. Similarly, a Progress with PI=1 (Not end to end ISDN) is shown with it's requires matching Incoming Message configuration.
Panel |
---|
|
Caption |
---|
0 | Figure |
---|
1 | Incoming Message Matching |
---|
| Image Removed |
|
pagebreakconfiguration. Both Progress messages match the incoming (translation) message. Since they match, the outgoing message will be eventually translation via the Outgoing Translation configuration.
Special Considerations for Incoming Matching
Info |
---|
title | What is _SDP Media Negotiation_? |
---|
|
SIP uses SDP to negotiate media connections. To establish a common media framework (codec, endpoint addresses, etc), an endpoint will send an SDP Offer - a list of the media that the endpoint can support. The recipient will Answer the SDP Offer with a list of media attributes that it its endpoint will support for this particular session. Noprint |
---|
|
Click to read more...
|
Cloak |
---|
title | Click to read more... |
---|
|
In the diagram belowFor example, an INVITE with SDP is sent to the SBC. This SDP is an Offer - a list of the media that the endpoint is offering to support. Later, the SBC replies with a 183 with SDP, essentially Answering the Offer with a media list that is acceptable for communication.
Once an SDP Offer has been Answered, the media is said to be Negotiated. Both sides are now able to send media based upon the negotiated SDP parameters.
FigureINVITE With SDP Sent to Sonus SBC 1000/2000INLINE
The Media Input Matching Type
...
Panel |
---|
- Configuring the Early Media Status to Negotiated means that the incoming message will only be translated if the media is already negotiated
- Configuring the Early Media Status to Not Negotiated means that an incoming message will only be translated if the media has not yet been negotiated.
|
Early Media Status set to Not Negotiated. For exampleIn the example below, the Early Media Status is set to Not Negotiated. As the SIP SDP Offer has not yet been answered, the media is indeed not yet negotiated and, therefore, the match passes. If the remaining Incoming Message matches as well, the translation entry will be used to translate the message to the SIP side.
...
...
Early Media Status
...
is set to
...
Image Removed
In the example belowNegotiated. For example, the Early Media Status is set to Negotiated. Since the media has yet to be negotiated (no SDP Answer has been sent), the match fails. That particular translation entry fails. The next translation entry, if there is one, will be checked.
...
...
0 | Figure |
---|
1 | Early Media Status set to Negotiated |
---|
...
In the example below, the media has been negotiated therefore Early Media Status will be matched. If the rest of the Incoming Message translation is matched, that translation will be used.
Panel |
---|
|
Caption |
---|
0 | Figure |
---|
1 | Early Media Status Matched |
---|
| Image Removed |
|
Info |
---|
The same Early Media Status configuration works for SIP to SIP calls. Caption |
---|
0 | Figure |
---|
1 | Media Not Negotiated |
---|
| Image Removed |
Caption |
---|
|
0 | Figure |
1Media Negotiated | Image Removed |
Caption |
---|
0 | Figure |
---|
1 | Not Match Early Media Status of Not Negotiated |
---|
|
Image Removed |
Early 183 and Negotiated Media
...
...
If Early 183 is Enabled
...
in the SIP Signaling Group, the SBC will immediately reply to the INVITE with a 183 w/SDP. The SDP Answer fulfills the negotiated media requirements.
Info |
---|
Setting the Early Media Status to ANY causes the translation to ignore the media state. |
...
When a incoming message matches in the Incoming Message configuration, the second phase of the process is to send an outgoing message that conforms to the corresponding Outgoing configuration.
In
For example, see the call setup below:
- The first 183 matches the Incoming Message configuration and the corresponding Progress is sent based upon the Outgoing configuration.
- The second 183 also matches, but a Progress is not sent as the Outgoing translation configuration is set for No on Subsequent.
- The next SIP packet, 180 Ringing w/SDP, matches the Incoming Message and is translated accordingly. The SDP indicates early media is available, so the SBC begins to receive/send media.
- The subsequent 180 Ringing w/ SDP also matches in the Incoming configuration; however, it is not translated as the Outgoing is configured to No on Cut Through.
Panel |
---|
|
Caption |
---|
| Image Removed |
|
pagebreak
Info |
---|
The translation table above contains just two entries. Each time a packet arrives, each entry is tried sequentially in top-to-bottom order. |
Info |
---|
You might notice that the The Incoming Message format remains the same, even when the incoming message is SIP. The Message and IE Types do not change to SIP references because any given translation maybe used for either SIP or ISDN. A ISDN to SIP conversion table (below) will assist in selecting the appropriate desired parameters. Message Type | SIP Message |
---|
Progress | 183 Session Progress | Alert | 180 Ringing | Connect | 200 OK |
|
...
Mismatching Input Translation Criteria
Below are some additional examples of ISDN messages and which Incoming Message configurations are matched and or not matched.
Panel |
---|
|
Caption |
---|
0 | Figure |
---|
1 | Incoming Message Configurations Matched |
---|
| Image Removed |
|
Panel |
---|
|
Caption |
---|
0 | Figure |
---|
1 | Incoming Message Configurations Not Matched |
---|
| Image Removed |
|
- The incoming Progress may not match the Input Message Parameters, which will then proceed to the next entry in the message translation table. Outgoing messages will be translated per the Outgoing configuring table.
Info |
---|
If no match is found, or no table is assigned to the call route, the message is translated using the internal translation table. |
Examples of Full Translations
Panel |
---|
|
Caption |
---|
0 | Figure |
---|
1 | Full Translation Example 1 |
---|
| Image Removed |
|
Panel |
---|
|
Caption |
---|
0 | Figure |
---|
1 | Full Translation Example 2 |
---|
| Image Removed |
|
Panel |
---|
|
Caption |
---|
0 | Figure |
---|
1 | Full Translation Example 3 |
---|
| Image Removed |
|
Panel |
---|
|
Caption |
---|
0 | Figure |
---|
1 | Full Translation Example 4 |
---|
| Image Removed |
|
Panel |
---|
|
Caption |
---|
0 | Figure |
---|
1 | Full Translation Example 5 |
---|
| Image Removed |
|
Info |
---|
The above translation is a commonly used to generate ringback when the inbound leg does not provide ALERT or 180. |
Invoking a Translation Table
Translation Tables are invoked at the Call Route level. The For example, the call route (below) is configured to use the Message Translation Table called (i.e., msg xlation.
Panel |
---|
|
Caption |
---|
| Image Removed |
|
). The msg xlation table contains two translation entries (detail for the second entry is displayed).
...
...
...
Image Removed
When a route containing a message translation table is used to route a call, each reply message is checked again the entries in the selected table.
For details on Call Routing, refer to Creating and Modifying Entries to Call Routing Tables.
For details on Message Translation, refer to Creating and Modifying Entries to Message Translation Tables.
Message Translation Reference
...