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@127.0.0.1:5070;transport=udp> Could that ever work this way? On 6/4/13, Daniel Tryba <dan...@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 > _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users