[Serusers] nathelper / rtpproxy inconsistencies

Jan Janak jan at iptel.org
Tue Feb 24 13:38:33 CET 2004


Try to make SIP message dumps using ngrep, we would like to see the
messages which are discarded by the CISCO gateway and which get 400 Bad
Request from the other gateway.

  Jan.

On 24-02 00:24, Jac Barben wrote:
> All:
> 
> Please bear with me... I'm having a hard time formulating this quesiton.
> 
> Basics:
> ser-0.8.12  from src
> rtpproxy = $Id: main.c,v 1.19.2.10 2003/10/18 20:14:22 sobomax Exp
> RH 7.3  updated to: [root at sip2 rtpproxy]# uname -a
> Linux sip2.claritycolorado.com 2.4.20-20.7 #1 Mon Aug 18 14:56:30 EDT 
> 2003 i686
> unknown
> 
> The problem seems to be that I cannot "always" forward calls to a given 
> destination if I have executed the force_rtp_proxy.
> 
> Typically I'm using a UA like a Cisco ATA, PureData, or softphone behind 
> a firewall.  They in-turn register to SER/rtpproxy at a legal IP 
> address; most calls are then forwarded to a Vega gateway that resides on 
> the same network as SER/rtpproxy (in Denver).  In this instance all is 
> well.  However, when I try to alt route calls to an "off-network" source 
> (Cisco in LA and Sonus in Houston) I get two different and disturbing 
> results:
> 1. Cisco will not respond to SER:  Cisco simply indicates in its own 
> logs that the INVITE is invalid and thus "trashed" the message
> 2. Sonus will respond with a "Bad Request"
> 
> Below are some snippets:
> 
> Prior to calling the route I have already I identified whether or not my 
> UA is behind a firewall and have fix_nated_contact(), force_rport(), 
> setflag(1)
> 
> SER/rtpproxy is running at 64.47.72.12
> 
> # Clarity Vega Evergreen CO -- this one works
> route[1]
> {
>       if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)" &&
>               !search("^Route:") ) {
>               sl_send_reply("479",
>                       "We don't forward to private IP addresses");
>               break;
>       };
>                                                                               
> 
>       record_route();
>       if (isflagset(1)) {
>               fix_nated_sdp("1");
>               force_rtp_proxy();
>               t_on_reply("2");
>       }
>                                                                               
> 
>       rewritehostport("64.47.72.10:5060");
>       t_relay();
> }
> 
> # Clarity Cisco AS5300 LA -- this one does not
> route[2]
> {
>       if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)" &&
>               !search("^Route:") ) {
>               sl_send_reply("479",
>                       "We don't forward to private IP addresses");
>               break;
>       };
>                                                                               
> 
>       record_route();
>       if (isflagset(1)) {
>               fix_nated_sdp("1");
>               force_rtp_proxy();
>               t_on_reply("2");
>       }
>                                                                               
> 
>       rewritehostport("198.77.133.30:5060");
>       t_relay();
> }
> 
> 
> # Clarity Sonus Houston  -- this one does not
> route[3]
> {
>       if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)" &&
>               !search("^Route:") ) {
>               sl_send_reply("479",
>                       "We don't forward to private IP addresses");
>               break;
>       };
>                                                                               
> 
>       record_route();
>       if (isflagset(1)) {
>               fix_nated_sdp("1");
>               force_rtp_proxy();
>               t_on_reply("2");
>       }
>                                                                               
> 
>       rewritehostport("64.47.6.6:5060");
>       t_relay();
> }
> 
> /* inbound */
> onreply_route[2] {
>       fix_nated_contact();
>       fix_nated_sdp("1");
>       force_rtp_proxy();
> }
> 
> 
> Please... If you have any ideas... I'm really stuck.
> 
> Jac Barben
> 
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list