In this section:
The Proxy CSCF (P-CSCF) is the first contact point within the IM CN subsystem for subscribers in an IMS network. A P-CSCF is allocated to the IMS terminal during IMS registration and does not change for the duration of the registration. From a standards perspective, the P-CSCF behaves like a SIP Proxy, i.e. it accepts requests and services them internally or forwards them on. The P-CSCF also behaves as a User Agent in some cases, i.e. in certain conditions it may terminate and/or independently generate SIP transactions. Examples of these cases are when the P-CSCF requests the registrar for a user’s registration state updates, when performing P-CSCF initiated dialog-release etc.
At a high level, the functions performed by the P-CSCF are:
In IMS networks, the P-CSCF interfaces with the following other functional elements:
A brief description of the call-flow is as follows:
A brief description of the call-flow is as follows:
The following profiles are configured:
% set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader To % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader From % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Path % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Accept % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Reason % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Server % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Warning % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Call-Info % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Alert-Info % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Error-Info % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader User-Agent % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Referred-By excludedMethods register,subscribe,info,publish,message,options,update,bye % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Request-URI % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Accept-Language % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader Contact % set profiles services transparencyProfile TRANS_PROF_ACCESS sipHeader P-Called-Party-Id commit % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody application/pidf+xml % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody application/rlmi+xml % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody message/external-body % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody application/pidf+xml % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody application/cpim-pidf+xml % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody application/pidf-diff+xml % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody application/dialog-info+xml % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody application/simple-filter+xml % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody application/resource-lists+xml % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody application/conference-info+xml % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody application/simple-message-summary % set profiles services transparencyProfile TRANS_PROF_ACCESS sipMessageBody application/vnd.3gpp.srvcc-ext ignoreTransparency yes commit % set profiles services transparencyProfile TRANS_PROF_ACCESS state enabled commit % set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_TOWARDS_UE services transparencyProfile TRANS_PROF_ACCESS commit
% set addressContext ADDR_CONTEXT1 ipInterfaceGroup LIG1 ipInterface LIF1 ceName SBX portName pkt0 ipAddress 10.4.8.16 prefix 24 altIpAddress fd00:10:6b50:248f::a altPrefix 60 % set addressContext ADDR_CONTEXT1 ipInterfaceGroup LIG1 ipInterface LIF1 mode inService state enabled % set addressContext ADDR_CONTEXT1 ipInterfaceGroup LIG2 ipInterface LIF2 ceName SBX portName pkt2 ipAddress 10.4.9.16 prefix 24 altIpAddress fd00:10:6b50:249f::a altPrefix 60 % set addressContext ADDR_CONTEXT1 ipInterfaceGroup LIG2 ipInterface LIF2 mode inService state enabled % set addressContext ADDR_CONTEXT1 ipInterfaceGroup LIG3 ipInterface LIF3 ceName SBX portName pkt0 ipAddress 10.4.8.18 prefix 24 altIpAddress fd00:10:6b50:248f::c altPrefix 60 % set addressContext ADDR_CONTEXT1 ipInterfaceGroup LIG3 ipInterface LIF3 mode inService state enabled % set addressContext ADDR_CONTEXT1 ipInterfaceGroup LIG4 ipInterface LIF4 ceName SBX portName pkt0 ipAddress 10.4.8.18 prefix 24 altIpAddress fd00:10:6b50:248f::c altPrefix 60 % set addressContext ADDR_CONTEXT1 ipInterfaceGroup LIG4 ipInterface LIF4 mode inService state enabled % set addressContext ADDR_CONTEXT1 staticRoute 10.0.0.0 8 10.4.8.1 LIG1 LIF1 preference 100
% set profiles services emergencyCallProfile IMS-EMG prefix 911 % commit
% set profiles services sipSecurityProfile PCSCF sipSecurityMechanism ipsec-3gpp precedence 1 % commit
% set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_PCSCF_INT_IP policy signaling ipSignalingProfile DFL_PCSCF_UE_TG_PROF % commit % set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_PCSCF_INT_IP signaling P-HeaderExtensions insertpVisitedNetworkID 'sonusNetworks' % commit % set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_PCSCF_INT_IP signaling registration requireRegistration required-nonpriority % commit % set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_PCSCF_INT_IP signaling prefRequireTransparency enabled % commit % set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_PCSCF_INT_IP signaling condIncMethInAllowHdr enabled % commit
% set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_PCSCF_INT_IP signaling keepSupport enabled outboundSupport enabled % commit % set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_PCSCF_INT_IP services natTraversal outboundTcpKeepaliveTimer 240 outboundUdpKeepaliveTimer 60 % commit
% set addressContext ADDR_CONTEXT1 diamNode DIAMNODE originRealm sbc.com primaryOriginHost primary.sbc.com secondaryOriginHost secondary.sbc.com transactionTimeout 6000 ipInterfaceGroupName LIF1 ipV4Address 172.16.13.120 % set addressContext ADDR_CONTEXT1 diamNode DIAMNODE state enabled % commit % set addressContext ADDR_CONTEXT1 diamNode DIAMNODE peer RX.SONUS.COM fqdn htpcgw01.ims.mnc094.mcc235.3gppnetwork.org ipAddress 172.16.13.30 % commit % set addressContext ADDR_CONTEXT1 diamNode DIAMNODE peer RX.SONUS.COM state enabled % commit % set addressContext ADDR_CONTEXT1 diamNode DIAMNODE realmRoute RX.SONUS.COM realm ims.mnc094.mcc235.3gppnetwork.org peer RX.SONUS.COM appId rx % commit % set addressContext ADDR_CONTEXT1 diamNode DIAMNODE realmRoute RX.SONUS.COM state enabled % commit % set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_PCSCF_INT_IP media pcrf pcrfRealm ims.mnc094.mcc235.3gppnetwork.org pcrfCommitment supported cushionPacketSize enabled cushionNullSdp enabled
% set addressContext ADDR_CONTEXT1 diamNode DIAMNODE originRealm sbc.com primaryOriginHost sonus.sbc.com secondaryOriginHost sonus.sbc2.com transactionTimeout 6000 ipInterfaceGroupName LIF1 ipV4Address 172.16.13.120 % set addressContext ADDR_CONTEXT1 diamNode DIAMNODE state enabled % commit % set addressContext ADDR_CONTEXT1 diamNode DIAMNODE peer RF.SONUS.COM fqdn htpcgw01.ims.mnc094.mcc235.3gppnetwork.org ipAddress 172.16.13.30 % commit % set addressContext ADDR_CONTEXT1 diamNode DIAMNODE peer RF.SONUS.COM state enabled % commit % set addressContext ADDR_CONTEXT1 diamNode DIAMNODE realmRoute RF.SONUS.COM realm ims.mnc094.mcc235.3gppnetwork.org peer RF.SONUS.COM appId rf % commit % set addressContext ADDR_CONTEXT1 diamNode DIAMNODE realmRoute RF.SONUS.COM state enabled % commit % set global signaling diamSigControls defaultCCF 172.16.13.30 % commit % set global signaling diamSigControls enableRfApp enabled % commit % set global signaling diamSigControls generateFailedEventAcr enabled % commit % set global signaling diamSigControls maxACRretransmission 3
% set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_PCSCF_INT_IP services emergencyCallHandlingMode none emergencyCallProfile IMS-EMG % commit % set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_PCSCF_INT_IP signaling usePsxRouteForEmergencyCall enable % commit
% set addressContext ADDR_CONTEXT1 zone ZONE1 sipTrunkGroup TG_PCSCF_INT_IP services sipSecurityProfile PCSCF % commit
% set addressContext ADDR_CONTEXT1 zone ZONE1 id 5 sipSigPort 1 ipInterfaceGroupName LIG1 ipAddressV4 10.4.8.16 ipAddressV6 fd00:10:6b50:248f::a portNumber 5060 transportProtocolsAllowed sip-tcp,sip-udp,sip-tls-tcp,sip-sctp mode inService state enabled % set addressContext ADDR_CONTEXT1 zone ZONE1 dialogTransparency enabled % set addressContext ADDR_CONTEXT1 zone ZONE1 disableZoneLevelLoopDetection disabled
The following flags must be configured:
The following parameters are configured :
The following must be enabled in PSX under "IP SIGNALING PROFILE":
The following "Relay Flags" must be enabled under "Ip Signaling profile":
The following parameters are to enabled :
The following parameter is to be enabled:
% set addressContext ADDRESS_CONTEXT1 zone ZONE1 sipTrunkGroup TG_TOWARDS_UE commit
The following profiles/fields must be enabled:
The following profiles are configured:
% set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader To % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader From % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Path % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Accept % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Reason % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Server % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Warning % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Call-Info % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Alert-Info % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Error-Info % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader User-Agent % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Referred-By excludedMethods register,subscribe,info,publish,message,options,update,bye % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Request-URI % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Accept-Language % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader P-Called-Party-Id % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Require % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Proxy-Require % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Security-Client % set profiles services transparencyProfile TRANS_PROF_CORENW sipHeader Security-Verify commit % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody application/pidf+xml excludedMethods register,invite,subscribe,info,publish,message,options,update,bye % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody application/pidf+xml % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody application/rlmi+xml % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody message/external-body % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody application/pidf+xml % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody application/cpim-pidf+xml % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody application/pidf-diff+xml % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody application/dialog-info+xml % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody application/simple-filter+xml % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody application/resource-lists+xml % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody application/conference-info+xml % set profiles services transparencyProfile TRANS_PROF_CORENW sipMessageBody application/simple-message-summary commit % set profiles services transparencyProfile TRANS_PROF_CORENW state enabled commit % set addressContext ADDR_CONTEXT1 zone ZONE2 sipTrunkGroup TG_TOWARDS_SCSCF services transparencyProfile TRANS_PROF_CORENW commit
% set addressContext ADDR_CONTEXT1 zone ZONE2 dialogTransparency enabled % set addressContext ADDR_CONTEXT1 zone ZONE2 disableZoneLevelLoopDetection disabled
The following flags must be configured:
The following parameters must be configured under "Ip Signaling Profile".
The following must be enabled in PSX under "IP SIGNALING PROFILE":
The following "Relay Flags" must be enabled under "Ip Signaling profile":
The following parameters are to enabled :
Select P-Preferred-ID from Privacy Information options (in Privacy option)
Select None from SIP TO Header Mapping (under SIP Headers And Parameters option)
The following profiles/fields must be enabled:
Select Services as Not Screened.
Refer Configuring SBC Towards S-CSCF/SCCAS section in Configuring SBC as IBCF.
% set addressContext ADDR_CONTEXT1 zone ZONE3 id 5 sipSigPort 1 ipInterfaceGroupName LIG3 ipAddressV4 10.4.8.18 ipAddressV6 fd00:10:6b50:248f::c portNumber 5060 transportProtocolsAllowed sip-tcp,sip-udp,sip-tls-tcp,sip-sctp mode inService state enabled % set addressContext ADDR_CONTEXT1 zone ZONE3 dialogTransparency enabled
Refer IPTG-5 (Towards Peer IBCF) section in Configuring SBC as IBCF.
% set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 media mediaIpInterfaceGroupName LIG3 % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 ingressIpPrefix 10.54.80.101 32 % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 ingressIpPrefix 10.54.80.8 32 % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 mode inService state enabled % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 signaling registration requireRegistration none % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 signaling relayNonInviteRequest enabled % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 services transparencyProfile IBCF_COMMON_HTP % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 callRouting sendRouteUriToPsx enabled % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 signaling skipDTGLookupForRouteHdr enabled % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 callRouting useRouteSet received % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 media omrAllowed enabled % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 media primaryRealmName RealmName2 % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 media directMediaAllowed disabled % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 transitIoi "IBCF" % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 callRouting sendRouteUriToPsx enabled % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 services honorSdpClockRate enabled % set addressContext ADDR_CONTEXT1 zone ZONE3 sipTrunkGroup IPTG-4 services preconditions transparent
For PSX related configuration, refer to the following sections of IBCF Configuration (Zone 1 Configuration (Towards P-CSCF in Roaming)):