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 <daniel(a)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