Hi
I have configured ser and sems to have voicemail on my customers. To work with natted us I use mediaproxy and the ser.cfg from onsip.org
Everything works fine when an user is offline, but when I try to use a failure route I am not able to get it working on natted custmers.
The failure route is: failure_route[1] { if (t_check_status("408|486|480")){ ## Do not include 487!! lookup("aliases") ; rewritehostport("voip.italycomnet.it:5090"); append_branch(); t_relay(); break; }; }
It is called on route(1):
route[1] { t_on_reply("1");
if (!t_relay()) { if (method=="INVITE" || method=="ACK") { end_media_session(); }; sl_reply_error();
};
if (isflagset(4)) { t_on_failure("1"); };
}
This is the sems log whe i call a natted us:
(32382) DEBUG: write_to_fifo (SerClient.cpp:249): Write to fifo: completed (32382) DEBUG: getReturnCode (AmRequest.cpp:367): response from Ser: 200 fifo_t_reply succeeded (32382) DEBUG: setRAddr (AmRtpStream.cpp:394): RTP remote address set to 213.178.208.130:13652 (32382) DEBUG: negotiate (AmSession.cpp:184): Sending Rtp data to 213.178.208.130/13652 (32382) DEBUG: onSessionStart (AnswerMachine.cpp:316): starting sending announce...(/usr/local/apache2/htdocs/html/audio/default_en.wav) (32382) DEBUG: trying to read WAV file (32382) DEBUG: tag = <RIFF> (32382) DEBUG: file size = <391108> (32382) DEBUG: tag = <WAVE> (32382) DEBUG: tag = <fmt > (32382) DEBUG: chunk_size = <16> (32382) DEBUG: fmt = <01> (32382) DEBUG: channels = <1> (32382) DEBUG: rate = <8000> (32382) DEBUG: bits/sample = <16> (32382) DEBUG: tag = <data> (32382) DEBUG: chunk size = <391072> (32382) DEBUG: run (AmServer.cpp:158): version= <0.3> (32382) DEBUG: run (AmServer.cpp:168): fct_name= <sip_request.bye> (32382) DEBUG: execute (AmServer.cpp:226): cmd.method= <BYE> (32382) DEBUG: execute (AmServer.cpp:227): cmd.user= <voicemail+cyber> (32382) DEBUG: execute (AmServer.cpp:228): cmd.domain= <213.178.216.45> (32382) DEBUG: execute (AmServer.cpp:229): cmd.dstip= <213.178.216.45> (32382) DEBUG: execute (AmServer.cpp:230): cmd.port= <5090> (32382) DEBUG: execute (AmServer.cpp:231): cmd.r_uri= sip:voicemail+cyber@213.178.216.45:5090 (32382) DEBUG: execute (AmServer.cpp:232): cmd.from_uri= sip:6294209153@213.178.208.130 (32382) DEBUG: execute (AmServer.cpp:233): cmd.from= <"anonymous" sip:6294209153@213.178.208.130> (32382) DEBUG: execute (AmServer.cpp:234): cmd.to= <sip:08281895128@voadsl.italycomnet.it;tag=00007E7E32D96353> (32382) DEBUG: execute (AmServer.cpp:235): cmd.callid= 462465ae31a409b34ac2ccba108ed51d@213.178.208.130 (32382) DEBUG: execute (AmServer.cpp:236): cmd.from_tag= <as759a2b45> (32382) DEBUG: execute (AmServer.cpp:237): cmd.to_tag= <00007E7E32D96353> (32382) DEBUG: execute (AmServer.cpp:240): cseq_str= <103> (32382) DEBUG: execute (AmServer.cpp:245): cseq= <103>(103) (32382) DEBUG: execute (AmServer.cpp:247): cmd.key= <21048:437100943> (32382) DEBUG: execute (AmServer.cpp:248): cmd.route= <sip:213.178.216.45;ftag=as759a2b45;lr=on> (32382) DEBUG: execute (AmServer.cpp:249): cmd.next_hop= sip:213.178.216.45;ftag=as759a2b45;lr=on (32382) DEBUG: execute (AmServer.cpp:255): hdrs: `P-MsgFlags: 0 ' (32382) DEBUG: execute (AmServer.cpp:262): body: `' (32382) DEBUG: execute (AmServer.cpp:275): everything is OK ! (32382) DEBUG: sadSession (AmSession.cpp:358): searching for session to destroy (hash=462465ae31a409b34ac2ccba108ed51d@213.178.208.130as759a2b45,sess_key=00007E7E32D96353) (32382) DEBUG: findSession (AmSession.cpp:421): session found with key (32382) DEBUG: destroySession (AmSession.cpp:380): sess_it != a_sessions.end() (32382) DEBUG: destroySession (AmSession.cpp:383): it != sess_it->second.end() (32382) DEBUG: destroySession (AmSession.cpp:390): session found: stopping session (32382) DEBUG: stopAndQueue (AmSession.cpp:338): session cleaner trying to stop 32382 (32382) DEBUG: stop (AmThread.cpp:93): Thread 32382 calling on_stop, give it a chance to clean up. (32382) DEBUG: postEvent (AmEventQueue.cpp:47): AmEventQueue: trying to post event (32382) DEBUG: postEvent (AmEventQueue.cpp:55): AmEventQueue: event posted (32382) DEBUG: stop (AmThread.cpp:107): Thread 32382 finished detach. (32382) DEBUG: destroySession (AmSession.cpp:394): session stopped and destroyed (#sessions=0) (32382) DEBUG: write_to_fifo (SerClient.cpp:242): write_to_fifo: <:t_reply:00007E7E6EEFE477 200 OK 21048:437100943 00007E7E32D96353 Contact: sip:bye+cyber@213.178.216.45:5090
Seems that the body is missing but I don't understend why???
Any help?
Thanks Rosario