[OpenSIPS-Users] drouting: is_from_gw() does not detect requests from (redundant) PSTN gateways

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu Jun 11 12:08:30 CEST 2009


Hi René,

Please try the last SVN trunk - I made a fix on SVN trunk and if ok, I 
will backport it to 1.5 also. Test it please and let me know.

Regards,
Bogdan

Rene de Vall wrote:
> Hi Bogdan,
>
> ...sorry fo rmy late reply, we tested with svn branch 1.5 rev. 5768 
> and it didn't work.
>
> It seems that the check in drouting.c
>
> "if( type==pgwa->type &&
>         (pgwa->port==0 || pgwa->port==msg->rcv.src_port) &&
>         ip_addr_cmp(&pgwa->ip, &msg->rcv.src_ip) )"
>
> fails because of the fact, that pgwa->port is not 0 but 5060 at this 
> point, which might be caused by 
>
> "if (port && *port==0)
>             *port = (is_sips||((*proto)==PROTO_TLS))?SIPS_PORT:SIP_PORT;"
>
> in resolve.c which is (eg. for me it seems to be) called during 
> add_dst in routing.c.
>
> I very much appreciate your efford to fix this, many thanks in advance.
>
> Best regards,
>
> René
>
>
>
> 2009/6/1 Bogdan-Andrei Iancu <bogdan at voice-system.ro 
> <mailto:bogdan at voice-system.ro>>
>
>     Hi Rene,
>
>     I made the fix on the SVN trunk and 1.5 - upload and try again,
>
>
>     Regards,
>     Bogdan
>
>     Rene de Vall wrote:
>
>         Hi Bogdan,
>
>         ...yes, you're right, the gateway "behaves asymmetric", when
>         it sends out the request it uses just the next port (socket)
>         which the underlying operating system (IOS, in this case)
>         offers as source port.
>
>         Your proposed fix sounds goof to me, as it would work for all
>         types of gateways, no matter if they "behave symmetric" or
>         "asymmetric". If one needs to diversify a gateway which uses
>         one IP and different ports, she can always add the port to the
>         datafilled address in table dr_gateways...
>
>         Thank you for your fast response and best regards,
>
>         René
>
>
>




More information about the Users mailing list