Table Of Contents
Provisioning SIP Trunks
Provisioning Example
Provisioning Example - CLI
Provisioning SIP Trunk Features
Call Redirection
DNS SRV
Type of Service
Provisioning SIP Trunks on the Cisco BTS 10200
Provisioning Type of Service Default Settings for SIP Trunks Associated to the SIP Trunk Profile
TCP/UDP
Reliable Provisional Responses
Diversion Indication
Carrier Identification Code over SIP
Number Portability Information over SIP
SIP Trunk Sub-Groups
Session Timer
SIP-T
DTMF SIP Signaling
Asserted Identity
ANI-Based Routing
TCP/UDP
Calling Name Delivery on Terminating SIP Trunks
Provisioning SIP Trunks
This chapter provides instructions for provisioning SIP trunks. The purpose of SIP trunks is to service SIP calls between Cisco BTS 10200 and external SIP entities other than local SIP subscribers, such as a voice-mail server, remote call agent or SIP proxy.
Provisioning Example
The following example models a local Cisco BTS 10200 subscriber making a call out from a SIP trunk to a SIP proxy serving a NPA-NXX domain.
A trunk must be created and associated with the IP address of the proxy. The dial digits associated with the trunk must be provisioned within the originators' dial plan.
Note
Before provisioning, identify the following:
* The first 6 dial digits of the SIP proxy NPA-NXX domain: in this example, 469-255.
* Provisioned dial plan ID of the originator in Cisco BTS 10200: in this example, `dp1'.
* IP address of the SIP proxy: in this example, 1.2.3.4.
Provisioning Example - CLI
add softsw_tg_profile id=<profile_id>; protocol_type=SIP;
add pop id=<pop_id>; state=tx; country=usa; timezone=CST;
add trunk_grp id=<trunk_id>; tg_type=SOFTSW; softsw_tsap_addr=1.2.3.4; dial_plan_id=dp1;
tg_profile_id=<profile_id>; call_agent_id=<ca_id>; pop_id=<pop_id>;
add route id=<route_id>; tgn1-id=<trunk_id>;
add route-guide id=<route_guide_id>; policy_type=ROUTE; policy_id=<route_id>;
add destination dest-id=<dest_proxy_id>; call-type=LOCAL; route-type= ROUTE;
route_guide_id=<route_guide_id>;
add dial-plan id=dp1; digit-string=469-255; dest-id=<dest_proxy_id>;
Provisioning SIP Trunk Features
The following sections describe how to provision SIP trunk features.
Call Redirection
The following commands control call redirection on all trunks associated to the SIP trunk profile <profile_id>.
Step 1
Disable call redirection.
change softsw_tg_profile id=<profile_id>; REDIRECT_SUPPORTED=NONE;
Step 2
Enable call redirection.
The trunk accepts redirection contacts only with host names of the Cisco BTS 10200 SIP contact, or the TSAP address of any provisioned SIP trunks.
The default is:
change softsw_tg_profile id=<profile_id>; REDIRECT_SUPPORTED=VALID_DOMAINS_ONLY;
Step 3
Enable call redirection.
The trunk accepts redirection contacts with any host name. A contact URI is used as the request URL for the redirected call. The redirected call uses the properties of the SIP trunk in the previous call attempt.
change softsw_tg_profile id=<profile_id>; REDIRECT_SUPPORTED=ALL_DOMAINS;
DNS SRV
The following commands control DNS SRV on all trunks associated to the SIP trunk profile <profile_id>.
Step 1
Disable DNS SRV.
The default is:
change softsw_tg_profile id=<profile_id>; DNS_SRV_SUPP=NONE;
Step 2
Enable DNS SRV.
change softsw_tg_profile id=<profile_id>; DNS_SRV_SUPP=RFC2782_LABELS;
Note
When a DNS SRV query fails and the target destination is resolved using an A-record query, the SIP trunk provisioning characteristics determine the transport used. Consult the TCP/UDP section for provisioning details for the transport options available.
The softsw_tsap_addr of the softswitch trunk group can now be provisioned as one of the following:
a.
NAPTR name
b.
SRV name
c.
Host name
d.
Host name and port
e.
IP address
f.
IP address and port
Step 3
If the dns_srv_supp field of the softsw_tg_profile table is set to NONE, NAPTR and SRV names are not supported.
The use of either NAPTR, SRV or Host names requires correctly configured DNS servers.
Provisioning recommendations:
1.
When using SRV, if a host name is provisioned in the TSAP address, include a port. This allows the application to identify the address as a host name and skip NAPTR and SRV queries.
2.
If an SRV name is required, provision NAPTR entries to provide SRV replacement strings instead of waiting for a failure on the NAPTR query to make an SRV query.
3.
Provision DNS entries so that the same TSAP address is used to perform A-record queries or SRV quires.
Note
This can lead to problems when troubleshooting DNS configuration issues. If an A-record is set up for x.y.com and an SRV record is set up for _sip._udp.x.y.com, the system can successfully resolve the TSAP address x.y.com using either an SRV lookup or an A-record lookup. The system uses an SRV lookup if SRV support is turned on and an A-record lookup if SRV support is turned off. An investigator would likely verify the DNS configuration using nslookup to perform A-record queries, even if SRV queries were being used by the Cisco BTS 10200. Avoid confusion by setting up DNS entries so that the same TSAP address cannot be resolved by SRV queries and A record queries.
Type of Service
Provisioning SIP Trunks on the Cisco BTS 10200
The following commands set the Type of Service (ToS) default settings for all SIP trunks on the Cisco BTS 10200.
add ca_config TYPE=SIA-TRUNK-GRP-LEVEL-SIG-TOS; DATATYPE=BOOLEAN; VALUE=N;
add ca_config TYPE=SIA-SIG-TOS-PRECEDENCE; DATATYPE=INTEGER; VALUE=2;
add ca_config TYPE=SIA-SIG-TOS-RELIABILITY; DATATYPE=BOOLEAN; VALUE=N;
add ca_config TYPE=SIA-SIG-TOS-THROUGHPUT; DATATYPE=BOOLEAN; VALUE=N;
add ca_config TYPE=SIA-SIG-TOS-LOWDELAY; DATATYPE=BOOLEAN; VALUE=Y;
Provisioning Type of Service Default Settings for SIP Trunks Associated to the SIP Trunk Profile
The following commands set the ToS default settings for SIP trunks associated to the SIP trunk profile <profile_id>:
add ca_config TYPE=SIA-TRUNK-GRP-LEVEL-SIG-TOS; DATATYPE=BOOLEAN; VALUE=Y;
change softsw_tg_profile id=<profile_id>; SIP_SIG_LOWDELAY=Y;
change softsw_tg_profile id=<profile_id>; SIP_SIG_THROUGHPUT=N;
change softsw_tg_profile id=<profile_id>; SIP_SIG_RELIABILITY=N;
change softsw_tg_profile id=<profile_id>; SIP_SIG_PRECEDENCE=FLASH;
Note
Note that the `SIA-TRUNK-GRP-LEVEL-SIG-TOS' flag in the call agent configuration is used to select between using ToS settings for all SIP trunks, or ToS settings for specific SIP trunks.
TCP/UDP
Use the following steps to provision a non-SRV transport.
Step 1
Ensure the TSAP address for the trunk group is either a host name or an IP address. NAPTR and SRV TSAP addresses are not supported on non-SRV trunk groups.
Step 2
Set the dns_srv_supp field in the softsw_tg_profile table to NONE.
Step 3
Set the non-srv-transport field of the softsw_tg_profile table to the desired transport. The options are TCP, UDP, UDP_ONLY.
If TCP is not supported at the remote end of the trunk group, use UDP_ONLY to prevent using TCP for large messages.
For SRV trunk groups, the transport protocol is determined by the DNS configuration.
Refer to the SRV feature provisioning for details on provisioning SRV trunk groups and important notes on performance impacts.
Reliable Provisional Responses
The following commands control the reliable provisional response feature for regular SIP calls on all trunks associated to the SIP trunk profile <profile_id>.
Step 1
The default for making reliable provisional responses not required for regular SIP calls sent or received over a SIP trunk is:
change softsw_tg_profile id=<profile_id>; PRACK_FLAG=N;
Step 2
To make reliable provisional responses required for regular SIP calls sent or received over a SIP trunk, use the following command:
change softsw_tg_profile id=<profile_id>; PRACK_FLAG=Y;
Note
When reliable provisional responses are not required, the Cisco BTS 10200 will not make them required on remote SIP entities. However, the reliable provisional responses may still occur if a remote SIP entity requires it of Cisco BTS 10200.
This flag must applies only to SIP calls on regular SIP trunks, and regular SIP calls received on SIP-T provisioned trunks. Consult the Cisco BTS 10200 SIP User Guide for details on the behavior of this feature.
Diversion Indication
The following commands control the diversion feature on all trunks associated to the SIP trunk profile <profile_id>.
Step 1
Disable diversion headers for calls sent out the trunk.
The default is:
change softsw_tg_profile id=<profile_id>; DIVERSION_HEADER_SUPP=N;
and:
change softsw_tg_profile id=<profile_id>; CC_DIVERSION_SUPP=N;
Step 2
Enable diversion headers for calls sent out the trunk.
change softsw_tg_profile id=<profile_id>; DIVERSION_HEADER_SUPP=Y;
or:
change softsw_tg_profile id=<profile_id>; CC_DIVERSION_SUPP=Y;
Note
Note that DIVERSION_HEADER_SUPP and CC_DIVERSION_SUPP cannot both be set to `Y.'
These flags do not apply to incoming calls. If the diversion headers exist, the information from them is interpreted automatically.
Carrier Identification Code over SIP
A carrier identification code (CIC) received in a SIP call on an incoming SIP trunk is automatically interpreted. No provisioning control is available. For outgoing SIP calls originated by a local Cisco BTS 10200 subscriber, the CIC may be provided by the subscriber record if provisioned. Refer to the Cisco BTS 10200 Softswitch SIP Protocol User Guide for more details.
Number Portability Information over SIP
The following commands control number portability information for calls sent out on the SIP trunk group <tg_id>.
Step 1
The following command allow for sending number portability information if the information is available.
The default is:
change trunk_grp id=<tg_id>; SIGNAL_PORTED_NUMBER=N;
Step 2
The following command disables the addition of number portability information to SIP calls sent out a SIP trunk group:
change trunk_grp id=<tg_id>; SIGNAL_PORTED_NUMBER=Y;
Note
Note that number portability information received in a SIP call on an incoming SIP trunk is automatically interpreted. No provisioning control is available.
SIP Trunk Sub-Groups
These steps illustrate how to provide multiple trunks toward a remote SIP entity for additional network-specific or application-specific properties for calls to and from the Cisco BTS 10200. One example: the identification of which rate center the call originated.
The following information is required at the time of provisioning:
•
Associate a unique trunk group identifier for each rate center. For example: `rc1,' `rc2,' and `rc3' for three rate centers.
•
Identify the fully qualified domain name (FQDN) and port of the remote SIP server used for SIP message exchange. For example: `sipserver:5060.'
•
Create a dial plan for calls received on the SIP trunks, to route the calls based on the called party number. For example: the identifier for this dial plan is `dp.'
Step 1
Add a SIP trunk profile for the SIP trunks. Set the trunk sub-group type to indicate the trunk group identifier use:
add softsw_tg_profile ID=<profile_id>; PROTOCOL_TYPE=SIP; TRUNK_SUB_GRP_TYPE=TGID;
Step 2
Add a SIP trunk for each trunk group identifier. Each trunk points to the address of the voice-mail sever:
add trunk_grp ID=<trk_grp_id1>; TG_TYPE=SOFTSW; TG_PROFILE_ID=<profile_id>;
SOFTSW_TSAP_ADDR=sipser ver:5060; DIAL_PLAN_ID=dp; TRUNK_SUB_GRP=rc1;
and:
add trunk_grp ID=<trk_grp_id2>; TG_TYPE=SOFTSW; TG_PROFILE_ID=<profile_id>;
SOFTSW_TSAP_ADDR=sipserver:5060; DIAL_PLAN_ID=dp; TRUNK_SUB_GRP=rc2;
and:
add trunk_grp ID=<trk_grp_id3>; TG_TYPE=SOFTSW; TG_PROFILE_ID=<profile_id>;
SOFTSW_TSAP_ADDR=sipserver:5060; DIAL_PLAN_ID=dp; TRUNK_SUB_GRP=rc3;
Routing and dial plan tables are provisioned (not shown) so that calls originating from a specific rate center are sent out the SIP trunk with the trunk group identifier representing that rate center.
Session Timer
The following commands control the session timer feature on all SIP trunks associated to the SIP trunk profile <profile_id>.
Step 1
Disable session timer.
The default is:
change softsw_tg_profile id=<profile_id>; SESSION_TIMER_ALLOWED=N;
Step 2
Enable session timer.
change softsw_tg_profile id=<profile_id>; SESSION_TIMER_ALLOWED=Y;
Step 3
The following command sets the session duration when the duration is controlled by Cisco BTS 10200 for a given call.
The value specified is in seconds with a range of 1800 to 7200.
add ca_config TYPE=SESSION_EXPIRES; DATATYPE=INTEGER; VALUE=7200;
Step 4
The following command sets the minimum tolerable session duration if the session duration is negotiated down by other SIP entities along the signaling path.
The value specified is in seconds with a range of 900 to 1800.
add ca_config TYPE=MIN_SE; DATATYPE=INTEGER; VALUE=1800;
SIP-T
Step 1
A SIP-T trunk is provisioned by setting the protocol type to SIP-T in the SIP trunk profile <profile_id> as follows:
add softsw_tg_profile ID=<profile_id>; PROTOCOL_TYPE=SIP_T; PRACK_FLAG=Y;
SIPT_ISUP_VER=gr317;
Step 2
Next, add a SIP trunk group associating it to the SIP trunk profile above as follows. The following example uses the dial plan identifier `dp,' and the fully qualified domain name of the remote SIP-T entity `siptentity:5060.'
add trunk_grp ID=<trk_grp_id1>; TG_TYPE=SOFTSW; TG_PROFILE_ID=<profile_id>;
SOFTSW_TSAP_ADDR=siptentity:5060; DIAL_PLAN_ID=dp;
The version label (SIPT_ISUP_VER) is a user-provisioned alphanumeric in the SIP trunk profile required for SIP-T trunk types. The label represents the version name for gr317 ISUP as it is understood by the remote SIP-T entity for interworking. Usually, it is set to `gr317.' The flag for controlling reliable provisionable responses (PRACK_FLAG) must be enabled.
DTMF SIP Signaling
The following command controls the DTMF SIP signaling feature on all SIP trunks associated to the SIP trunk profile <profile_id>.
Step 1
Disable the DTMF SIP signaling feature.
The default is:
change softsw_tg_profile id=<profile_id>; DTMF_RELAY_METHOD=NONE;
Step 2
Enable the DTMF SIP signaling feature.
Use the SIP INFO method to send unsolicited notification of telephone events (DTMF) toward the remote SIP entity provisioned in the trunk group:
change softsw_tg_profile id=<profile_id>; DTMF_RELAY_METHOD=INFO;
Step 3
Enable the DTMF SIP signaling feature.
Use the SIP NOTIFY method to send solicited notification of telephone events (DTMF) toward the remote SIP entity provisioned in the trunk group. In this case, the remote SIP entity must subscribe to Cisco BTS 10200 for DTMF events:
change softsw_tg_profile id=<profile_id>; DTMF_RELAY_METHOD=NOTIFY;
Asserted Identity
The Asserted Identity feature is controlled by the Send CPN flag in the SIP trunk profile with the identifier <profile_id>. When disabled, asserted identity and privacy headers are not populated into the SIP INVITE message out the SIP trunk. In this case, the ANI information is populated into the From header.
Step 1
Disable the asserted Identity feature.
The default is:
change softsw_tg_profile id=<profile_id>; SEND_CPN=Y;
Step 2
Enable the asserted identity feature.
change softsw_tg_profile id=<profile_id>; SEND_CPN=N;
ANI-Based Routing
The following rules apply when provisioning ANI-based routing for calls incoming on a SIP trunk:
•
The softswitch trunk group on which the calls arrive must be have the "ANI_BASED_ROUTING" flag set to "Y."
•
Office codes (NPA-NXX) must be provisioned for the calling party numbers.
•
DN2Subscriber table must have the range of calling party numbers provisioned in it.
•
A subscriber must be provisioned for a given range of DNs provisioned in DN2Subscriber. This subscriber's dial-plan and POP is then used to make call-type and routing decisions.
Example 2-1 Example of ANI-Based Routing CLI
add softsw-tg-profile ID=SS_PROFILE; PROTOCOL_TYPE=SIP;
add trunk-grp ID=157; CALL_AGENT_ID=CA146; TG_TYPE=SOFTSW;
SOFTSW_TSAP_ADDR=domainname.com; TG_PROFILE_ID=SS_PROFILE; POP_ID=1;
DIAL_PLAN_ID=BASIC_DPP; ANI_BASED_ROUTING=Y;
add subscriber-profile ID=sub_profile; DIAL_PLAN_ID=BASIC_DPP; POP_ID=1;
add subscriber ID=sub5; CATEGORY=INDIVIDUAL; NAME=sub5; TGN_ID=157;
SUB_PROFILE_ID=sub_profile; TERM_TYPE=TG;
add office-code DIGIT_STRING=214-555; OFFICE_CODE_INDEX=1;
add dn2subscriber FROM-DN=214-555-1231; TO-DN=214-555-1233; SUB_ID=sub5;
TCP/UDP
If the dns_srv_supp field in the SIP trunk profile <profile_id> is set to NONE, the transport for outgoing calls is selected based on the non-srv-transport field. Possible values for this field are TCP, UDP, UDP_ONLY. These values are set as follows:
change softsw_tg_profile id=<profile_id>; NON_SRV_TRANSPORT=TCP;
or:
change softsw_tg_profile id=<profile_id>; NON_SRV_TRANSPORT=UDP;
or:
change softsw_tg_profile id=<profile_id>; NON_SRV_TRANSPORT=UDP_ONLY;
If UDP is provisioned as the transport and a SIP message is greater than 1300 bytes, Cisco BTS 10200 attempts to send it over TCP. If this fails, the Cisco BTS 10200 falls back to UDP and attempts to send the message. UDP_ONLY is used to prevent this attempt if it is known that TCP is not supported at the destination.
Calling Name Delivery on Terminating SIP Trunks
This section describes how to provision the Calling Name Delivery (CNAM) feature on a terminating SIP trunk on the Cisco BTS 10200. When enabled on a SIP trunk, a local subscriber originating a call out this SIP trunk will have the originator name in the SIP message.
In the following provisioning example, if subscriber `sub1' calls 469-555-2222, it is routed out a SIP trunk. The CNAM feature is invoked and adds `john doe' to the display name of outgoing SIP call. To associate CNAM to the trunk, CNAM is associated to a virtual subscriber, and the virtual subscriber is associated to the SIP trunk.
add softsw-tg-profile ID=SS_PROFILE; PROTOCOL_TYPE=SIP;
add trunk-grp ID=157; CALL_AGENT_ID=CA146; TG_TYPE=SOFTSW; SOFTSW_TSAP_ADDR=TsapAddr.com;
TG_PROFILE_ID=SS_PROFILE; POP_ID=1; DIAL_PLAN_ID=BASIC_DPP; ANI_BASED_ROUTING=Y;
add subscriber-profile ID=sub_profile; DIAL_PLAN_ID=BASIC_DPP; POP_ID=1;
add subscriber ID=subcnam; CATEGORY=INDIVIDUAL; NAME=subcnam; TGN_ID=157;
SUB_PROFILE_ID=sub_profile; TERM_TYPE=TG; DN1=469-555-2222;
add feature FNAME=CNAM; TDP1=FACILITY_SELECTED_AND_AVAILABLE;
TID1=TERMINATION_RESOURCE_AVAILABLE; TTYPE1=R; FEATURE_SERVER_ID=FSPTC235;
DESCRIPTION=Calling Name; GRP_FEATURE=N
add service ID=3; FNAME1=CNAM;
add subscriber-service-profile SUB_ID=subcnam; SERVICE_ID=3;
change subscriber id=sub1; NAME=john doe;