[SR-Users] if (t_check_status("486|408"))

hiro 23hiro at gmail.com
Tue Jun 4 21:50:37 CEST 2013


ok. right now from tcpdump I can see the session progress and OK
messages are sent to the correct ip:port of my phone, but either the
phone doesn't receive it or it doesn't process it.

I assume the problem to be the headers sent by freeswitch, and perhaps
not changed appropriately by kamailio, but I'm not sure:
Call id and Cseq are the same as in RINGING, but contact header has
freeswitch's IP (on the same server as kamailio)
Contact: <sip:3 at 127.0.0.1:5070;transport=udp>

Could that ever work this way?

On 6/4/13, Daniel Tryba <daniel at pocos.nl> wrote:
> On Tuesday 04 June 2013 12:07:35 hiro wrote:
>> Sometimes it also seemed that kamailio was sending the INVITE to the
>> phone instead of to freeswitch, or when i played around between
>> changing $du or $ru the INVITE gets sends to freeswitch but with the
>> wrong URI pointing to the phone instead of 127.0.0.1:5070 which is
>> where freeswitch is listening.
>> I guess it would be easier to reproduce if that random factor wasn't
>> there, but at least it's failing most of the time, only in different
>> ways.
>> I had hoped I could get at least confirmation that it "works here" to
>> keep me going :P
>> I will test with xlog when I can test at home again which would at
>> least exclude NAT issues.
>
> It works here :)
>
> I know your pain. I spend days figuring out the magic trick was to set $du
> to
> null (which I stumbled upon by accident). Without $du=$null traffic was
> being
> routed (seemingly random) to either the registered phone or the actual
> voicemail server.
>
> # route to voicemail server
> route[TOVOICEMAIL] {
>         if(!is_method("INVITE"))
>                 return;
>
>         # check if VoiceMail server IP is defined
>         if (strempty($sel(cfg_get.voicemail.srv_ip))) {
>                 xlog("SCRIPT: VoiceMail routing enabled but IP not
> defined\n");
>                 return;
>         }
>
>         if($avp(dst_voicemail))
>         {
>                 $du=$null;
>                 $ru = "sip:tovm-" + $avp(dst_voicemail) + "@" +
> $sel(cfg_get.voicemail.srv_ip) + ":" + $sel(cfg_get.voicemail.srv_port);
>
>                 route(RELAY);
>
>                 exit;
>         }
>
>         return;
> }
>
> failure_route[MANAGE_FAILURE] {
> ....
>         # serial forking
>         # - route to voicemail on busy or no answer (timeout)
>         if (t_check_status("486|408")) {
>                 route(CALLREDIRECT);
>                 route(TOVOICEMAIL);
>                 exit;
>         }
> ....
> }
>
> --
>
> POCOS B.V. - Croy 9c - 5653 LC Eindhoven
> Telefoon: 040 293 8661 - Fax: 040 293 8658
> http://www.pocos.nl/   - http://www.sipo.nl/
> K.v.K. Eindhoven 17097024
>



More information about the sr-users mailing list