Table of Contents


 

Document Overview

Use this configuration information to connect a Ribbon Session Border Controller (SBC) with a Microsoft Skype for Business version 2015 system and a Virgin Media SIP trunk.

This configuration information is applicable to the Ribbon SBC 5XX0 series and SBC 7XX0.

For more information about Ribbon SBC, refer to your Ribbon SBC product documentation http://ribboncommunications.com/.


Introduction

The interoperability compliance testing focuses on verifying inbound and outbound call flows between a Ribbon Core SBC and Microsoft Skype for Business 2015.

Audience

This technical document is intended for telecommunication engineers that configure the Ribbon SBC Core aspects of the Virgin Media SIP trunk group with the Microsoft Skype for Business 2015. This configuration requires access to a third-party server and the Ribbon SBC Web browser user interface, Embedded Management Application (EMA). Engineers require a basic understanding of  IP routing, SIP, RTP,  and TLS to configure and troubleshoot this solution.


The links are only internally to Ribbon partners and employees. They don´t work outside from the Ribbon Network.

Equipment

The following table lists the equipment and software used to complete the tests that a Virgin Media SIP trunk requires to connect with Ribbon software.

Equipment


Equipment

Software Version

Ribbon Communications

Ribbon SBC Core (5200)
BMC
BIOS
ConnexIP OS 
SonusDB
EMA
SBX

V08.01.00-R000
V03.20.00-R000
V02.06.00
V07.01.00-R000
V08.01.00-R000
V08.01.00-R000
V08.01.00-R000

Third-party Equipment

Microsoft Skype for Business 2015 (Skype 2015) Mediation Server

6.0.9319.0

Skype for Bussiness for Office 365 Client16.0.11901.20204

NGTS Desktop Client Application

v.1.51
Fax Machine VentaFax7.6.243.616
 


Topology Configuration

The following topology illustrates the network connection between the Microsoft Skype for Business 2015, Virgin Media network and the Ribbon SBC Core.  

Topology

 


Support

For issues with connectivity or configuration between Ribbon SBC, Virgin Media SIP trunk, and Microsoft Skype 2015, contact Ribbon Support in either of the following ways:

 

Third-Party Product Features

We tested the following features between Microsoft Skype for Business 2015 and Virgin Media: 

  • SIP OPTIONS
  • Basic Calls
  • Calling Number Format/Called Number Format
  • Emergency Call Handling
  • Call Disconnects
  • Call Error Handling
  • CLIP/CLIR
  • Call Forwarding
  • Call Hold
  • Conference
  • Call Park
  • Call Waiting
  • DTMF
  • Fax
  • Long Call
  • SBC Failure/Recovery


Features Not Supported

  • Microsoft Skype for Business 2015 does not support Busy line. There is no impact to the latest requirements from Virgin Media. 
  • Busy is not supported because there it all the time activated call waiting on all lines so they cannot be busy, if voice mail is activated, calls are forwarded there after some timeout.

  • Microsoft Skype for business 2015 does not support busy it has the option to either always forward to another number or to always forward to voice mail.


Verify License

  • POL-BASE

Microsoft Skype for Business 2015 Configuration

Microsoft Skype for Business 2015 comprises the following tasks to work with SBC Ribbon trunks:

  1. PSTN Gateway

  2. Voice Policy

  3. PSTN Usage

  4. Route

  5. Trunk Configuration

 1. PSTN Gateway

Select Topology Builder > Shared Components > PSTN Gateways

Define a new IP/PSTN Gateway

  

Define FQDN

 

Define Root Trunk

 


Select Control Panel > Voice Routing > Voice Policy

Voice Policy

 


 3. PSTN Usage

Select Control Panel > Voice Routing > Voice Policy > New PSTN Usage

New PSTN Usage



 4. Route

Select Control Panel > Voice Routing > Route


Voice Routing

 

 5. Trunk Configuration

Select Control Panel > Voice Routing > Trunk Configuration

Trunk Configuration

Edit Trunk Configuration

 


Ribbon SBC Core Series Configuration

The follow configuration applies to both 5xxx and 7xxx series Core SBC. It´s included Microsoft Skype for Business 2015 and Virgin Media SIP trunk configuration.

SBC Core Configuration
configure
#DSP Resources
set system mediaProfile compression 90 tone 10
commit

#Element Routing Priority
set profiles callRouting elementRoutingPriority TG_ERP entry localOperator 0 entityType trunkGroup
set profiles callRouting elementRoutingPriority TG_ERP entry nationalType 0 entityType trunkGroup
set profiles callRouting elementRoutingPriority TG_ERP entry internationalType 0 entityType trunkGroup
set profiles callRouting elementRoutingPriority TG_ERP entry userName 1 entityType trunkGroup
set profiles callRouting elementRoutingPriority TG_ERP entry userName 2 entityType none
commit

#Cranback profile
set profiles callRouting crankbackProfile default reason 151 useLocationValue disabled
commit

#IP signaling profiles
set profiles signaling ipSignalingProfile FAX_IPSP commonIpAttributes flags disableMediaLockDown enable
set profiles signaling ipSignalingProfile FAX_IPSP commonIpAttributes flags minimizeRelayingOfMediaChangesFromOtherCallLegAll enable
set profiles signaling ipSignalingProfile FAX_IPSP commonIpAttributes flags sendPtimeInSdp enable
set profiles signaling ipSignalingProfile FAX_IPSP commonIpAttributes flags sendRtcpPortInSdp enable
set profiles signaling ipSignalingProfile FAX_IPSP egressIpAttributes flags disable2806Compliance enable
set profiles signaling ipSignalingProfile FAX_IPSP egressIpAttributes privacy transparency enable
commit

 
set profiles signaling ipSignalingProfile SKYPE_IPSP commonIpAttributes flags disableMediaLockDown enable
set profiles signaling ipSignalingProfile SKYPE_IPSP commonIpAttributes flags minimizeRelayingOfMediaChangesFromOtherCallLegAll enable
set profiles signaling ipSignalingProfile SKYPE_IPSP commonIpAttributes flags publishIPInHoldSDP enable
set profiles signaling ipSignalingProfile SKYPE_IPSP commonIpAttributes flags routeUsingRecvdFqdn enable
set profiles signaling ipSignalingProfile SKYPE_IPSP commonIpAttributes flags sendPtimeInSdp enable
set profiles signaling ipSignalingProfile SKYPE_IPSP commonIpAttributes flags sendRtcpPortInSdp enable
set profiles signaling ipSignalingProfile SKYPE_IPSP commonIpAttributes flags storePChargingVector enable
set profiles signaling ipSignalingProfile SKYPE_IPSP commonIpAttributes optionTagInRequireHeader suppressReplaceTag enable
set profiles signaling ipSignalingProfile SKYPE_IPSP commonIpAttributes relayFlags statusCode4xx6xx enable
set profiles signaling ipSignalingProfile SKYPE_IPSP egressIpAttributes flags disable2806Compliance enable
set profiles signaling ipSignalingProfile SKYPE_IPSP egressIpAttributes privacy transparency enable
set profiles signaling ipSignalingProfile SKYPE_IPSP egressIpAttributes transport type1 tcp
set profiles signaling ipSignalingProfile SKYPE_IPSP ingressIpAttributes flags sendSdpIn200OkIf18xReliable enable
set profiles signaling ipSignalingProfile SKYPE_IPSP ingressIpAttributes flags sendSdpInSubsequent18x enable
set profiles signaling ipSignalingProfile SKYPE_IPSP ingressIpAttributes flags suppress183WithoutSdp enable
set profiles signaling ipSignalingProfile SKYPE_IPSP ingressIpAttributes flags support181 enable
commit

