[asterisk-users] Two interfaces, pjsip, 180 ringing contains wrong contact IP

Benoit Panizzon benoit.panizzon at imp.ch
Thu Nov 14 07:20:14 CST 2019


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
______________________________________________________



More information about the asterisk-users mailing list