Hello,
On 03/11/14 10:43, Marko Seidenglanz wrote:
Hello,
We are using Kamailio 4.2 and RTPEngine 3.3 hosted on a VM behind NAT
in Google Cloud Engine.
Asterisk 11 + Kamailio + RTPEngine are on the same machine and
Kamailio is used as WebRTC Gateway.
INVITES, that are rewritten by Kamailio look like the following:
INVITE sip:eTden7KoNSdMVCUNYIwmz@wh2.24dial.com
<mailto:sip%3AeTden7KoNSdMVCUNYIwmz@wh2.24dial.com> SIP/2.0
Record-Route: <sip:0.0.0.0:5064;lr=on;nat=yes>
Via: SIP/2.0/UDP
0.0.0.0:5064;branch=z9hG4bK86f5.88fb7f8810c91758b5f3962420d3a4ef.0
Via: SIP/2.0/UDP
10.240.1.95:5060;received=127.0.0.1;branch=z9hG4bK05952ee6;rport=5060
Max-Forwards: 69
From: "Anonymous" <sip:anonymous@anonymous.invalid>;tag=as7900b63f
To: <sip:eTden7KoNSdMVCUNYIwmz@wh2.24dial.com
<mailto:sip%3AeTden7KoNSdMVCUNYIwmz@wh2.24dial.com>>
Contact: <sip:anonymous@10.240.1.95:5060;alias=127.0.0.1~5060~1>
Call-ID: 0662d336694c60ed60ed5310571a1aee@10.240.1.95:5060
<http://0662d336694c60ed60ed5310571a1aee@10.240.1.95:5060>
CSeq: 102 INVITE
User-Agent: Asterisk PBX 11.13.1
Date: Mon, 03 Nov 2014 09:01:39 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY,
INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 676
P-hint: outbound
As you can see, Kamailio uses 0.0.0.0 for Record-Route as well as for
VIA Header.
It uses the address configured in kamilio.cfg (listen=udp:0.0.0.0:5064
<http://0.0.0.0:5064>)
I know, that we could use the advertise parameter to tell kamailio the
external IP. The problem is, that IPs in GCE are dynamically assigned
to the VMs. Thus static configuration of external IP is not sufficient
for our setup.
Is there a way, to let Kamailio gather it's external IP dynamically.
(E.g. using a STUN server or something like that?)
Another possibility would be to tell Kamailio it's external IP via a
start parameter. Is that possible?
you can give the advertised address as part of the listen parameter:
listen=udp:localip:port advertise publicip:port
You can define tokens in kamailio configuration file via command line
parameter -A (see kamailio -h).
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Nov 24-27, Berlin -
http://www.asipto.com