set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP commonIpAttributes flags disableMediaLockDown enable
set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP commonIpAttributes flags includeReasonHeader enable
set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP commonIpAttributes flags minimizeRelayingOfMediaChangesFromOtherCallLegAll enable
set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP commonIpAttributes flags sendPtimeInSdp enable
set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP commonIpAttributes flags sendRtcpPortInSdp enable
set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP commonIpAttributes flags storePChargingVector enable
set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP egressIpAttributes flags disable2806Compliance enable
set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP egressIpAttributes privacy transparency disable
set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP egressIpAttributes privacy privacyInformation pAssertedId
set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP ingressIpAttributes flags suppress183WithoutSdp enable
set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP commonIpAttributes relayFlags statusCode4xx6xx enable
set profiles signaling ipSignalingProfile VIRGIN_MEDIA_IPSP ingressIpAttributes flags support181 enable

commit
#DM/PM criteria
set profiles digitParameterHandling dmPmCriteria SKYPE_MATCH_0_UK criteriaType digit digitType calledNumber parameterPresenceCheck exists
set profiles digitParameterHandling dmPmCriteria SKYPE_MATCH_0_UK digitCriteria digitMatch value startDigitPosition 0 numberOfDigits 1 matchValue 0
set profiles digitParameterHandling dmPmCriteria SKYPE_MATCH_0_UK digitCriteria digitMatch operation equals
set profiles digitParameterHandling dmPmCriteria SKYPE_MATCH_0_UK digitCriteria numberLength value 11 operation lessThanOrEquals
commit

set profiles digitParameterHandling dmPmCriteria SKYPE_MATCH_UK_NATIONAL criteriaType digit digitType calledNumber parameterPresenceCheck exists
set profiles digitParameterHandling dmPmCriteria SKYPE_MATCH_UK_NATIONAL digitCriteria digitMatch value startDigitPosition 0 numberOfDigits 0
set profiles digitParameterHandling dmPmCriteria SKYPE_MATCH_UK_NATIONAL digitCriteria digitMatch operation equals
set profiles digitParameterHandling dmPmCriteria SKYPE_MATCH_UK_NATIONAL digitCriteria numberLength value 10 operation equals
commit

set profiles digitParameterHandling dmPmCriteria CALLED_NOA_INT criteriaType digit
set profiles digitParameterHandling dmPmCriteria CALLED_NOA_INT digitType calledNumber
set profiles digitParameterHandling dmPmCriteria CALLED_NOA_INT parameterPresenceCheck exists
set profiles digitParameterHandling dmPmCriteria CALLED_NOA_INT digitCriteria natureOfAddress value international
set profiles digitParameterHandling dmPmCriteria CALLED_NOA_INT digitCriteria natureOfAddress operation equals
commit

#DM/PM rule
set profiles digitParameterHandling dmPmRule SKYPE_ADD_+44 subRule 0 criteria SKYPE_MATCH_0_UK ruleType digit
set profiles digitParameterHandling dmPmRule SKYPE_ADD_+44 subRule 1 criteria SKYPE_MATCH_UK_NATIONAL ruleType digit
set profiles digitParameterHandling dmPmRule SKYPE_ADD_+44 subRule 1 digitManipulation digitStringManipulation replacement type constant digitString calledNumber startDigitPosition 0 numberOfDigits 3 value +44
set profiles digitParameterHandling dmPmRule SKYPE_ADD_+44 subRule 0 digitManipulation digitStringManipulation replacement type constant digitString calledNumber startDigitPosition 0 numberOfDigits 1 value +44
set profiles digitParameterHandling dmPmRule SKYPE_ADD_+44 subRule 1 digitManipulation digitStringManipulation startDigitPosition 0 numberOfDigits 0 action none
set profiles digitParameterHandling dmPmRule SKYPE_ADD_+44 subRule 0 digitManipulation digitStringManipulation startDigitPosition 0 numberOfDigits 1 action none
set profiles digitParameterHandling dmPmRule SKYPE_ADD_+44 subRule 1 digitManipulation numberType calledNumber
set profiles digitParameterHandling dmPmRule SKYPE_ADD_+44 subRule 0 digitManipulation numberType calledNumber
commit

set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 0 criteria CALLED_NOA_NATIONAL
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 0 ruleType digit
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 0 digitManipulation numberType calledNumber
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 0 digitManipulation digitStringManipulation replacement type constant
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 0 digitManipulation digitStringManipulation replacement digitString calledNumber
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 0 digitManipulation digitStringManipulation replacement startDigitPosition 0
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 0 digitManipulation digitStringManipulation replacement numberOfDigits 0
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 0 digitManipulation digitStringManipulation replacement value +44
commit

set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 2 ruleType digit
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 2 digitManipulation numberType callingNumber
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 2 digitManipulation digitStringManipulation replacement type constant
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 2 digitManipulation digitStringManipulation replacement digitString callingNumber
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 2 digitManipulation digitStringManipulation replacement startDigitPosition 0
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 2 digitManipulation digitStringManipulation replacement numberOfDigits 0
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 2 digitManipulation digitStringManipulation replacement value +
commit

set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 3 criteria CALLED_NOA_INT
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 3 ruleType digit
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 3 digitManipulation numberType calledNumber
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 3 digitManipulation digitStringManipulation replacement type constant
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 3 digitManipulation digitStringManipulation replacement digitString calledNumber
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 3 digitManipulation digitStringManipulation replacement startDigitPosition 0
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 3 digitManipulation digitStringManipulation replacement numberOfDigits 0
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 3 digitManipulation digitStringManipulation replacement value +
commit

set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 4 criteria CALLED_NOA_INT
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 4 ruleType uri
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 4 uriParameterManipulation uriType toUri
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 4 uriParameterManipulation userInfoManipulation replacement type constant
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 4 uriParameterManipulation userInfoManipulation replacement characterString toUri
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 4 uriParameterManipulation userInfoManipulation replacement startCharacterPosition 0
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 4 uriParameterManipulation userInfoManipulation replacement numberOfCharacters 0
set profiles digitParameterHandling dmPmRule EGRESS_DMPMRULE subRule 4 uriParameterManipulation userInfoManipulation replacement value +
commit

set profiles digitParameterHandling dmPmRule FAX_ADD_44 subRule 0 ruleType digit
set profiles digitParameterHandling dmPmRule FAX_ADD_44 subRule 0 digitManipulation numberType calledNumber
set profiles digitParameterHandling dmPmRule FAX_ADD_44 subRule 0 digitManipulation digitStringManipulation replacement type constant
set profiles digitParameterHandling dmPmRule FAX_ADD_44 subRule 0 digitManipulation digitStringManipulation replacement digitString calledNumber
set profiles digitParameterHandling dmPmRule FAX_ADD_44 subRule 0 digitManipulation digitStringManipulation replacement value 44
commit

#PathCheck Profile
set profiles services pathCheckProfile VIRGIN_MEDIA protocol sipOptions
set profiles services pathCheckProfile VIRGIN_MEDIA sendInterval 30
set profiles services pathCheckProfile VIRGIN_MEDIA replyTimeoutCount 6
set profiles services pathCheckProfile VIRGIN_MEDIA recoveryCount 3
set profiles services pathCheckProfile VIRGIN_MEDIA failureResponseCodes [ 503 ]
set profiles services pathCheckProfile VIRGIN_MEDIA transportPreference preference1 udp
set profiles services pathCheckProfile VIRGIN_MEDIA transportPreference preference2 tcp
set profiles services pathCheckProfile VIRGIN_MEDIA transportPreference preference3 tls-tcp
set profiles services pathCheckProfile VIRGIN_MEDIA transportPreference preference4 sctp
commit

