Benoit Panizzon
2019-Nov-14 13:20 UTC
[asterisk-users] Two interfaces, pjsip, 180 ringing contains wrong contact IP
Hi Gang I have stumbled over a strange issue with Asterisk 13.18.3 I have two interfaces, two different IP Addresses. One facing to the internet, and one facing to am internal voice lan. Therefore I defined two different transports and endpoints: [transport-udp-internal] type=transport protocol=udp bind=**INTERNAL-IP**:5060 tos=cs3 cos=3 allow_reload=yes [transport-udp-external] type=transport protocol=udp bind=**EXTERNAL-IP**:5060 tos=cs3 cos=3 allow_reload=yes [internal] type=endpoint transport=transport-udp-internal context=from-internal [...] rtp_symmetric=yes direct_media=no force_rport=yes rewrite_contact=yes media_address=***INTERNAL-IP*** bind_rtp_to_media_address=yes [external] type=endpoint transport=transport-udp-external context=from-external [...] rtp_symmetric=yes direct_media=no force_rport=yes rewrite_contact=yes media_address=***EXTERNAL-IP*** bind_rtp_to_media_address=yes Dial Plan looks something like. This is more or less for testing purposes, later this will be replaced by an AGI routing and digit translation engine. [from-external] exten => _0xxxxxxxxx,1,NoOp(FROM: ${CALLERID(Number)} TO: ${EXTEN}) exten => _0xxxxxxxxx,n,Set(CALLERID(Number)=+41${CALLERID(Number):1}) exten => _0xxxxxxxxx,n,Set(DESTINATION=+41${EXTEN:1}) exten => _0xxxxxxxxx,n,NoOp(FROM: ${CALLERID(Number)} TO: ${DESTINATION}) exten => _0xxxxxxxxx,n,Dial(PJSIP/${DESTINATION}@internal) The Dialogue observed is: caller => INVITE => external IP (eip) eip => 100 trying => caller internal ip (iip) => INVITE => destination destination => 100 trying => iip destination => 180 Ringing => iip eip => 180 ringing => caller THIS contains a contact header with the INTERNAL IP caller => PRACK => iip (unreachable ip) What do I have to do, so the 180 ringing does contain the correct external IP? If I disable 100rel I stumble over the next one As soon as the connection is established, the 200 OK sent to the original caller also contains a contact header with the internal ip. Mit freundlichen Grüssen -Benoît Panizzon- -- I m p r o W a r e A G - Leiter Commerce Kunden ______________________________________________________ Zurlindenstrasse 29 Tel +41 61 826 93 00 CH-4133 Pratteln Fax +41 61 826 93 01 Schweiz Web http://www.imp.ch ______________________________________________________