Recently, one of our students encountered a problem when connecting his CUCM to a telephony provider (ITSP) via a SIP trunk. Between the CUCM and the ITSP, a CUBE gateway was installed, as expected. The problem was the following: when making an outgoing call to the ITSP, CUBE sent a SIP INVITE, however, the provider did not respond to this request in any way, and no response messages were received from it.
Of course, the first thing to do in such a situation is to check which transport layer protocol (TCP or UDP) is configured on the gateway. However, in this case, the ITSP requested SIP messages to be sent with UDP transport, but Cisco gateways by default send all SIP messages with UDP, i.e. this was not the cause of the problem (you can control it with debug ccsip messages command). After talking with the provider's engineer, it was found out that they expect communication to the SIP gateway with the Destination Port = 5060, but they would also like to see Source Port as 5060 as well.
Typically, the Cisco Gateway selects the Source Port dynamically. Below is an example configuration for a gateway that solves this problem. There is one interesting command that sets Source Port = 5060
(config)# sip-ua
(config-sip-ua)# connection-reuse via-port
The connection-reuse via-port command, entered in the sip-ua configuration mode, just tells the gateway to select Source Port = 5060. After changing the CUBE configuration, calls began to work normally, as required.
It is possible that you will also encounter such a problem, and this solution will be useful for you too.
Не знал, что кто-то может требовать конкретный исходящий порт. Не сталкивался с таким. Но решение, как это всегда у вас бывает Дмитрий, было найдено)) Спасибо!
ReplyDeleteGood Tip
ReplyDeleteThanks for the feedback ;)
DeleteI have been looking for a week for a solution to this and with Cisco engineers we have not been able to resolve it.
ReplyDeleteI am not sure if it is common practice to request the same port 5060 for source and destination as other providers do not have that requirement.
Excellent post, thank you.