#Codecs
set profiles media codecEntry FAX_G711A_20ms_2833 codec g711
set profiles media codecEntry FAX_G711A_20ms_2833 packetSize 10
set profiles media codecEntry FAX_G711A_20ms_2833 fax failureHandling continue
set profiles media codecEntry FAX_G711A_20ms_2833 fax toneTreatment faxRelay
set profiles media codecEntry FAX_G711A_20ms_2833 law ALaw
commit

set profiles media codecEntry FAX_G711U_20ms_2833 codec g711
set profiles media codecEntry FAX_G711U_20ms_2833 packetSize 10
set profiles media codecEntry FAX_G711U_20ms_2833 fax failureHandling continue
set profiles media codecEntry FAX_G711U_20ms_2833 fax toneTreatment none
set profiles media codecEntry FAX_G711U_20ms_2833 law ULaw
commit

set profiles media codecEntry SKYPE_G711A_20ms_2833 codec g711
set profiles media codecEntry SKYPE_G711A_20ms_2833 packetSize 10
set profiles media codecEntry SKYPE_G711A_20ms_2833 fax failureHandling continue
set profiles media codecEntry SKYPE_G711A_20ms_2833 fax toneTreatment none
set profiles media codecEntry SKYPE_G711A_20ms_2833 modem failureHandling continue
set profiles media codecEntry SKYPE_G711A_20ms_2833 modem toneTreatment none
set profiles media codecEntry SKYPE_G711A_20ms_2833 law ALaw
set profiles media codecEntry SKYPE_G711A_20ms_2833 dtmf relay rfc2833
set profiles media codecEntry SKYPE_G711A_20ms_2833 dtmf removeDigits disable
commit

set profiles media codecEntry SKYPE_G711U_20ms_2833 codec g711
set profiles media codecEntry SKYPE_G711U_20ms_2833 packetSize 10
set profiles media codecEntry SKYPE_G711U_20ms_2833 law ULaw
set profiles media codecEntry SKYPE_G711U_20ms_2833 dtmf relay rfc2833
set profiles media codecEntry SKYPE_G711U_20ms_2833 dtmf removeDigits disable
commit

set profiles media codecEntry VIRGIN_MEDIA_G711A codec g711
set profiles media codecEntry VIRGIN_MEDIA_G711A packetSize 10
set profiles media codecEntry VIRGIN_MEDIA_G711A fax failureHandling continue
set profiles media codecEntry VIRGIN_MEDIA_G711A fax toneTreatment faxRelay
set profiles media codecEntry VIRGIN_MEDIA_G711A law ALaw
set profiles media codecEntry VIRGIN_MEDIA_G711A dtmf relay rfc2833
set profiles media codecEntry VIRGIN_MEDIA_G711A dtmf removeDigits disable
commit

set profiles media codecEntry VIRGIN_MEDIA_G711U codec g711
set profiles media codecEntry VIRGIN_MEDIA_G711U packetSize 10
set profiles media codecEntry VIRGIN_MEDIA_G711U fax failureHandling continue
set profiles media codecEntry VIRGIN_MEDIA_G711U fax toneTreatment faxRelay
set profiles media codecEntry VIRGIN_MEDIA_G711U law ULaw
set profiles media codecEntry VIRGIN_MEDIA_G711U dtmf relay rfc2833
set profiles media codecEntry VIRGIN_MEDIA_G711U dtmf removeDigits disable
commit

#PSPs
set profiles media packetServiceProfile FAX_PSP codec codecEntry1 FAX_G711A_20ms_2833
set profiles media packetServiceProfile FAX_PSP packetToPacketControl transcode conditional
set profiles media packetServiceProfile FAX_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec differentDtmfRelay enable
set profiles media packetServiceProfile FAX_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec differentPacketSize enable
set profiles media packetServiceProfile FAX_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec differentSilenceSuppression enable
set profiles media packetServiceProfile FAX_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec different2833PayloadType enable
set profiles media packetServiceProfile FAX_PSP packetToPacketControl codecsAllowedForTranscoding thisLeg g711a,g711u,g729
set profiles media packetServiceProfile FAX_PSP packetToPacketControl codecsAllowedForTranscoding otherLeg g711a,g711u,g729
commit

set profiles media packetServiceProfile SKYPE_PSP codec codecEntry1 SKYPE_G711A_20ms_2833
set profiles media packetServiceProfile SKYPE_PSP packetToPacketControl transcode conditional
set profiles media packetServiceProfile SKYPE_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec differentDtmfRelay enable
set profiles media packetServiceProfile SKYPE_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec differentPacketSize enable
set profiles media packetServiceProfile SKYPE_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec differentSilenceSuppression enable
set profiles media packetServiceProfile SKYPE_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec different2833PayloadType enable
set profiles media packetServiceProfile SKYPE_PSP packetToPacketControl codecsAllowedForTranscoding thisLeg g711a,g711u,g729
set profiles media packetServiceProfile SKYPE_PSP packetToPacketControl codecsAllowedForTranscoding otherLeg g711a,g711u,g729
commit

set profiles media packetServiceProfile VIRGIN_MEDIA_PSP codec codecEntry1 VIRGIN_MEDIA_G711A
set profiles media packetServiceProfile VIRGIN_MEDIA_PSP codec codecEntry2 VIRGIN_MEDIA_G711U
set profiles media packetServiceProfile VIRGIN_MEDIA_PSP preferredRtpPayloadTypeForDtmfRelay 101
set profiles media packetServiceProfile VIRGIN_MEDIA_PSP packetToPacketControl transcode conditional
set profiles media packetServiceProfile VIRGIN_MEDIA_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec differentDtmfRelay enable
set profiles media packetServiceProfile VIRGIN_MEDIA_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec differentPacketSize enable
set profiles media packetServiceProfile VIRGIN_MEDIA_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec differentSilenceSuppression enable
set profiles media packetServiceProfile VIRGIN_MEDIA_PSP packetToPacketControl conditionsInAdditionToNoCommonCodec honorOfferPreference enable
set profiles media packetServiceProfile VIRGIN_MEDIA_PSP packetToPacketControl codecsAllowedForTranscoding thisLeg g711a,g711u,g729,t38
set profiles media packetServiceProfile VIRGIN_MEDIA_PSP packetToPacketControl codecsAllowedForTranscoding otherLeg g711a,g711u,g729,t38
commit

#DNS
set addressContext default dnsGroup DNS type mgmt
set addressContext default dnsGroup DNS transport udp
set addressContext default dnsGroup DNS interface mgmtGroup
set addressContext default dnsGroup DNS localRecord skype2015 data 1 type a
set addressContext default dnsGroup DNS localRecord skype2015 data 1 priority 0
set addressContext default dnsGroup DNS localRecord skype2015 data 1 ipAddress 10.35.180.229
set addressContext default dnsGroup DNS localRecord skype2015 data 1 state enabled
set addressContext default dnsGroup DNS localRecord skype2015 hostName fe.skype2015.sonusnet.com
set addressContext default dnsGroup DNS localRecord skype2015 order priority
set addressContext default dnsGroup DNS localRecord skype2015 state enabled
commit
#Internal Side Configuration

#IP Interface Group
set addressContext default ipInterfaceGroup TRUSTED ipInterface TRUSTED ceName LITTLE
set addressContext default ipInterfaceGroup TRUSTED ipInterface TRUSTED portName pkt0
set addressContext default ipInterfaceGroup TRUSTED ipInterface TRUSTED ipAddress 10.35.177.246
set addressContext default ipInterfaceGroup TRUSTED ipInterface TRUSTED prefix 26
set addressContext default ipInterfaceGroup TRUSTED ipInterface TRUSTED mode inService
set addressContext default ipInterfaceGroup TRUSTED ipInterface TRUSTED state enabled
commit

