Application Layer Gateway for SIP Protocol
Using Large Scale NAT64 with Session Initiation Protocol (SIP) is complicated, because SIP messages contain IP addresses in the SIP headers as well as in the SIP body. When LSN is used with SIP, the SIP headers contain information about the caller and the receiver, and the device translates this information to hide it from the outside network. The SIP body contains the Session Description Protocol (SDP) information, which includes IP addresses and port numbers for transmission of the media. SIP ALG for large scale NAT64 is compliant with RFC 3261, RFC 3581, RFC 4566, and RFC 4475.
Note
SIP ALG is supported in a Citrix ADC standalone appliance, in a Citrix ADC high availability setup, as well as in a Citrix ADC cluster setup.
Limitations of SIP ALG
SIP ALG for large scale NAT64 has the following limitations:
- Only SDP payload is supported.
- The following are not supported:
- Multicast IP addresses
- Encrypted SDP
- SIP TLS
- FQDN translation
- SIP layer authentication
- Traffic Domains
- Admin partitions
- Multipart body
- Line folding
Configuring SIP ALG
You need to configure the SIP ALG as part of the LSN configuration. For instructions on configuring LSN, see Configuration Large Scale NAT64. While configuring LSN, make sure that you:
- Set the following parameters while adding an LSN application profile:
- IP Pooling = PAIRED
- Address and Port Mapping = ENDPOINT-INDEPENDENT
- Filtering = ENDPOINT-INDEPENDENT
- Create a SIP ALG profile and make sure that you define either the source port range or destination port range. Bind the SIP ALG profile to the LSN group.
- Enable SIP ALG in the LSN group.
To enable SIP ALG for an LSN configuration by using the CLI
At the command prompt, type:
add lsn group <groupname> -clientname <string> [-sipalg ( ENABLED | DISABLED )]
show lsn group <groupname>
<!--NeedCopy-->
To enable SIP ALG for an LSN configuration by using the CLI
At the command prompt, type:
add lsn sipalgprofile <sipalgprofilename>[-dataSessionIdleTimeout <positive_integer>][-sipSessionTimeout <positive_integer>] [-registrationTimeout <positive_integer>] [-sipsrcportrange <port[-port]>] [-sipdstportrange <port[-port]>] [-openRegisterPinhole ( ENABLED | DISABLED )] [-openContactPinhole ( ENABLED | DISABLED )] [-openViaPinhole ( ENABLED | DISABLED )] [-openRecordRoutePinhole ( ENABLED | DISABLED )]-sipTransportProtocol ( TCP | UDP ) [-openRoutePinhole ( ENABLED | DISABLED )] [-rport ( ENABLED | DISABLED )]
show lsn sipalgprofile <sipalgprofilename
<!--NeedCopy-->
Sample Configuration
The following sample large scale NAT64 configuration, SIP ALG is enabled for TCP traffic from subscriber devices in the network 2001:DB8:1003::/96.
add lsn client LSN-NAT64-CLIENT-9
Done
bind lsn client LSN-NAT64-CLIENT-9 -network6 2001:DB8:1002::/96
Done
add lsn pool LSN-NAT64-POOL-9
Done
bind lsn pool LSN-NAT64-POOL-9 203.0.113.90
Done
add lsn ip6profile LSN-NAT64-PROFILE-9 -type NAT64 -natprefix 2001:DB8:309::/96
Done
add lsn appsprofile LSN-NAT64-APPS-PROFILE-9 TCP -ippooling PAIRED –mapping ENDPOINT-INDEPENDENT -filtering ENDPOINT-INDEPENDENT
Done
add lsn sipalgprofile SIPALGPROFILE-9 -sipdstportrange 5060 -sipTransportProtocol TCP
Done
add lsn group LSN-NAT64-GROUP-9 -clientnameLSN-NAT64-CLIENT-9 -ip6profile LSN-NAT64-PROFILE-7 -sipalg ENABLED
Done
bind lsn group LSN-NAT64-GROUP-9 -poolnameLSN-NAT64-POOL-9
Done
bind lsn group LSN-NAT64-GROUP-9 -appsprofilename LSN-NAT64-APPS-PROFILE-9
Done
bind lsn group LSN-NAT64-GROUP-9 -sipalgprofilename SIPALGPROFILE-9
Done
<!--NeedCopy-->