Hi,
I want to have voicemail feature when phone is busy or on no answer
My configuration file is like that:
….
# route block used only to have voicemail if phone is busy or on no answer
route[6] {
append_branch();
avp_db_load("$ruri", "$avp(email)/$email_scheme");
if(!t_write_unix("/tmp/sems_socket", "voicemail/voicemail_headers")) {
t_reply("500", "error contacting sems");
return;
}
route(5);
route(4);
route(1);
}
failure_route[1] {
# flagset 26 <=> if phone busy we want a voicemail
if ( (isflagset(26)) && (t_check_status("486")) ) {
resetflag(26);
route(6);
return;
}
# flagset 27 <=> on no answer we want a voicemail
if ( (isflagset(27)) && (t_check_status("408")) ){
resetflag(27);
route(6);
return;
}
end_media_session();
}
Now if I use a "default.template" (used by the voicemail module) with the line:
from:voicemail@%domain%,
SEMS cannot send correctly a email:
(3988) INFO: connect (AmSmtpClient.cpp:96): 127.0.0.1 welcomes us
(3988) DEBUG: send_line (AmSmtpClient.cpp:173): SENDED: HELO 127.0.0.1
(3988) DEBUG: read_line (AmSmtpClient.cpp:145): RECEIVED: 250 christophe.rv.fr
(3988) DEBUG: run (AmMail.cpp:119): Mail deamon starting its work
(3988) DEBUG: send_line (AmSmtpClient.cpp:173): SENDED: mail from: <voicemail@172.20.250.1>
(3988) DEBUG: read_line (AmSmtpClient.cpp:145): RECEIVED: 501 Bad address syntax
SEMS is trying to send a mail from "voicemail@172.20.250.1" ! The SMTP server doesn't accept an IP and this IP is the IP of the callee SIP device … Strange. It's important to notice that "voicemail" works fine when is used on a phone not registered with the line "from:voicemail@%domain%" in file "default.template" .
In this case the SEMS log file is:
(4494) INFO: connect (AmSmtpClient.cpp:96): 127.0.0.1 welcomes us
(4494) DEBUG: send_line (AmSmtpClient.cpp:173): SENDED: HELO 127.0.0.1
(4494) DEBUG: read_line (AmSmtpClient.cpp:145): RECEIVED: 250 christophe.rv.fr
(4494) DEBUG: run (AmMail.cpp:119): Mail deamon starting its work
(4494) DEBUG: send_line (AmSmtpClient.cpp:173): SENDED: mail from: <voicemail@christophe.rv.fr>
(4494) DEBUG: read_line (AmSmtpClient.cpp:145): RECEIVED: 250 Ok
So I suspect the "%domain%" in "default.template" file is not correctly read by the module "voicemail" after a "failure_route" or after a "append_branch".
What I must change in my OpenSER configuration file in order to resolve this problem ?
NOTE: I'm using sems-0.1.1 in revision 68
Thanks in advance,
Christophe