#IP Static Route
set addressContext default staticRoute 0.0.0.0 0 10.35.177.193 TRUSTED TRUSTED preference 100
commit

#Zone
set addressContext default zone TRUSTED id 2
set addressContext default zone TRUSTED dnsGroup DNS
commit

#SIP signaling port
set addressContext default zone TRUSTED sipSigPort 2 ipInterfaceGroupName TRUSTED
set addressContext default zone TRUSTED sipSigPort 2 ipAddressV4 10.35.177.247
set addressContext default zone TRUSTED sipSigPort 2 portNumber 5060
set addressContext default zone TRUSTED sipSigPort 2 transportProtocolsAllowed sip-udp,sip-tcp
set addressContext default zone TRUSTED sipSigPort 2 mode inService
set addressContext default zone TRUSTED sipSigPort 2 state enabled
commit

#Skype IP peer
set addressContext default zone TRUSTED ipPeer SKYPE policy sip fqdn fe.skype2015.sonusnet.com
set addressContext default zone TRUSTED ipPeer SKYPE policy sip fqdnPort 5068
commit

#Fax IP peer
set addressContext default zone TRUSTED ipPeer FAX ipAddress 10.35.137.106
set addressContext default zone TRUSTED ipPeer FAX ipPort 5060
set addressContext default zone TRUSTED ipPeer FAX defaultForIp false
set addressContext default zone TRUSTED ipPeer FAX authentication intChallengeResponse enabled
set addressContext default zone TRUSTED ipPeer FAX authentication incInternalCredentials enabled
commit

#Skype IP trunk
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 media mediaIpInterfaceGroupName TRUSTED
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 policy carrier 0000
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 policy country 44
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 policy localizationVariant northAmerica
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 policy digitParameterHandling numberingPlan GENERIC_NUM_PLAN
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 policy digitParameterHandling egressDmPmRule SKYPE_ADD_PLUS44
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 policy callRouting elementRoutingPriority TG_ERP
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 policy media packetServiceProfile SKYPE_PSP
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 policy signaling ipSignalingProfile SKYPE_IPSP
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 signaling authentication intChallengeResponse enabled
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 ingressIpPrefix 10.35.180.229 32
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 state enabled
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-SKYPE2015 mode inService
commit

#Fax IP trunk
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX media mediaIpInterfaceGroupName TRUSTED
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX policy country 44
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX policy localizationVariant northAmerica
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX policy digitParameterHandling numberingPlan GENERIC_NUM_PLAN
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX policy digitParameterHandling ingressDmPmRule SIP_ADD_PLUS
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX policy digitParameterHandling egressDmPmRule FAX_ADD_44
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX policy callRouting elementRoutingPriority TG_ERP
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX policy media packetServiceProfile FAX_PSP
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX policy signaling ipSignalingProfile FAX_IPSP
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX signaling authentication intChallengeResponse enabled
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX ingressIpPrefix 10.35.137.106 32
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX mode inService
set addressContext default zone TRUSTED sipTrunkGroup TWO-WAY-SIP-FAX state enabled
commit
 
#External Side SBC Configuration
#IP Interface Group
set addressContext default ipInterfaceGroup UNTRUSTED ipInterface PUBLIC ceName LITTLE
set addressContext default ipInterfaceGroup UNTRUSTED ipInterface PUBLIC portName pkt1
set addressContext default ipInterfaceGroup UNTRUSTED ipInterface PUBLIC ipAddress 216.110.2.220
set addressContext default ipInterfaceGroup UNTRUSTED ipInterface PUBLIC prefix 27
set addressContext default ipInterfaceGroup UNTRUSTED ipInterface PUBLIC mode inService
set addressContext default ipInterfaceGroup UNTRUSTED ipInterface PUBLIC state enabled
commit

#IP static route
set addressContext default staticRoute 0.0.0.0 0 216.110.2.193 UNTRUSTED UNTRUSTED preference 100
commit

#Zone
set addressContext default zone UNTRUSTED id 3
set addressContext default zone UNTRUSTED dnsGroup DNS
commit

#SIP signaling port
set addressContext default zone UNTRUSTED sipSigPort 2 ipInterfaceGroupName PUBLIC
set addressContext default zone UNTRUSTED sipSigPort 2 ipAddressV4 216.110.2.220
set addressContext default zone UNTRUSTED sipSigPort 2 portNumber 5060
set addressContext default zone UNTRUSTED sipSigPort 2 transportProtocolsAllowed sip-udp
set addressContext default zone UNTRUSTED sipSigPort 2 mode inService
set addressContext default zone UNTRUSTED sipSigPort 2 state enabled
commit

#IP peers
set addressContext default zone UNTRUSTED ipPeer VIRGIN_MEDIA1 ipAddress 213.106.222.X
set addressContext default zone UNTRUSTED ipPeer VIRGIN_MEDIA1 ipPort 5060
set addressContext default zone UNTRUSTED ipPeer VIRGIN_MEDIA1 pathCheck profile VIRGIN_MEDIA
set addressContext default zone UNTRUSTED ipPeer VIRGIN_MEDIA1 pathCheck hostPort 5060
set addressContext default zone UNTRUSTED ipPeer VIRGIN_MEDIA1 pathCheck state enabled
commit
set addressContext default zone UNTRUSTED ipPeer VIRGIN_MEDIA2 ipAddress 82.14.171.Y
set addressContext default zone UNTRUSTED ipPeer VIRGIN_MEDIA2 ipPort 5060
set addressContext default zone UNTRUSTED ipPeer VIRGIN_MEDIA2 pathCheck profile VIRGIN_MEDIA
set addressContext default zone UNTRUSTED ipPeer VIRGIN_MEDIA2 pathCheck hostPort 5060
set addressContext default zone UNTRUSTED ipPeer VIRGIN_MEDIA2 pathCheck state enabled
commit

#VirginMedia trunks
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 media mediaIpInterfaceGroupName PUBLIC
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 policy carrier 0000
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 policy country 44
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 policy localizationVariant northAmerica
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 policy digitParameterHandling numberingPlan GENERIC_NUM_PLAN
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 policy digitParameterHandling egressDmPmRule EGRESS_DMPMRULE
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 policy callRouting elementRoutingPriority TG_ERP
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 policy media packetServiceProfile VIRGIN_MEDIA_PSP
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 policy signaling ipSignalingProfile VIRGIN_MEDIA_IPSP
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 signaling retryCounters invite 1
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 signaling authentication authUserPart virginpbx01
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 signaling authentication authPassword test
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 ingressIpPrefix 213.106.222.X 32
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 state enabled
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA1 mode inService
commit

set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 media mediaIpInterfaceGroupName PUBLIC
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 policy carrier 0000
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 policy country 44
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 policy localizationVariant northAmerica
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 policy digitParameterHandling numberingPlan GENERIC_NUM_PLAN
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 policy digitParameterHandling egressDmPmRule EGRESS_DMRULE
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 policy callRouting elementRoutingPriority TG_ERP
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 policy media packetServiceProfile VIRGIN_MEDIA_PSP
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 policy signaling ipSignalingProfile VIRGIN_MEDIA_IPSP
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 signaling retryCounters invite 1
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 signaling authentication authUserPart virginpbx01
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 signaling authentication authPassword test
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 ingressIpPrefix 82.14.171.Y 32
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 state enabled
set addressContext default zone UNTRUSTED sipTrunkGroup TWO-WAY-VIRGIN_MEDIA2 mode inService
commit

