[OpenSER-Users] Routing Logic
Iñaki Baz Castillo
ibc at in.ilimit.es
Tue May 13 15:55:10 CEST 2008
El Tuesday 13 May 2008 15:40:25 VoIP Forums www.Go4Calls.com escribió:
> Hi Friends,
>
> I have the following route plan in my openser.cfg all blocks are working
> well instead of 800800.
>
> if (uri=~"sip:800800[1-9][0-9]+ at .*") {
> rewritehostport("officePBX-IP:5060");
> route(1);
> exit;
> } else if ($(rU{s.len})>=8) {
> rewritehostport("MyPSTNprovider-IP:5061");
> route(1);
> exit;
> }else{
>
> lookup("location");
> route(1);
> exit;
> };
>
>
> When i am trying to call 800800 the error message appearing is "513 Message
> too big"
It's completely logical. You are not matching 800800 in the above "if" except
in "else".
The first "if" matches uri's with username:
800800[1-9][0-9]+
This is: 800800 + a digit + a (digit pr more)
So 800800 is not matched there.
Finally it's taken by "else" clausule in which you do a "lookup" (that will
not success so the URI will remain being "800800 at ..." and you do a "route(1)"
(probably a t_relay()) so it will leave the host and by DNS return to it
again and again => 513 "Message too big" since each loop a "Record-Route"
and "Via" header is added and the size increased.
--
Iñaki Baz Castillo
ibc at in.ilimit.es
More information about the sr-users
mailing list