I am trying to configure Asterisk 13 to send and receive calls from multiple VoIP providers over two different internet connections. To do so, I have set up two transports with different external_signaling_address and external_media_address and assigned them to the proper endpoints (see sample below). The problem is, when an INVITE from our ‘secondary’ VoIP provider comes in over the connection to which it is assigned (10.2.2.2 in the example), for some reason the OK response Asterisk is sending uses the IP address from the ‘primary’ transport in the Header Contact and in the Message Body Session Description Protocol entries, even though we haven’t specified that transport anywhere in the ‘secondary’ setup. This causes our provider to end RTP and other signal packets to the wrong IP. I’m sure I’m simply missing some setting, but I haven’t been able to figure out what needs to be done to fix the issue. Any help would be appreciated!
[transport-primary] type = transport protocol = udp bind = 0.0.0.0:5060 local_net = 192.168.0.0/16 external_signaling_address = 10.1.1.1 external_media_address = 10.1.1.1 [transport-secondary] type = transport protocol = udp bind = 0.0.0.0:5061 local_net = 192.168.0.0/16 external_signaling_address = 10.2.2.2 external_media_address = 10.2.2.2 [primary] type = aor contact = sip:10.5.5.5:5060 [primary] type = identify endpoint = primary match = 10.5.5.5 [primary] type = endpoint context = inbound dtmf_mode = rfc4733 disallow = all allow = ulaw allow = g726 allow = gsm rtp_symmetric = yes rewrite_contact = yes transport = transport-primary language = en aors = primary direct_media = no [secondary] type = aor contact = sip:10.9.9.9 [secondary] type = identify endpoint = secondary match = 10.9.9.9 [secondary] type = endpoint context = inbound dtmf_mode = rfc4733 disallow = all allow = ulaw allow = g726 allow = gsm transport = transport-secondary inband_progress = no language = en aors = secondary direct_media = no