#Global Configuration
#Route Labels
set global callRouting routingLabel TO_TWO_WAY_FAX routingLabelRoute 0 routeType trunkGroup
set global callRouting routingLabel TO_TWO_WAY_FAX routingLabelRoute 0 trunkGroup TWO-WAY-SIP-FAX
set global callRouting routingLabel TO_TWO_WAY_FAX routingLabelRoute 0 ipPeer FAX
commit
set global callRouting routingLabel TO_TWO_WAY_SKYPE routingLabelRoute 0 routeType trunkGroup
set global callRouting routingLabel TO_TWO_WAY_SKYPE routingLabelRoute 0 trunkGroup TWO-WAY-SIP-SKYPE2015
set global callRouting routingLabel TO_TWO_WAY_SKYPE routingLabelRoute 0 ipPeer SKYPE
commit
set global callRouting routingLabel TO_TWO_WAY_VIRGIN_MEDIA routingLabelRoute 0 routeType trunkGroup
set global callRouting routingLabel TO_TWO_WAY_VIRGIN_MEDIA routingLabelRoute 0 trunkGroup TWO-WAY-VIRGIN_MEDIA1
set global callRouting routingLabel TO_TWO_WAY_VIRGIN_MEDIA routingLabelRoute 0 ipPeer VIRGIN_MEDIA1
commit
set global callRouting routingLabel TO_TWO_WAY_VIRGIN_MEDIA routingLabelRoute 0 routeType trunkGroup
set global callRouting routingLabel TO_TWO_WAY_VIRGIN_MEDIA routingLabelRoute 1 trunkGroup TWO-WAY-VIRGIN_MEDIA2
set global callRouting routingLabel TO_TWO_WAY_VIRGIN_MEDIA routingLabelRoute 1 ipPeer VIRGIN_MEDIA2
commit

#Routes
set global callRouting route trunkGroup TWO-WAY-SIP-FAX LITTLE standard Sonus_NULL Sonus_NULL all all ALL none Sonus_NULL routingLabel TO_TWO_WAY_VIRGIN_MEDIA
commit
set global callRouting route trunkGroup TWO-WAY-SIP-SKYPE2015 LITTLE standard Sonus_NULL Sonus_NULL all all ALL none Sonus_NULL routingLabel TO_TWO_WAY_VIRGIN_MEDIA
commit
set global callRouting route trunkGroup TWO-WAY-VIRGIN_MEDIA1 LITTLE standard 1183374134 44 all all ALL none Sonus_NULL routingLabel TO_TWO_WAY_FAX
commit
set global callRouting route trunkGroup TWO-WAY-VIRGIN_MEDIA1 LITTLE standard Sonus_NULL Sonus_NULL all all ALL none Sonus_NULL routingLabel TO_TWO_WAY_SKYPE
commit
set global callRouting route trunkGroup TWO-WAY-VIRGIN_MEDIA2 LITTLE standard 1183374134 44 all all ALL none Sonus_NULL routingLabel TO_TWO_WAY_FAX
commit
set global callRouting route trunkGroup TWO-WAY-VIRGIN_MEDIA2 LITTLE standard Sonus_NULL Sonus_NULL all all ALL none Sonus_NULL routingLabel TO_TWO_WAY_SKYPE
commit



Test Results

The following table provides information about the tests that Ribbon performed to complete all scenarios that Virgin Media needs for his customers.

S.NoProcedureObservationResultComment
IOP1

Vendors eSBC response to SIP OPTIONS messages from SBC

No calls are required for this test. SIP trace to be captured for approx 60 seconds and checked for correct signaling.

For each eSBC, the SBC periodically sends an OPTIONS request to the vendors eSBC to check if its SIP stack is reachable. If a SIP response 200 OK is received from the IP-PBX, the SIP trunk is placed or remains in an In-Service state.

e.g. OPTIONS sip:ping@<ip-pbx_IP_Addr>:5060 SIP/2.0

Pass
IOP2SBC response to SIP OPTIONS messages from vendor eSBC

No calls are required for this test. SIP trace to be captured for approx 60 seconds (depending on agreement) and checked for correct signaling.

Vendors eSBC setup for Solution IP.Addr Mode
eSBC configured to send OPTIONS messages to the SBC on a periodic basis. The SBC responds with SIP response 200OK, for example:
"OPTIONS sip:ping@192.168.1.10:5060 SIP/2.0"

Verify that the eSBC can simultaneously send SIP OPTIONS messages to both the solution SBC addresses.

Pass
IOP4Basic test call from IP-PBX to PSTN line through SBC-A (using SBC-A IPV4 ip address). 

IP-PBX line initiates call, Call is answered, IP-PBX line terminates call.

Vendors eSBC setup for Solution IP.Addr Mode
Call from the IP-PBX. Invite seen from eSBC to SBC-A, proxy authentication challenge returned to eSBC, re-invite with correct credentials from eSBC and call progresses as expected.
For example:
Request-Line: INVITE sip:<B-party>@<SBC-A ip.addr TBD>:5060 SIP/2.0
To: sip:<B-Party>@<SBC-A ip.addr TBD>

Check the wireshark trace and confirm that G.711 A law codec with 10 or 20ms packetisation is used.
Also check to see if INVITE contains the Session-Expires header and that the INVITE is syntactically correct. Check for Supported Header to see if 'timer' is supported. Ensure that the response in the 200 OK is compatible with the INVITE and verify that the Required Header contains 'timer'. (x-ref IOP9)

Pass
IOP5

Basic test call from IP-PBX to PSTN line through SBC-B (using SBC-B IPV4 ip address)

Vendor to configure eSBC so that it used secondary SBC (SBC_B) for this test.
Once test completed eSBC to be configure to use Primary SBC-A for calls to route to.

IP-PBX line initiates call, Call is answered, IP-PBX line terminates call.

Vendors eSBC setup for Solution IP.Addr Mode
Call from the IP-PBX. Invite seen from eSBC to SBC-B, proxy authentication challenge returned to eSBC, re-invite with correct credentials from eSBC and call progresses as expected.
e.g.
Request-Line: INVITE sip:<B-party>@<SBC-B ip.addr TBD>:5060 SIP/2.0
To: sip:<B-Party>@<SBC-B ip.addr TBD>

Check the wireshark trace and confirm that G.711 A law codec with 10ms or 20ms packetisation is being used.

Pass
IOP7b

Called Number format - vendors eSBC to soft switch number normalization - Global Dial Plan

Test eSBC capability to send the called number in one of the following Global number formats (user part of Request & To URIs)

0yyyyyyyyyy (where y refers to any number, calling party = national)
+44yyyyyyyyyy (where y refers to any number, calling party = national)
+yyyyyyyyyy (where y refers to any number, calling party = international)
yyyyyyyyyy (where y refers to any number, calling party = unknown)

SBC to be configured for Global calling plan.

IP-PBX line initiates call to PSTN line, Call is answered.
IP-PBX line terminates call.

Configure the eSBC to present the called number in the user part of the Request & To URIs to be sent in one of the following formats

0yyyyyyyyyy (where y refers to any number, calling party = national)
+44yyyyyyyyyy (where y refers to any number, calling party = national)
+yyyyyyyyyy (where y refers to any number, calling party = international)
yyyyyyyyyy (where y refers to any number, calling party = unknown)

Pass
IOP8b

Calling Number format - vendors eSBC to soft switch number normalization - Global Dial Plan

Test eSBC capability to send calling number in one of the following Global number formats (user part of FROM & PAI URIs)

0yyyyyyyyyy (where y refers to any number, calling party = national)
+44yyyyyyyyyy (where y refers to any number, calling party = national)
00yyyyyyyyyy (where y refers to any number, calling party = international)
yyyyyyyyyy (where y refers to any number, calling party = unknown)

