Since version 2015 R3 SwyxWare contains a new server component, named MediaBridge. This article should briefly (as briefly as possible) describe on a technical level how it works and what it does.
Before version 2015 R3, there was the problem that so-called early media could not be heard on outgoing calls as soon as there was more than one trunks that could possibly be used to route the call. Early Media are mediastreams sent by the provider before the call is actually connected, i.e. before the "OK" (in the case of SIP calls) or the "CONNECT" for ISDN lines. These can be fee announcements, general information from the provider, or announcements such as "This number has changed, please call 1234567".
The media connection between the client and the gateway or the link manager was only established at the very end when the call was actually connected. If there are several trunks that are used by the retry mechanism to connect the call, only the media data of the trunk that has successfully established a connection will become audible. Early media data from previous attempts on other trunks were thus lost.
The call setup mechanism has changed fundamentally with the Mediabridge as a new component when there are multiple trunks for the delivery of the call. With an outgoing call, the Mediabridge becomes active as soon as the first trunk offers media data. It is able to pick up the early media sounds and forward it to the client. The client receives a "Session Progress" with SDP (i.e. an announcement of media data) and from now on plays back everything it receives from the announced media endpoint - i.e. the MediaBridge in the server service. When a retry is performed, the MediaBridge receives the tones of the next trunk and forwards them to the client. Up to this moment, the client receives its media data from the server machine. The "real" media connection is not established until the call has actually been accepted on the oher side. This is done in several steps, described here for simplicity with a media gateway, but it works in a similar manner when a linkmanager is involved:
- The server service receives a 200 OK from the Media Gateway, the external call is connected.
- The server service sends a 200 OK to the client, where the call is now also connected.
- The server service sends a REFER to the media gateway to generate a new SIP call there: The gateway will now automatically generates a new call to the client as the next step.
- The gateway sends an INVITE to the server, with the client as the call destination, and its local media endpoints in the SDP content. This is necessary so that the media data can now flow directly between client and gateway.
- The server service sends the INVITE to the client.
- The client confirms with OK
- The server service passes the OK to the gateway.
- The original call at the gateway is now terminated with BYE.
- From now on the direct media connection between the client and the gateway is active, no more media data is pumped through the MediaBridge.
Depending on the gateway used and the performance of the SwyxWare server machine the reconnection of the media data can take a moment. In slow combinations, this can lead to an initial short drop-out after about 1/4 or 1/2 second. This drop-out is usually not a problem because it occurs very early at the very beginning of the conversation. Normally, the called party on the other side has not even really said anything, but is just lifting the handset.
However, there are occasionally fax machines (connected via AudioCodes Mediapack) that immediately detect such short interruptions in the media stream as errors and disconnect the connection. In such cases it may be necessary to switch off the MediaBridge, provided that there are actually several trunks in the system. Otherwise the MediaBridge will not be activated anyway.
The component can be switched off via registry, for this a new DWORD value must be created:
After restarting the IpPbxSrv service, the Mediabridge is permanently disabled.
Finally, two notes:
- From this moment on, Early Media announcements are no longer audible!
- The MediaBridge is never active for incoming calls. The often seen attempt to deactivate the MediaBridge in case of fax reception problems makes no sense at all.