[Issue ]
1. Have a subnet of 192.168.x.x to which the phone registers which has been Natted to 172.X.X.X.
2. Trying to make incoming and outgoing calls, the call connects but there is no RTP on both ends. If want to register the phones using the Natted IP range.
3.Also, not able to see the Natted IP in any of the logs and need to investigate about this issue .
The phone is connected to AR in the LAN side and Cisco CUCM is on the public network but the phone can't regester to CUCM with the puplic IP and it is register with private which make communication not happen .
[Our Analysis]
1. The NAT configuration takes effect.
Log in to the device and check the network and NAT problems to the CUCM server

<GST_VOICE_TEST_ROUTER>dis nat session all
NAT Session Table Information:
Protocol : TCP(6)
SrcAddr Port Vpn : 192.168.111.1 35213
DestAddr Port Vpn : 172.X.X.X 5060
NAT-Info
New SrcAddr : 172.X.X.X
New SrcPort : 49144
New DestAddr : ----
New DestPort : ----
Protocol : UDP(17)
SrcAddr Port Vpn : 192.168.111.1 123
DestAddr Port Vpn : 172.X.X.X 123
NAT-Info
New SrcAddr : 172.X.X.X
New SrcPort : 10247
New DestAddr : ----
New DestPort : ----
Protocol : TCP(6)
SrcAddr Port Vpn : 192.168.111.1 35212
DestAddr Port Vpn : 172.X.X.X 5060
NAT-Info
New SrcAddr : 172.X.X.X
New SrcPort : 49145
New DestAddr : ----
New DestPort : ----
Total : 3
2. Checked the registered address on the CUCM and found the private address not the public :

3. Checked the tracert to the CUCM and checked capture packet on the egress interface .
CUCM is not directly connected to Access router, there are multiple devices between Access router (Where IPPHONE is directly connected)
The NAT is correctly performed on the device as mentioned before and the private IP address of 192.168.111.0/24 is not used to send data packets
But when we tested, investigated deeply the packet capture and queried more NAT information, it is found that some special protocol packets contain addresses that are not translated into public addresses by common NAT. Therefore, nat alg must be enabled to translate the addresses so that data communication is not affected .

We enabled the NAT ALG on the AR router ( as it is disabled by default ) :
Use this reference :
[AR1200] nat alg sip enable
3. After applying the configuration, the issue still existed so we captured another packet on the egress interface after enable the NAT ALG:
The test result is as follows:
1. In V200R006C10SPC300, the cause of the nat alg sip failure is that the Message Body in the Register message is the message body that the AR does not support. Therefore, the entire packet is not considered as a SIP packet. So it does not replace the internal address of the Contact or Via domain.

2. In V200R009C00SPC500 and V200R009C00SPH018, delete the message body that does not support the check and correctly replace the internal network address with the public network address.
So we upgraded AR to the latest version V200R009C00SPC500 and latest patch as Message Body which is not mandatory to CUCM server .
4. After the upgrade we tested on two phones .... one worked successfully but the other one had the same issue and registered on CUCM with the public IP so we captured packets for both phones on the egress and ingress interfaces to check :
For the phone that didn't work we found :
1.The following figure shows the result after the the test:
The cause is this: If finding any "expires = 0", sip alg doesn't work.

After the expire is extended, the fault is rectified.
The 'expires' means registering continues period. If it's 0, it means an unregister message.
It is advised to prolong the registration time from the phone and that’s why one phone was working and the other not .
5. After we reset the not working phone to defualt setting both phone worked proberly and register by poublic IP .