SBC to be configured for Global calling plan.

IP-PBX line initiates call to PSTN line, Call is answered.
IP-PBX terminates call.

Configure the eSBC to present the calling number in the user part of the From & PAI URIs to be sent in one of the following formats

0yyyyyyyyyy (where y refers to any number, calling party = national)
+44yyyyyyyyyy (where y refers to any number, calling party = national)
00yyyyyyyyyy (where y refers to any number, calling party = international)
yyyyyyyyyy (where y refers to any number, calling party = unknown)

Pass

IOP9b

Called Number format - soft switch to eSBC number normalization - Global Dial Plan

Test eSBC capability of accepting the called number in one of the following Global number formats (user part of Request & To URIs)

+44yyyyyyyyy (where y refers to any number, calling party = national)
+yyyyyyyyy (where y refers to any number, calling party = international)
yyyyyyyyyy (where y refers to any number, calling party = unknown)

SBC to be configured for Global calling plan.

PSTN line initiates call to IP-PBX line, Call is answered.
PSTN line terminates call.

Configure the eSBC to accept the called number in the user part of the Request & To URIs in one of the following formats

+44yyyyyyyyy (where y refers to any number, calling party = national)
+yyyyyyyyy (where y refers to any number, calling party = international)
yyyyyyyyyy (where y refers to any number, calling party = unknown)

Also check to see that the INVITE contains Session-Expires header and that it is syntactically correct. Check for Supported Header and ensure 'timer' is supported. Ensure response in 200 OK is compatible with INVITE and check for Required Header and if it contains 'timer'.

Pass
IOP10b

Calling Number format - soft switch to eSBC number normalization - Global Dial Plan

Test eSBC capability of accepting the calling number in one of the following Global number formats (user part of FROM & PAI URIs)

+44yyyyyyyyy (where y refers to any number, calling party = national)
+yyyyyyyyy (where y refers to any number, calling party = international)
yyyyyyyyyy (where y refers to any number, calling party = unknown)

SBC to be configured for Global calling plan.

PSTN line initiates call to IP-PBX line, Call is answered.
PSTN line terminates call.

Configure the eSBC to accept the calling number in the user part of the Request & To URIs in one of the following formats

+44yyyyyyyyy (where y refers to any number, calling party = national)
+yyyyyyyyy (where y refers to any number, calling party = international)
yyyyyyyyyy (where y refers to any number, calling party = unknown)

Pass
IOP11Emergency Call Handling -IP-PBX Line to PSTN - UK Emergency call 999

Call made from IP-PBX line to the Emergency services using 999. Call answered.
Either party terminates call.
e.g.
Request-Line: INVITE sip:999@<SBC-A ip.addr TBD>:5060 SIP/2.0
To: <sip:999@<SBC-A ip.addr TBD>>
From: <sip:<A-party>@<IP-PBX IP.Addr>

Pass
IOP12

Emergency Call Handling -IP-PBX Line to PSTN - UK Emergency call 112

Call made from IP-PBX line to the Emergency services using 112. Call answered,
Either party terminates call.
e.g.
Request-Line: INVITE sip:112@<SBC-A ip.addr TBD>:5060 SIP/2.0
To: <sip:112@<SBC-A ip.addr TBD>>
From: <sip:<A-party>@<IP-PBX IP.Addr>

Pass
IOP13

Emergency Call Handling -IP-PBX Line to PSTN - UK Emergency call 18000 - Text Direct

Call made from IP-PBX line using a text direct set to the Emergency services using 18000. Call answered.
Either party terminates call.
e.g.
Request-Line: INVITE sip:18000@<SBC-A ip.addr TBD>:5060 SIP/2.0
To: <sip:18000@<SBC-A ip.addr TBD>>
From: <sip:<A-party>@<IP-PBX IP.Addr>

Pass


IOP14IP-PBX Line to PSTN - call answer - Originator disconnect

Call made from IP-PBX line to PSTN line, Answer Call.
IP-PBX line terminates call.

Pass
IOP15PSTN calls SIP #1, SIP #1 conferences in SIP #2

Call made from IP-PBX line to PSTN line, Answer Call.
PSTN line terminates call

Pass
IOP16IP-PBX Line to PSTN - Busy subscriber

Call made from IP-PBX line to a busy PSTN line (without divert on busy)
Wait for soft switch to return busy response. Ensure that eSBC does not recurse and setup call via secondary SIP trunk.

Pass
IOP17IP-PBX Line to PSTN - No answer timeout test

Call made from IP-PBX line to a PSTN line (without divert on no answer)
Do not answer call.
Wait for soft switch to return no answer timeout response. Ensure that eSBC does not recurse and setup call via secondary SIP trunk.

Pass With CaveatCancel message is sent by SfB 2015 server and there is not an option to change the timer for this.
IOP18

IP-PBX Line to PSTN - Subscriber not reachable

Vendor to call 01189111111

Call made from IP-PBX line to an invalid number.
Wait for soft switch to return response. Ensure that eSBC does not recurse and setup call via secondary SIP trunk.

Pass
IOP19PSTN Line to IP-PBX - call answer - Originator disconnect. 

Call made from a PSTN line to an IP-PBX line, Answer Call.
Originator disconnects call.

Pass.
IOP20PSTN Line to IP-PBX - call answer - Terminator disconnect

Call made from a PSTN line to an IP-PBX line, Answer Call.
IP-PBX line terminates call.

Pass
IOP21PSTN Line to IP-PBX - busy subscriber

Call made from PSTN line to a busy IP-PBX line (without divert on busy)
Wait for IP-PBX to return busy response.

De-ScopedSfB 2015/Lync does not support Busy line due to a permanent call waiting service. If a UM/Voicemail service is activated call goes there.
IOP22PSTN Line to IP-PBX - No answer timeout test, Invoked by PBXCall made from a PSTN line to an IP-PBX line  (without divert on no answer) Wait for the IP-PBX to return no answer timeout responseDe-ScopedSfB2015/Lync does not support No answer time out. If a UM/Voicemail service is activated call goes there.
IOP23PSTN Line to IP-PBX - subscriber not reachable

Call made from a PSTN line to an invalid number/unprogrammed DDI on the IP-PBX.
Wait for IP-PBX to return response.

Pass
IOP24Verify CLIP service on IP-PBX line (incoming call from PSTN) 

Call made from PSTN line to IP-PBX line. PSTN line is set to allow CLI presentation.
Check that CLI is delivered as expected.
Either party terminates call.

Pass
IOP25Verify CLIR service on IP-PBX line (incoming call from PSTN)

Call made from PSTN line to IP-PBX line. PSTN line is set to restrict CLI presentation.
Check that CLI is not delivered as expected.
Either party terminates call.

Pass
IOP26Verify CLIP service on PSTN line (outgoing call from IP-PBX, From)

Ensure number used in From header is agreed with Virgin Media and entered into the soft switch database for screening purposes.

Call made from an IP-PBX line to a PSTN line.
Ensure that the eSBC is configured such that the IP-PBX line sends From header containing Calling Line ID (CLI) in the INVITE.

Ensure that the eSBC allows presentation of its CLI using privacy-header (Privacy: none or privacy-header not present)

Ensure that the expected CLI is presented to the PSTN line.
Either party terminates call.

Pass
IOP27

Verify CLIP service on PSTN line (outgoing call from IP-PBX, PAI/PPI)

Vendor to ensure PAI number is different to that from which the call originates

Ensure number used in PAI/PPI header is agreed with Virgin Media and entered into the soft switch database for screening purposes.

