Hello List
I have a question regarding the client_nat_test() in the mediaproxy
module.
If i have an INVITE something like this.
INVITE sip:5555848114@mydomain.com SIP/2.0.
Via: SIP/2.0/UDP sipgw.mydomain.com:5060;
branch=z9hG4bKNxvDQVViBAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA_.
Via: SIP/2.0/TCP xx.xx.154.68:14123.
From: <sip:22408100@sipgw.mydomain.com>;tag=3655298548.
To: sip:5555848114@mydomain.com.
CSeq: 1 INVITE.
Call-ID: 3406152498(a)sipgw.mydomain.com.
Contact: <sip:22408100@sipgw.mydomain.com>.
Accept: application/sdp.
Max-Forwards: 69.
Content-Type: application/sdp.
Content-Length: 200.
.
v=0.
o=sipgw.mydomain.com 811562435 1354711274 IN IP4 xx.xx.154.36.
s=SIP Library call.
c=IN IP4 xx.xx.154.68.
t=3312294794 0.
m=audio 23264 RTP/AVP 18 4.
a=rtpmap:18 G729/8000.
a=rtpmap:4 g723/8000.
How is possible to mediaproxy module detect this client as a NAT'd? Because
all the calls coming from this GW are being proxied by mediaproxy.
It suppose that this GW's has a public IP, so i don't understand why is this
happening.
Beside this can someone tell me if this is ok that a VIA parameter has a
domain name ????
The snippet for my NAT'd mediaproxy enviroment is :
if (client_nat_test("3")) {
log(1, "NAT: Requerimiento de IP privada --> fixed contact
(en rutina principal)\n");
setflag(5);
force_rport();
fix_contact();
append_hf("P-hint: fixed NAT contact for request\r\n");
....
if (method=="INVITE") {
log(1, "ROUTING: Reply processing (online user) enabled to
handle NAT'd resonses\n");
t_on_reply("1");
if ( (isflagset(5)) && (method=="INVITE" ||
method=="ACK") ) {
log(1, "NAT: Invite received --> enabling
media proxy (else del lookup 2do if)\n");
use_media_proxy();
append_hf("P-hint: request forced to media
proxy\r\n");
};
};
....
onreply_route[1] {
# If we've got here, it's because we've previously passed through a
block
# which handles NAT requests and has set a t_on_reply condition. DB
03-08-2004
if (status =~ "(183)|(2[0-9][0-9])") {
if (client_nat_test("3") || isflagset(5)) {
log(1, "NAT: Reply from NAT'd client --> fixing contact
(onreply_route)\n");
fix_contact();
use_media_proxy();
setflag(5);
};
log(1, "NAT: NAT'd transaction answered --> enabling media proxy
(onreply_route)\n");
# use_media_proxy();
};
}
Thanks in advance.
Best reegards,
Ricardo.-