Hi guys, sometimes the ACK works. I have to calls: 1) Call from PSTN to SIP behind UMTS 2) Call from PSTN to SIP behind Firewall, NAT
The first call works like a charm, on the second call the ACK is relayed to the private IP. The differences which i saw: 1) on UMTS ip and port are different, on the 2 call only the ip is different: 2) on UMTS the contact from 200 OK sent by client contains the correct ip and port, behind the Firewall the contact contains the private IP 1) different ip and port, the ACK is correct INVITE from registrar/core to edge: INVITE sip:julian.santer@10.108.69.144:42680;transport=udp SIP/2.0 Via: SIP/2.0/UDP 195.254.254.7:5060;branch=z9hG4bK7d0b.4ab027f6.0 Route: <sip:195.254.254.4;lr;received=sip:5.90.5.144:31172> 200 OK from client to edge: Via: SIP/2.0/UDP 195.254.254.4:5060;branch=z9hG4bK6f83.33a2af56.0 Contact: "julian.santer" <sip:julian.santer@5.90.5.144:31172;transport=udp> ACK from edge to client: ACK sip:julian.santer@5.90.5.144:31172;transport=udp SIP/2.0 Via: SIP/2.0/UDP 195.254.254.4:5060;branch=z9hG4bK6f83.33a2af56.2 2) same ip, different PORT, the ACK is not correct INVITE from registrar/core to edge: INVITE sip:s@192.168.162.10:5060 SIP/2.0 Via: SIP/2.0/UDP 195.254.254.7:5060;branch=z9hG4bKd99e.5ba048e5.0 Route: <sip:195.254.254.4;lr;received=sip:31.207.121.195:5060> 200 OK from client to edge: Via: SIP/2.0/UDP 195.254.254.4:5060;branch=z9hG4bK298c.fc0e2d72.0;received=195.254.254.4;rport=5060 Contact: <sip:s@192.168.162.10:5060> ACK from edge to client: ACK sip:s@192.168.162.10:5060 SIP/2.0 Via: SIP/2.0/UDP 195.254.254.4:5060;branch=z9hG4bK298c.fc0e2d72.2 So one time it works and one time not. The differences what I found are: 1) - the 1. working call the ip and port from the contact and the received are different - the 2. non working call the ip from the contact and the received are different, but the ports are the same 2) - the 1. working call sends in the contact on the 200 OK package the public ip and port - the 2. non working call send in the contact on the 200 OK package the private ip and port Have we to call fix_contact on the 200 OK? And this will fix the misbehaviour? Kind regards, Julian Santer Raiffeisen OnLine Am 15.03.2016 um 14:14 schrieb Julian Santer:
Hi guys, we use OpenSip 2.1.2. We have a registrar/core (1.2.3.5) and a edge (1.2.3.4) server. We use the path module with use_received = 1 on the edge server. This works for the INVITE, but not for the ACK package. The ACK package is relayed to the private IP. The ACK packages enters in the topology_hiding route on the edge server: if (topology_hiding_match()) { t_relay(); exit; } The package received on edge from the registrar/core looks like: ACK sip:1.2.3.4;rdlg=6be.12762257 SIP/2.0 Via: SIP/2.0/UDP 1.2.3.5:5060;branch=z9hG4bK0deb.6b9adeb2.2 From: <sip:123456789@domain>;tag=F8155FD8-19F9 To: <sip:23456789@domain>;tag=cd783455 Call-ID: Core2_ExwGCwAcKScoSw8uBgl/KDk2AQAoGD8zCgcpJz9oDxgWDnxzFxcmWg0KPDNKcCk2AXUIAT80YXMLMyR1BSwlCUUgNUIgHw-- Max-Forwards: 7 CSeq: 101 ACK Content-Length: 0 P-hint: rr-enforced The package send from edge to client looks like: ACK sip:192.168.0.2:65002;transport=udp SIP/2.0 Via: SIP/2.0/UDP 1.2.3.4:5060;branch=z9hG4bK88d9.aada3c03.2 From: <sip:123456789@domain> tag=F8155FD8-19F9 To: <sip:23456789@domain>;tag=cd783455 Call-ID: Edge2_BgsVAAAaIR8SdQYTJgZ5FgcINkV9ESUCXmovIw4ABDUmCnUBXB0mVSYULR8LKiAfAmUBCh8fdD0HCjJVdS83IXwOByQOAAQ8MixzEVxXPGoIKCocYHQmNBJeBjEyAnwQLQAtRWhJ Max-Forwards: 6 CSeq: 101 ACK Content-Length: 0 P-hint: rr-enforced How can I rewrite the destination set to the public IP? What is missing? The 200 OK for the BYE package is routed correctly: SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.0.2:65002;received=PUBLIC_IP;rport=16855;branch=z9hG4bK-d8754z-5d46c107720d2f4a-1---d8754z- From: <sip:123456...@domain.it>;tag=cd783455 To: <sip:23456...@domain.it>;tag=F8155FD8-19F9 Call-ID: Edge2_BgsVAAAaIR8SdQYTJgZ5FgcINkV9ESUCXmovIw4ABDUmCnUBXB0mVSYULR8LKiAfAmUBCh8fdD0HCjJVdS83IXwOByQOAAQ8MixzEVxXPGoIKCocYHQmNBJeBjEyAnwQLQAtRWhJ Content-Length: 0 CSeq: 1 BYE Here the edge server enters the prublic IP in the via header as received param. Why he don't to this for the ACK package? Kind regards, Julian Santer Raiffeisen OnLine
_______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users