Yasin,
1. The Request URI of the ACK must match the Contact of the other end (the Contact URI in the 200 OK), was you correctly surmised. This includes all attributes of the Contact URI, including port.
2. The ACK you pasted needs to contain Route: headers whose values match the Record-Route headers in the 200 OK. This is not the case in the ACK you pasted.
3. The construction of the ACK is entirely up to the calling User Agent; if it is malformed, this is not something Kamailio can fix.
-- Alex
It would be relevant to see the 200ok as received by each hop in the call path. Also, be sure you don't use fix_nated_contact() on the proxy if it is not the first node next to endpoint -- anyhow it is recommended to use set_contact_alias().
As a clafication, do you use tcp/tls between Kamailio2 and Asterisk?
Cheers, Daniel
On 12/04/16 22:12, Yasin CANER wrote:
Hello; Thanks for advices. Kamailio2 and Asterisk use UDP. Well, i fixed issue that Client Firewall has SIP alg and changes the ContactUri port and disabled SIP ALG.
First,i try to add Record Route to ACK on kamailio2 But it didnt work and Transaction couldnt complete for BYE Second, tried to fix Contact or removed on Kamailio2 , it didnt work.
Third , tried to fix R-URI port changes to 5060 that asterisk's listen port. it worked.
After comparing Elastix packets and Kamailio-1 packets , i realized that Firewall changes SIP packets with SIP ALG.
in conclusion , i need to work NATDETECT route on Kamailio 1 and Kamailio 2 that i can fix this issue on Kamailio.
Thanks.
Call Flow
Contact Header Elastix:192.168.0.0:5060--->FW-->Elastix:PublicIP:10432-->Kamailio1-->Kamailio2+Asterisk.
-- View this message in context: http://sip-router.1086192.n5.nabble.com/Misrouting-ACK-packet-for-200-Ok-mes... Sent from the Users mailing list archive at Nabble.com.