Acme Packet SBC and Configuring “Selective” Early Media Suppression30 Dec 2014 #acme packet #sbc #sip
The Acme Packet SBC includes support for
Early Media Suppression. This allows you to decide what
Realms can and cannot support Early Media and in what direction Early Media is allowed.
Taking it one step further, the Acme Packet SBC also supports
Selective Early Media Suppression. This means that even if a realm is configured to receive Early Media for all calls, the SBC can still be configured to deny Early Media from certain realms (even if those realms can send early media to other destinations) through the use of Realm Groups.
Early Media is defined by an endpoint sending
SIP session is established by a
200 OK. Otherwise, the expected behavior is media does not begin flowing between endpoints until 200 OK is received. Instances where early media may occur is when a user calls the PSTN and an announcement is immediately played or a custom ringtone (ie. music) is heard when calling a mobile phone.
There may be a variety of reasons why one does not want to
allow Early Media under specific conditions. For example (real world) a Service Provider supporting Hosted IP PBX subscribers and SIP Trunking customers sends PSTN traffic from their network to multiple PSTN Media Gateways. One gateway supports outbound Local and Domestic Long Distance calls and the other media gateway supports outbound International calls. The Service Provider doesn’t want to allow Early Media from the International gateway to flow inbound to their Hosted IP PBX customer base, but they will allow Early Media to flow from the International media gateway to their SIP Trunking customer base. The Local and Domestic Long Distance media gateway is allowed to send Early Media to either customer base.
First, it’s important to cover the basics of implementing Early Media Suppression. This may be configured within a Realm or a
Session Agent using the
early-media-allow parameter. When a call egresses the SBC to a specific realm, the matching realm’s early-media-allow setting will be applied to either allow-all, block-all, or block one-way early media until a 200 OK is received. Media must be anchored to the SBC in order for Early Media settings to have any effect. In this example, calls are originated from the Access (Hosted IP PBX) realm to the PSTN (Access realm’s next-hop is the Core realm).
APKT-6300(realm-config)# show realm-config identifier Core description PSTN Media Gateway addr-prefix 0.0.0.0 network-interface s0p0:0 mm-in-realm enabled ... symetric-latching disabled early-media-allow none APKT-6300(realm-config)# early-media-allow ? <enumeration> how to handle early media <none, reverse, both> none: no early media allowed reverse: allow early media in the direction of calling endpoint both: allow early media in both directions
This example has
early-media-allow set to
none in the realm configuration. Early Media is not allowed in either direction. Therefore, if an Access subscriber calls the PSTN, no Early Media is permitted back to the Access realm, and vice-versa.
This example has
early-media-allow set to
reverse which in this case allows a Hosted IP PBX subscriber to place a call to BroadWorks or the PSTN and hear early media. However, the subscribers are not permitted to send Early Media in the other direction since early-media-allow is set to reverse and not both.
So far we have statically defined to always always allow
Early Media from one direction. Now for a scenario that is a little more tricky. Lets say calls originating from the Access realm which route to the ITSP-1 realm/media gateway
are not allowed to hear Early Media. However, calls originating from the Access realm which route to the ITSP-2 realm/media gateway
are allowed to hear Early Media. However, ITSP-1 is allowed to send Early Media to other realms (ie. Acces-2, Acces-3, etc.). Only the “Access” realm cannot receive Early Media from ITSP-1.
The trick in this topology is all media gateways are allowed to send Early Media to any realm, and Access is allowed to receive Early Media from any realm. We want to
selectively suppress only when the Early Media RTP traverses specifically from ITSP-1 to Access.
Realm Groups, we can essentially build a logical binding of source and destination realms together and customize Early Media settings just for calls flowing across those two realms.
APKT-6300# config t APKT-6300(configure)# media-manager APKT-6300(media-manager)# realm-group APKT-6300(realm-group)# source-realm "Access, ITSP-1" APKT-6300(realm-group)# destination-realm "Access" APKT-6300(realm-group)# early-media-allow-direction none
Now only calls that are originated from the
Access realm to
ITSP-1 realm will be prohibited from receiving early media from the ITSP-1 Media Gateway. If the same call routes to
ITSP-2, Early Media is allowed.