Call made from an IP-PBX line to a PSTN line.
Ensure that the eSBC is configured such that the IP-PBX line sends PAI/PPI header containing Calling Line ID (CLI) in the INVITE.
If PAI header is populated this will be used in preference to the From header.
Ensure that the eSBC allows presentation of its CLI using privacy-header (Privacy: none or privacy-header not present)

Ensure that the expected CLI is presented to the PSTN line.
Either party terminates call.

Pass
IOP28Verify CLIR service on PSTN line (outgoing call from IP-PBX)

Ensure number used in From/PAI header is agreed with Virgin Media and entered into the soft switch database for screening purposes.

Call made from an IP-PBX line to a PSTN line.
Ensure that the eSBC is configured such that the IP-PBX line sends From and/or PAI header containing either the Calling Line ID or obscured information in the INVITE.
e.g.
From: "user751000" <sip:+441256751000@192.168.1.10>;tag=12345
From: "Anonymous" <sip:anonymous@anonymous.invalid>;tag=12345

Ensure that the eSBC restricts presentation of its CLI using privacy-header (Privacy: id or Privacy: user or Privacy: user;id)

Ensure that CLI is NOT presented to the PSTN line.
Either party terminates call.

Pass
IOP29Verify Call Forward Immediate (unconditional) on a IP-PBX line (Incoming call from PSTN, call forward terminates within IP-PBX)

Call made from a PSTN line to an IP-PBX line with call forward to a line within the same IP-PBX, Answer Call.
Either party terminates call.

Does the IP-PBX have configuration settings to send SIP status 181 messages to the soft switch?

Pass
IOP30Verify Call Forward Immediate (unconditional) on a IP-PBX line (Incoming call from PSTN, call forward terminates PSTN)

Call made from a PSTN line to an IP-PBX line with call forward to a line in the PSTN, Answer Call.
Either party terminates call.

Pass
IOP31Verify Call Forward Busy on IP-PBX line (Incoming call from PSTN, call forward terminates within IP-PBX)

Call made from a PSTN line to an IP-PBX line with Call Forward Busy (or equivalent) to a line within the IP-PBX, Answer Call.
Either party terminates call.

Not-Exec
IOP32Verify Call Forward No-answer on IP-PBX line (Incoming call from PSTN, call forward terminates within IP-PBX)

Call made from a PSTN line to an IP-PBX line with Call Forward No-answer (or equivalent) to a line within the IP-PBX, Answer Call.
Either party terminates call.

Pass
IOP33Verify Call Hold Service on IP-PBX (Incoming call from PSTN)

Call made from a PSTN line to an IP-PBX line with Call Hold, Answer call.
IP-PBX line puts the call on hold.
Leave call on hold for 30 seconds and then retrieve call. Ensure speech path is re-established in both directions.
Either party terminates call.

Pass
IOP34Verify 3-party conference service on IP-PBX (Incoming call from PSTN, 3rd party within IP-PBX)

Call made from a PSTN line to an IP-PBX line with 3-party conference, Answer call.
IP-PBX line uses the 3-party conference facility to put PSTN line on hold whilst dialling 3rd party. (another IP-PBX line)
Once the 3rd party has answered the call, place the 3 parties in a conference.
Ensure that all parties have a two-way speech path.
Keep the speech path open for at least 20 seconds.
Either party terminates call.

PassConference is created on the SfB 2015 server as another room/place where all other users are connected. All users must release the call to be disconnected from this conference call.
IOP35Verify 3-party conference service on IP-PBX (Incoming call from PSTN, 3rd party PSTN)

Call made from a PSTN line to an IP-PBX line with 3-party conference, Answer call.
IP-PBX line uses the 3-party conference facility to put PSTN line on hold whilst dialing 3rd party. (another PSTN line)
Once the 3rd party has answered the call, place the 3 parties in a conference.
Ensure that all parties have a two-way speech path.
Keep the speech path open for at least 20 seconds.
Either party terminates call.

PassConference is created on the SfB 2015 server as another room/place where all other users are connected. All users must release the call to be disconnected from this conference call.
IOP36Verify do-not-disturb service on IP-PBX line (Incoming call from PSTN)

Does not ring
PSTN line receives an appropriate announcement or tone

Record the SIP status received from IP-PBX

Pass

IOP37Verify Call park service on IP-PBX line (Incoming call from PSTN)

Call made from a PSTN line to IP-PBX line A with Call Park (or equivalent) feature active, Answer call.
Place the call in the Park condition.
After 10 seconds, retrieve call from IP-PBX line B using the Call Park pick-up code.
Ensure speech path is re-established in both directions.
Either party terminates call.

Pass
IOP38Verify Call Waiting on an IP-PBX line, involving a PSTN line

Call made from PSTN line A to an IP-PBX line with Call Waiting active, Answer call.
Call made from PSTN line B to the same IP-PBX line which should receive an indication that a second call is waiting.
PSTN line B receives ringback tone.
IP-PBX line answers the call from PSTN line B.
PSTN line A should receive an appropriate indication that they are now on hold.
IP-PBX line toggles the call back to PSTN line A
Ensure speech path is re-established in both directions and that PSTN line B should receive an appropriate indication that they are now on hold.
Either party terminates call.

Pass
IOP39Verify DTMF transmission from/to IP-PBX - Inband

Configure the IP-PBX/eSBC to send DTMF transmission in-band.

Call made from IP-PBX line to a PSTN line, Answer call.
PSTN line presses each of the keys on the number pad in turn. Note the far end experience.
IP-PBX line presses each of the keys on the number pad in turn. Note the far end experience.

Was the received DTMF tone reflective the length of time the key was pressed?

Pass
IOP40Verify DTMF transmission from/to IP-PBX - RFC 2833 - telephone-event 

Configure the IP-PBX/eSBC to send DTMF transmission using RFC 2833 - telephone-event.

Call made from IP-PBX line to a PSTN line, Answer call.
PSTN line presses each of the keys on the number pad in turn. Note the far end experience.
IP-PBX line presses each of the keys on the number pad in turn. Note the far end experience.

Was the received DTMF tone reflective the length of time the key was pressed?

Pass
IOP41T.38 Fax transmission mode - PSTN to IP-PBX origination

Configure the ATA/IP-PBX/eSBC such that Fax transmission is sent using T.38 Version 0 Fax transmission mode.
Call made from PSTN line to an IP-PBX line, Answer call.
Fax transmission is completed and call is terminated by either of the end terminal devices

Ensure Wireshark trace shows that T.38 Fax Transmission is used. Check that the fax is transmitted and received as expected.

Pass
IOP42T.38 Fax transmission mode - IP-PBX to PSTN origination

Configure the ATA/IP-PBX/eSBC such that Fax transmission is sent using T.38 Version 0 Fax transmission mode.
Call made from IP-PBX line to a PSTN line Answer call.
Fax transmission is completed and call is terminated by either of the end terminal devices

Ensure Wireshark trace shows that T.38 Fax Transmission is used. Check that the fax is transmitted and received as expected.

Pass
IOP43In-band G.711 Fax transmission mode - PSTN to IP-PBX origination

Configure the ATA/IP-PBX/eSBC such that Fax transmission is sent using in-band G.711 Fax transmission mode.
Call made from PSTN line to an IP-PBX line, Answer call.
Fax transmission is completed and call is terminated by either of the end terminal devices

Ensure Wireshark trace shows that in-band G.711 Fax Transmission is used. Check that the fax is transmitted and received as expected.

Pass
IOP44In-band G.711 Fax transmission mode - IP-PBX to PSTN origination

Configure the ATA/IP-PBX/eSBC such that Fax transmission is sent using in-band G.711 Fax transmission mode.
Call made from IP-PBX line to a PSTN line, Answer call.
Fax transmission is completed and call is terminated by either of the end terminal devices

