To support the Microsoft Phone System's Direct Routing Media Optimization feature, the Ribbon SBC provides a configuration option to specify a second media interface group for a SIP trunk group and it provides proprietary header (X-MS) processing capabilities. Using the second media interface group, administrators can configure a network of SBCs in a manner that reduces the requirement for public IP addresses. The SBC is able to interpret X-MS headers sent from the Microsoft Phone System to optimize media routing decisions.

Secondary Media Interface Group

The SBC provides the option to configure a second media interface group on trunk groups, thus allowing one interface to be used as a public interface and the other as a private interface. For the trunk group facing the Microsoft Phone System, use one media interface group to allocate a public IP address and the second to allocate a private IP address. This type of configuration supports the Direct Routing Media Optimization feature. 

X-MS Header Support

The Microsoft Phone System uses X-MS headers to notify the SBC as to whether a call is internal or external and whether to use direct media for a call. The SBC supports receiving the following X-MS headers in SIP messages from the Microsoft Phone System:

  • X-MS-UserLocation:<location string>

This header specifies whether the related call is from a Phone System user within the "Internal" network or in an "External" network. The SBC treats the value of "Internal" as an indication to use the private media address (configured on the secondary media interface group associated with the trunk group).

  • X-MS-MediaPath:<media path string>

This header specifies whether to set up direct media for the related call or to anchor media through the SBC. If the header contents identifies the FQDN of the SBC as the media path then the SBC anchors the media, otherwise it sets up direct media for the call.

For incoming calls from the Microsoft Phone System, the X-MS headers are present in the initial INVITE request and therefore the initial call setup can be based on the information in the headers. For outgoing calls, the headers are included in the 18x or 200 OK response from the Microsoft Phone System and are not yet available when the call is set up initially. If necessary, the SBC sends a re-INVITE request to update the media path and media interface (public or private) to align with the input from the X-MS headers once it is received.

The SBC also inserts new X-MS-SBC headers in messages it sends to the Microsoft Phone System, as well as using User-Agent and Server headers, to convey information to Phone System about the Ribbon SBC product (example: SBC5400) and its software level.

Be aware that the SBC SIP Filter profile, which identifies headers that you do not want subjected to parsing by the SBC, includes these two X-MS headers. However, for Microsoft Phone System deployments, leave the headers at their default value in the SIP Filter profile (disabled) so that the SBC can take action based on the content in the headers. 

OPTIONS Support

To interoperate successfully with the Microsoft Phone System, OPTIONS requests going out to the Microsoft Phone System include the following:

  • The From and Contact headers in the request include the zone domain name and sipSigPort number for the Microsoft Phone System zone.
  • The Contact header in the request also includes the transport type.
  • The request includes User-Agent and X-MS-SBC headers that identify the Ribbon SBC product and its software level.

In responses to OPTIONS requests from the Microsoft Phone System, the SBC includes Server and X-MS-SBC headers that identify the Ribbon SBC product and its software level.