Ensure Wireshark trace shows that in-band G.711 Fax Transmission is used. Check that the fax is transmitted and received as expected.

Pass

IOP45Test of Call in progress audit function (response to in-call OPTIONS from soft switch to eSBC) & session refresh & response to UPDATE messages.

Call made from an IP-PBX line to a PSTN line, Answer call.
Leave the two parties in conversation for 35 minutes.
Ensure Session-expires setting is 3600 or less.
Ensure both parties have two-way speech at beginning and end of call.
Either party terminates call.

Check wireshark trace to ensure that in-call OPTIONS are sent by the soft switch and that the eSBC responds with status 200OK.
Check to see if the eSBC sends any in-call audit SIP messages.
Check for session refresh Update or Re-Invite and correct response.

Pass
IOP46

Test of 4 simultaneous calls, 2 inbound, 2 outbound calls

Vendor to configure eSBC for Round robin to ensure calls go to both Primary and secondary SBC

Configure the eSBC such that successive calls route to alternate SBCs (round robin, cyclic etc).
Make 4 simultaneous calls 2 inbound, 2 outbound calls. Answer calls and ensure two-way speech path for each call.

Pass
IOP47Test of eSBC endpoint restart-recoveryRestart the eSBC and ensure that, after recovery, inbound and outbound calls are successful.Pass
IOP48Test of eSBC loss of Ethernet link and reconnectionRemove the Ethernet link between the eSBC and CE router. Leave in this condition for at least 3 minutes. Reconnect the Ethernet link and ensure that after approx 2 minutes inbound and outbound calls are successful.Pass
IOP49Test of Primary SBC loss 

** Contact MSL engineer to carry out the following **
On the Primary SBC carry out the ALLSTOP command to disable the SBC.

Call made from IP-PBX line to a PSTN Line.
Call should attempt to route to Primary SBC. On non-response to INVITE, eSBC re-routes the call to the Secondary SBC.
Wait for call answer.
Either party terminates call.

** Contact MSL engineer to carry out the following **
Restart the Primary SBC

Pass
IOP51Test of verify call forward Internal Busy

Additional test to cover when vendors is using Microsoft Skype for Business 2015

PBX Subscriber 1 to make call to another PBX Subscriber 2 so that PSTN to call PBX subscriber 1 is Busy.

PSTN call PBX user 1. The call shoud automatically go to voicemail after 10 sec when forwarding is off.

VM is on another PBX Internal Line call should go to Voice Mail.

If voicemail PSTN to listen VM announcement if another PBX user check speech is clear in both directions.

If forwarded to voicemail PSTN terminated call after hearing VM announcement.

If forwarded to another user another either party terminate the call after checking speech is clear in both directions.

Pass
IOP52Test of Call forward internal on No Answer

Additional test to cover when vendors is using Microsoft Skype for Business 2015

PSTN call PBX user 1. PBX User 1 not to answer the call

The call should automatically go to voicemail (VM) which is in another internal PBX line if call forwarding is turned off.

Call automatically goes to voicemail after 10 seconds

PSTN terminated call after hearing VM announcement.

If forwarded is ON call is forwarded to another PBX user internal

Check speech quality, terminate the call after checking speech is clear in both directions

Pass
IOP53Test Call from PBX to PSTN
  1. eSBC to be configured to offer T.38 in addition to G711A-law and G711-U law
  2. Call made from PBX to PSTN
  3. Call to be established and two dialog for 10 minutes.
  4. Check Wireshark output. You should not see T.38 being reflected in the protocol column after call having been established for 7 minutes.
  5. If T.38 is reflected in the protocol column make a note of this.
Pass

Conclusion

Ribbon successfully completed configuration and testing for the Ribbon SBC Core to interoperate with a Skype for Business 2015 system and a Virgin Media SIP trunk. All feature and serviceability issues were completed with the noted exceptions and observations.


Appendix A


  • For test case IOP13, Ribbon used NGT Lite software to enable text directly to emergency services.


IOP13



  • For test case IOP27, the following SMM rule was applied to match the case conditions:
IOP27
set profiles signaling sipAdaptorProfile "PAID_CHANGE" state "enabled" advancedSMM "disabled" profileType "messageManipulation"
set profiles signaling sipAdaptorProfile "PAID_CHANGE" rule "1" criterion "1" type "message"
set profiles signaling sipAdaptorProfile "PAID_CHANGE" rule "1" criterion "1" message messageTypes "request" methodTypes "invite"
set profiles signaling sipAdaptorProfile "PAID_CHANGE" rule "1" criterion "2" type "header"
set profiles signaling sipAdaptorProfile "PAID_CHANGE" rule "1" criterion "2" header name "P-Asserted-Identity" condition "exist" hdrInstance "all"
set profiles signaling sipAdaptorProfile "PAID_CHANGE" rule "1" applyMatchHeader "one"
set profiles signaling sipAdaptorProfile "PAID_CHANGE" rule "1" action "1" type "header" operation "modify" headerInfo "fieldValue"
set profiles signaling sipAdaptorProfile "PAID_CHANGE" rule "1" action "1" to type "header" value "P-Asserted-Identity"
set profiles signaling sipAdaptorProfile "PAID_CHANGE" rule "1" action "1" from type "value" value "<PrgSkype1>; <sip:+441183374130@216.110.2.220:5060>"


  • For test case IOP28, you must select Enable forward P-Asserted-Identity data to set CLIR.

Select Control Panel > Voice Routing > Trunk Configuration

IOP28


  • For test case IOP29, IOP30, IOP32, to configure any kind of Call Forward in Microsoft Skype for Business Client you need to select the number to forward the call:


IOP32

 


  • For test case IOP34, by default, the Ribbon SBC does not forward RE-INVITE messages from Skype for Business to the Virgin Media SIP trunk.


IOP34



  • For test case IOP36, use the Microsoft Exchange admin center software to configure the Unified Messaging service. This allows Skype for Business to send 480 messages to Ribbon SBC 2000. You need to disabled Unified Messaging service


IOP36_1



IOP36_2

 
  • For test case IOP39, the following configuration needs to be changed on the SBC Ribbon in order to send the DTM inband:
IOP39
configure
set profiles media codecEntry SKYPE_G711A_20ms_2833 dtmf relay rfc2833
set profiles media codecEntry SKYPE_G711U_20ms_2833 dtmf relay rfc2833
set profiles media codecEntry VIRGIN_MEDIA_G711A dtmf relay none
set profiles media codecEntry VIRGIN_MEDIA_G711U dtmf relay none
commit


  • For test cases IOP43 and IOP44, the following configuration needs to be changed on the SBC in order to send the Fax inband:
IOP43 and IOP44
configure
set profiles media codecEntry FAX_G711A_20ms_2833 fax toneTreatment none
set profiles media codecEntry FAX_G711U_20ms_2833 fax toneTreatment none
set profiles media codecEntry VIRGIN_MEDIA_G711A fax toneTreatment none
set profiles media codecEntry VIRGIN_MEDIA_G711U fax toneTreatment none
commit


  • For test case IOP45, you must modify configuration settings in Skype for Business and SBC Ribbon in order to maintain a muted call, without sending RTP packets, for more than six minutes.

In Skype for Business you need to add the following lines by Shell:

Set-CsTrunkConfiguration -EnableSessionTimer $True
Set-CsTrunkConfiguration -RTCPActiveCalls $false -RTCPCallsOnHold $false.

For the Ribbon SBC, access the RTCP Options page to enable RTCP and Termination For Passthrough for the VIRGIN_MEDIA_PSP packet service profile.

IOP45