Hi.
Is there any how to on how to configure OpenSER, SEMS for voicemail ?, the one with SEMS does not work
Hi Taymour,
there is no such example/tutorial for openser. But if you have a working SER script, I can help you to adapt it - will be a good reference for later.
regards, bogdan
Taymour A. El Erian wrote:
Hi.
Is there any how to on how to configure OpenSER, SEMS for voicemail ?, the one with SEMS does not work
Bogdan-Andrei Iancu wrote:
Hi Taymour,
there is no such example/tutorial for openser. But if you have a working SER script, I can help you to adapt it - will be a good reference for later.
regards, bogdan
Taymour A. El Erian wrote:
Hi.
Is there any how to on how to configure OpenSER, SEMS for voicemail ?, the one with SEMS does not work
I had a SER setup using 2 instances one of them for voicemail and voice responses (using vm and SEMS). I upgraded things to OpenSER but am unable to have the voicemail working.
P.S. I inherited the script for SER and it looks so ugly, what I need is a simple script which should forward to voicemail on user unavailable and play messages for user not found and other things.
if you provide the SER2SEMS (with vm) script, maybe will be possible to adapt it to openser.
regards, bogdan
Taymour A. El Erian wrote:
Bogdan-Andrei Iancu wrote:
Hi Taymour,
there is no such example/tutorial for openser. But if you have a working SER script, I can help you to adapt it - will be a good reference for later.
regards, bogdan
Taymour A. El Erian wrote:
Hi.
Is there any how to on how to configure OpenSER, SEMS for voicemail ?, the one with SEMS does not work
I had a SER setup using 2 instances one of them for voicemail and voice responses (using vm and SEMS). I upgraded things to OpenSER but am unable to have the voicemail working.
P.S. I inherited the script for SER and it looks so ugly, what I need is a simple script which should forward to voicemail on user unavailable and play messages for user not found and other things.
Bogdan-Andrei Iancu wrote:
if you provide the SER2SEMS (with vm) script, maybe will be possible to adapt it to openser.
regards, bogdan
Taymour A. El Erian wrote:
Bogdan-Andrei Iancu wrote:
Hi Taymour,
there is no such example/tutorial for openser. But if you have a working SER script, I can help you to adapt it - will be a good reference for later.
regards, bogdan
Taymour A. El Erian wrote:
Hi.
Is there any how to on how to configure OpenSER, SEMS for voicemail ?, the one with SEMS does not work
I had a SER setup using 2 instances one of them for voicemail and voice responses (using vm and SEMS). I upgraded things to OpenSER but am unable to have the voicemail working.
P.S. I inherited the script for SER and it looks so ugly, what I need is a simple script which should forward to voicemail on user unavailable and play messages for user not found and other things.
Attached the configuration I used, one (openser.cfg) used for the main SIP server and the second was used as a second instance which serve for voicemail.
Hi Taymour,
here is the adapter SEMS cfg (please change back the modules path and debug.log params)
the proxy cfg (openser.cfg) is ok for openser 0.9.5 (for safety, just replace all your break with exit).
regards, bogdan
Taymour A. El Erian wrote:
Attached the configuration I used, one (openser.cfg) used for the main SIP server and the second was used as a second instance which serve for voicemail.
# # $Id: voicemail.cfg,v 1.5 2004/01/14 18:23:50 rco Exp $ # # this script is configured for use as voicemail UAS; it processes # INVITEs and BYEs and asks SEMS to record media via "t_write_req"; in this # script, all record-routing and other constructs known from proxy # scripts are not present -- it is a simple UAS #
# ----------- global configuration parameters ------------------------
debug=9 # debug level (cmd line: -dddddddddd) fork=no log_stderror=yes # (cmd line: -E)
#listen=212.103.160.198 check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) port=5090 children=4 fifo="/tmp/t_write_req_ser_fifo"
# ------------------ module loading ----------------------------------
loadmodule "modules/sl/sl.so" loadmodule "modules/tm/tm.so" loadmodule "modules/maxfwd/maxfwd.so"
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with # max_forwars==0, or excessively long requests if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); exit; }; if (msg:len >= max_len) { sl_send_reply("513", "Message too big"); exit; };
if (!uri==myself) { sl_send_reply("404", "not reponsible for host in r-uri"); exit; };
# Voicemail specific configuration - begin
if(method=="ACK" || method=="INVITE" || method=="BYE"){
if (!t_newtran()) { log("could not create new transaction\n"); sl_send_reply("500","could not create new transaction"); exit; };
t_reply("100","Trying -- just wait a minute !"); if(method=="INVITE"){ if (uri=~"sip:999[0-9]@.*") { if (!t_write_req("/tmp/am_fifo", "announcement")) { log(1,"couldn't contact announcement server\n"); t_reply("500", "couldn not contact announcement server"); }; log("!!!!!!!!!!!!!!!!!!!!!ANNOUNCEMENT!!!!!!!!!!!!!!!!!!!!!!\n"); } else if(uri=~"sip:1234567890@.*") { if (!t_write_req("/tmp/am_fifo", "number_reader")) { log("could not contact the number reader server\n"); t_reply("500","could not contact ivr server"); }; log ("!!!!!!!!!!!!!!!!!!!!!!!!!IVR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"); } else if (uri=~"sip:55[0-9][0-9][0-9]@.*") { if (!t_write_req("/tmp/am_fifo", "conference")) { log("Could not contact conference server\n"); t_reply("500","Could not contact conference server"); }; log ("!!!!!!!!!!!!!!!!!!!!!CONFERENCE!!!!!!!!!!!!!!!!!!!!!!!!!\n"); } else {
if(!t_write_req("/tmp/am_fifo","voicemail")) #if(!t_write_req("/tmp/am_fifo","ivr")) { log(1,"could not contact the answer machine\n"); t_reply("500","could not contact the answer machine"); }; log("!!!!!!!!!!!!!!!!!!!!!!VOICEMAIL!!!!!!!!!!!!!!!!!!!!!!!!!\n"); }; # # log("**************** t_write_req start - begin ******************\n"); # if(!t_write_req("/tmp/am_fifo","voicemail")){ # log("could not contact the answer machine\n"); # t_reply("500","could not contact the answer machine"); # }; # log("**************** t_write_req start - end ******************\n"); } else if(method=="BYE"){ log("**************** t_write_req end - begin ******************\n"); if(!t_write_req("/tmp/am_fifo","bye")){ log("could not contact the answer machine\n"); t_reply("500","could not contact the answer machine"); }; log("**************** t_write_req end - end ******************\n"); }; exit; }; if (method=="CANCEL") { sl_send_reply("200", "cancels are junked here"); exit; }; sl_send_reply("501", "method not understood here"); }
Bogdan-Andrei Iancu wrote:
Hi Taymour,
here is the adapter SEMS cfg (please change back the modules path and debug.log params)
the proxy cfg (openser.cfg) is ok for openser 0.9.5 (for safety, just replace all your break with exit).
regards, bogdan
Taymour A. El Erian wrote:
Attached the configuration I used, one (openser.cfg) used for the main SIP server and the second was used as a second instance which serve for voicemail.
# # $Id: voicemail.cfg,v 1.5 2004/01/14 18:23:50 rco Exp $ # # this script is configured for use as voicemail UAS; it processes # INVITEs and BYEs and asks SEMS to record media via "t_write_req"; in this # script, all record-routing and other constructs known from proxy # scripts are not present -- it is a simple UAS #
# ----------- global configuration parameters ------------------------
debug=9 # debug level (cmd line: -dddddddddd) fork=no log_stderror=yes # (cmd line: -E)
#listen=212.103.160.198 check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) port=5090 children=4 fifo="/tmp/t_write_req_ser_fifo"
# ------------------ module loading ----------------------------------
loadmodule "modules/sl/sl.so" loadmodule "modules/tm/tm.so" loadmodule "modules/maxfwd/maxfwd.so"
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with # max_forwars==0, or excessively long requests if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); exit; }; if (msg:len >= max_len) { sl_send_reply("513", "Message too big"); exit; };
if (!uri==myself) { sl_send_reply("404", "not reponsible for host in r-uri"); exit; };
# Voicemail specific configuration - begin
if(method=="ACK" || method=="INVITE" || method=="BYE"){
if (!t_newtran()) { log("could not create new transaction\n"); sl_send_reply("500","could not create new transaction"); exit; }; t_reply("100","Trying -- just wait a minute !"); if(method=="INVITE"){ if (uri=~"sip:999[0-9]@.*") { if (!t_write_req("/tmp/am_fifo", "announcement")) { log(1,"couldn't contact announcement server\n"); t_reply("500", "couldn not contact announcement server"); };
log("!!!!!!!!!!!!!!!!!!!!!ANNOUNCEMENT!!!!!!!!!!!!!!!!!!!!!!\n"); } else if(uri=~"sip:1234567890@.*") { if (!t_write_req("/tmp/am_fifo", "number_reader")) { log("could not contact the number reader server\n"); t_reply("500","could not contact ivr server"); }; log ("!!!!!!!!!!!!!!!!!!!!!!!!!IVR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"); } else if (uri=~"sip:55[0-9][0-9][0-9]@.*") { if (!t_write_req("/tmp/am_fifo", "conference")) { log("Could not contact conference server\n"); t_reply("500","Could not contact conference server"); }; log ("!!!!!!!!!!!!!!!!!!!!!CONFERENCE!!!!!!!!!!!!!!!!!!!!!!!!!\n"); } else {
if(!t_write_req("/tmp/am_fifo","voicemail")) #if(!t_write_req("/tmp/am_fifo","ivr")) { log(1,"could not contact the answer machine\n"); t_reply("500","could not contact the answer machine"); };
log("!!!!!!!!!!!!!!!!!!!!!!VOICEMAIL!!!!!!!!!!!!!!!!!!!!!!!!!\n"); }; # # log("**************** t_write_req start - begin ******************\n"); # if(!t_write_req("/tmp/am_fifo","voicemail")){ # log("could not contact the answer machine\n"); # t_reply("500","could not contact the answer machine"); # }; # log("**************** t_write_req start - end ******************\n"); } else if(method=="BYE"){ log("**************** t_write_req end - begin ******************\n"); if(!t_write_req("/tmp/am_fifo","bye")){ log("could not contact the answer machine\n"); t_reply("500","could not contact the answer machine"); }; log("**************** t_write_req end - end ******************\n"); }; exit; }; if (method=="CANCEL") { sl_send_reply("200", "cancels are junked here"); exit; }; sl_send_reply("501", "method not understood here"); }
I used the config u sent me now am getting this error in my log.
am using SEMS 0.9.0 and I have no idea what these errors mean
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply: lookup failed Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server: command (t_reply) processing failed Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 11 14:33:30 serry Sems[19839]: Error: (AmSession.cpp)(run)(217): 500 could not send response. Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply: lookup failed Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server: command (t_reply) processing failed Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 11 14:33:33 serry /usr/sbin/openser[20666]: LOG: Someone trying to register from private IP, rewriting Sep 11 14:33:35 serry /usr/sbin/openser[20678]: LOG: Someone trying to register from private IP, rewriting Sep 11 14:33:35 serry /usr/sbin/openser[20624]: WARNING: t_reply: ACKs are not replied
On 09/11/05 14:39, Taymour A. El Erian wrote:
[...]
I used the config u sent me now am getting this error in my log.
am using SEMS 0.9.0 and I have no idea what these errors mean
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply: lookup failed Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server: command (t_reply) processing failed Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 11 14:33:30 serry Sems[19839]: Error: (AmSession.cpp)(run)(217): 500 could not send response.
Did you get around this problem? The log messages say that sems tries to send a reply to a transaction that does not exists in openser. This can be due late reply (the transaction expired) bad parameters sent over fifo from sems to openser.
Would help a network trace for such situation (using ngrep or ethereal). Also, you can increase the debug level in openser and sems, to get more messages.
Daniel
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply: lookup failed Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server: command (t_reply) processing failed Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 11 14:33:33 serry /usr/sbin/openser[20666]: LOG: Someone trying to register from private IP, rewriting Sep 11 14:33:35 serry /usr/sbin/openser[20678]: LOG: Someone trying to register from private IP, rewriting Sep 11 14:33:35 serry /usr/sbin/openser[20624]: WARNING: t_reply: ACKs are not replied
Daniel-Constantin Mierla wrote:
On 09/11/05 14:39, Taymour A. El Erian wrote:
[...]
I used the config u sent me now am getting this error in my log.
am using SEMS 0.9.0 and I have no idea what these errors mean
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply: lookup failed Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server: command (t_reply) processing failed Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 11 14:33:30 serry Sems[19839]: Error: (AmSession.cpp)(run)(217): 500 could not send response.
Did you get around this problem? The log messages say that sems tries to send a reply to a transaction that does not exists in openser. This can be due late reply (the transaction expired) bad parameters sent over fifo from sems to openser.
Would help a network trace for such situation (using ngrep or ethereal). Also, you can increase the debug level in openser and sems, to get more messages.
Daniel
I did not get around it, It is definitely not a network problem since sems and openser are on the same machine
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply: lookup failed Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server: command (t_reply) processing failed Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 11 14:33:33 serry /usr/sbin/openser[20666]: LOG: Someone trying to register from private IP, rewriting Sep 11 14:33:35 serry /usr/sbin/openser[20678]: LOG: Someone trying to register from private IP, rewriting Sep 11 14:33:35 serry /usr/sbin/openser[20624]: WARNING: t_reply: ACKs are not replied
On 09/28/05 11:00, Taymour A. El Erian wrote:
Daniel-Constantin Mierla wrote:
On 09/11/05 14:39, Taymour A. El Erian wrote:
[...]
I used the config u sent me now am getting this error in my log.
am using SEMS 0.9.0 and I have no idea what these errors mean
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply: lookup failed Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server: command (t_reply) processing failed Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 11 14:33:30 serry Sems[19839]: Error: (AmSession.cpp)(run)(217): 500 could not send response.
Did you get around this problem? The log messages say that sems tries to send a reply to a transaction that does not exists in openser. This can be due late reply (the transaction expired) bad parameters sent over fifo from sems to openser.
Would help a network trace for such situation (using ngrep or ethereal). Also, you can increase the debug level in openser and sems, to get more messages.
Daniel
I did not get around it, It is definitely not a network problem since sems and openser are on the same machine
The network trace of the SIP messages would help to figure out the message flow and, maybe, to get the reason why the transaction is no longer active. If you have openser and sems on same system then you should watch the loopback interface, too:
ngrep -d lo port 5060
Daniel
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply: lookup failed Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server: command (t_reply) processing failed Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 11 14:33:33 serry /usr/sbin/openser[20666]: LOG: Someone trying to register from private IP, rewriting Sep 11 14:33:35 serry /usr/sbin/openser[20678]: LOG: Someone trying to register from private IP, rewriting Sep 11 14:33:35 serry /usr/sbin/openser[20624]: WARNING: t_reply: ACKs are not replied
Daniel-Constantin Mierla wrote:
On 09/28/05 11:00, Taymour A. El Erian wrote:
Daniel-Constantin Mierla wrote:
On 09/11/05 14:39, Taymour A. El Erian wrote:
[...]
I used the config u sent me now am getting this error in my log.
am using SEMS 0.9.0 and I have no idea what these errors mean
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply: lookup failed Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server: command (t_reply) processing failed Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 11 14:33:30 serry Sems[19839]: Error: (AmSession.cpp)(run)(217): 500 could not send response.
Did you get around this problem? The log messages say that sems tries to send a reply to a transaction that does not exists in openser. This can be due late reply (the transaction expired) bad parameters sent over fifo from sems to openser.
Would help a network trace for such situation (using ngrep or ethereal). Also, you can increase the debug level in openser and sems, to get more messages.
Daniel
I did not get around it, It is definitely not a network problem since sems and openser are on the same machine
The network trace of the SIP messages would help to figure out the message flow and, maybe, to get the reason why the transaction is no longer active. If you have openser and sems on same system then you should watch the loopback interface, too:
ngrep -d lo port 5060
Daniel
Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_t_reply: lookup failed Sep 11 14:33:30 serry /usr/sbin/openser[20658]: ERROR: fifo_server: command (t_reply) processing failed Sep 11 14:33:30 serry Sems[19839]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 11 14:33:33 serry /usr/sbin/openser[20666]: LOG: Someone trying to register from private IP, rewriting Sep 11 14:33:35 serry /usr/sbin/openser[20678]: LOG: Someone trying to register from private IP, rewriting Sep 11 14:33:35 serry /usr/sbin/openser[20624]: WARNING: t_reply: ACKs are not replied
This is what I got from ngrep and I can't decrypt it :)
U IP:5060 -> IP:5090 INVITE sip:4000@IP:5090;user=phone SIP/2.0..Record-Route: <sip :IP;ftag=c793260e386ee639;lr=on>..Via: SIP/2.0/UDP 212.103.160 .198;branch=z9hG4bKaf6b.be857c25.0..Via: SIP/2.0/UDP 10.99.4.2;rport=2474;r eceived=212.103.165.18;branch=z9hG4bKe9a96c235da61c20..From: "Taymour A. El Erian" sip:1101@tedata.net;user=phone;tag=c793260e386ee639..To: <sip:400 0@tedata.net;user=phone>..Contact: <sip:1101@212.103.165.18:2474;user=phone
..Proxy-Authorization: DIGEST username="1101", realm="tedata.net",
algorit hm=MD5, uri="sip:4000@tedata.net;user=phone", nonce="433b9e156151c6fff850be 0d40656ab14853786f", response="097488dc945c51fdea29ce3dde36df28"..Call-ID: 07f54cd444bc0a36@10.99.4.2..CSeq: 63492 INVITE..User-Agent: Grandstream BT1 00 1.0.5.10..Max-Forwards: 16..Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OP TIONS,INFO,SUBSCRIBE..Content-Type: application/sdp..Content-Length: 305... .v=0..o=1101 8000 8000 IN IP4 10.99.4.2..s=SIP Call..c=IN IP4 10.99.4.2..t= 0 0..m=audio 5004 RTP/AVP 18 99 4 2 15 9..a=rtpmap:18 G729/8000..a=rtpmap:9 9 iLBC/8000..a=fmtp:99 mode=20..a=rtpmap:4 G723/8000..a=rtpmap:2 G726-32/80 00..a=rtpmap:15 G728/8000..a=rtpmap:9 G722/8000..a=ptime:20..a=direction:ac tive.. # U IP:5090 -> IP:5060 SIP/2.0 100 Trying -- just wait a minute !..Via: SIP/2.0/UDP 212.103.160.19 8;branch=z9hG4bKaf6b.be857c25.0..Via: SIP/2.0/UDP 10.99.4.2;rport=2474;rece ived=212.103.165.18;branch=z9hG4bKe9a96c235da61c20..From: "Taymour A. El Er ian" sip:1101@tedata.net;user=phone;tag=c793260e386ee639..To: <sip:4000@t edata.net;user=phone>..Call-ID: 07f54cd444bc0a36@10.99.4.2..CSeq: 63492 INV ITE..Server: OpenSer (0.9.5 (i386/linux))..Content-Length: 0..Warning: 392 IP:5090 "Noisy feedback tells: pid=821 req_src_ip=212.103.160 .198 req_src_port=5060 in_uri=sip:4000@IP:5090;user=phone out_ uri=sip:4000@IP:5090;user=phone via_cnt==2".... # U IP:5060 -> IP:5090 CANCEL sip:4000@IP:5090;user=phone SIP/2.0..Via: SIP/2.0/UDP 2 12.103.160.198;branch=z9hG4bKaf6b.be857c25.0..From: "Taymour A. El Erian" < sip:1101@tedata.net;user=phone>;tag=c793260e386ee639..Call-ID: 07f54cd444bc 0a36@10.99.4.2..To: sip:4000@tedata.net;user=phone..CSeq: 63492 CANCEL..U ser-Agent: OpenSer (0.9.5 (i386/linux))..Content-Length: 0.... # U IP:5090 -> IP:5060 SIP/2.0 200 cancels are junked here..Via: SIP/2.0/UDP IP;branc h=z9hG4bKaf6b.be857c25.0..From: "Taymour A. El Erian" <sip:1101@tedata.net; user=phone>;tag=c793260e386ee639..Call-ID: 07f54cd444bc0a36@10.99.4.2..To:
sip:4000@tedata.net;user=phone;tag=295de06b31c02f814974318d00ff602d.3f4c. .CSeq: 63492 CANCEL..Server: OpenSer (0.9.5 (i386/linux))..Content-Length: 0..Warning: 392 IP:5090 "Noisy feedback tells: pid=823 req_sr c_ip=IP req_src_port=5060 in_uri=sip:4000@IP:5090 ;user=phone out_uri=sip:4000@IP:5090;user=phone via_cnt==1"..
Hi Taymour,
If I decrypted ;) right the trace you have a configuration with two OpenSER servers:
SIP FIFO OpenSER1 <==========> OpenSER2 <------------> SEMS
Is this correct?
If so, be sure that the two OpenSERs have different fifo files configured (to avoid overlapping) and also check that SEMS writes back to fifo belonging to OpenSER2 and not to the one of OpenSER1 !!
regards, bogdan
Taymour A. El Erian wrote:
This is what I got from ngrep and I can't decrypt it :)
U IP:5060 -> IP:5090 INVITE sip:4000@IP:5090;user=phone SIP/2.0..Record-Route: <sip :IP;ftag=c793260e386ee639;lr=on>..Via: SIP/2.0/UDP 212.103.160 .198;branch=z9hG4bKaf6b.be857c25.0..Via: SIP/2.0/UDP 10.99.4.2;rport=2474;r eceived=212.103.165.18;branch=z9hG4bKe9a96c235da61c20..From: "Taymour A. El Erian" sip:1101@tedata.net;user=phone;tag=c793260e386ee639..To: <sip:400 0@tedata.net;user=phone>..Contact: <sip:1101@212.103.165.18:2474;user=phone
..Proxy-Authorization: DIGEST username="1101", realm="tedata.net",
algorit hm=MD5, uri="sip:4000@tedata.net;user=phone", nonce="433b9e156151c6fff850be 0d40656ab14853786f", response="097488dc945c51fdea29ce3dde36df28"..Call-ID: 07f54cd444bc0a36@10.99.4.2..CSeq: 63492 INVITE..User-Agent: Grandstream BT1 00 1.0.5.10..Max-Forwards: 16..Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OP TIONS,INFO,SUBSCRIBE..Content-Type: application/sdp..Content-Length: 305... .v=0..o=1101 8000 8000 IN IP4 10.99.4.2..s=SIP Call..c=IN IP4 10.99.4.2..t= 0 0..m=audio 5004 RTP/AVP 18 99 4 2 15 9..a=rtpmap:18 G729/8000..a=rtpmap:9 9 iLBC/8000..a=fmtp:99 mode=20..a=rtpmap:4 G723/8000..a=rtpmap:2 G726-32/80 00..a=rtpmap:15 G728/8000..a=rtpmap:9 G722/8000..a=ptime:20..a=direction:ac tive.. # U IP:5090 -> IP:5060 SIP/2.0 100 Trying -- just wait a minute !..Via: SIP/2.0/UDP 212.103.160.19 8;branch=z9hG4bKaf6b.be857c25.0..Via: SIP/2.0/UDP 10.99.4.2;rport=2474;rece ived=212.103.165.18;branch=z9hG4bKe9a96c235da61c20..From: "Taymour A. El Er ian" sip:1101@tedata.net;user=phone;tag=c793260e386ee639..To: <sip:4000@t edata.net;user=phone>..Call-ID: 07f54cd444bc0a36@10.99.4.2..CSeq: 63492 INV ITE..Server: OpenSer (0.9.5 (i386/linux))..Content-Length: 0..Warning: 392 IP:5090 "Noisy feedback tells: pid=821 req_src_ip=212.103.160 .198 req_src_port=5060 in_uri=sip:4000@IP:5090;user=phone out_ uri=sip:4000@IP:5090;user=phone via_cnt==2".... # U IP:5060 -> IP:5090 CANCEL sip:4000@IP:5090;user=phone SIP/2.0..Via: SIP/2.0/UDP 2 12.103.160.198;branch=z9hG4bKaf6b.be857c25.0..From: "Taymour A. El Erian" < sip:1101@tedata.net;user=phone>;tag=c793260e386ee639..Call-ID: 07f54cd444bc 0a36@10.99.4.2..To: sip:4000@tedata.net;user=phone..CSeq: 63492 CANCEL..U ser-Agent: OpenSer (0.9.5 (i386/linux))..Content-Length: 0.... # U IP:5090 -> IP:5060 SIP/2.0 200 cancels are junked here..Via: SIP/2.0/UDP IP;branc h=z9hG4bKaf6b.be857c25.0..From: "Taymour A. El Erian" <sip:1101@tedata.net; user=phone>;tag=c793260e386ee639..Call-ID: 07f54cd444bc0a36@10.99.4.2..To:
sip:4000@tedata.net;user=phone;tag=295de06b31c02f814974318d00ff602d.3f4c. .CSeq: 63492 CANCEL..Server: OpenSer (0.9.5 (i386/linux))..Content-Length: 0..Warning: 392 IP:5090 "Noisy feedback tells: pid=823 req_sr c_ip=IP req_src_port=5060 in_uri=sip:4000@IP:5090 ;user=phone out_uri=sip:4000@IP:5090;user=phone via_cnt==1"..
Bogdan-Andrei Iancu wrote:
Hi Taymour,
If I decrypted ;) right the trace you have a configuration with two OpenSER servers:
SIP FIFO
OpenSER1 <==========> OpenSER2 <------------> SEMS
Is this correct?
If so, be sure that the two OpenSERs have different fifo files configured (to avoid overlapping) and also check that SEMS writes back to fifo belonging to OpenSER2 and not to the one of OpenSER1 !!
regards, bogdan
You did decrypt right :). I fixed the fifo issue but now this is what I get
Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command DB is not available Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must begin with :: email_address Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must begin with :: subscriber Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must have at least 3 chars Sep 29 12:29:11 serry Sems[16265]: Error: (AmSession.cpp)(startSession)(512): 404 voicemail: no email address for user <4000>
User 4000 already has an email address in the database (am using sems-0.9.0)
Taymour A. El Erian wrote:
This is what I got from ngrep and I can't decrypt it :)
U IP:5060 -> IP:5090 INVITE sip:4000@IP:5090;user=phone SIP/2.0..Record-Route: <sip :IP;ftag=c793260e386ee639;lr=on>..Via: SIP/2.0/UDP 212.103.160 .198;branch=z9hG4bKaf6b.be857c25.0..Via: SIP/2.0/UDP 10.99.4.2;rport=2474;r eceived=212.103.165.18;branch=z9hG4bKe9a96c235da61c20..From: "Taymour A. El Erian" sip:1101@tedata.net;user=phone;tag=c793260e386ee639..To: <sip:400 0@tedata.net;user=phone>..Contact: <sip:1101@212.103.165.18:2474;user=phone
..Proxy-Authorization: DIGEST username="1101", realm="tedata.net",
algorit hm=MD5, uri="sip:4000@tedata.net;user=phone", nonce="433b9e156151c6fff850be 0d40656ab14853786f", response="097488dc945c51fdea29ce3dde36df28"..Call-ID: 07f54cd444bc0a36@10.99.4.2..CSeq: 63492 INVITE..User-Agent: Grandstream BT1 00 1.0.5.10..Max-Forwards: 16..Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OP TIONS,INFO,SUBSCRIBE..Content-Type: application/sdp..Content-Length: 305... .v=0..o=1101 8000 8000 IN IP4 10.99.4.2..s=SIP Call..c=IN IP4 10.99.4.2..t= 0 0..m=audio 5004 RTP/AVP 18 99 4 2 15 9..a=rtpmap:18 G729/8000..a=rtpmap:9 9 iLBC/8000..a=fmtp:99 mode=20..a=rtpmap:4 G723/8000..a=rtpmap:2 G726-32/80 00..a=rtpmap:15 G728/8000..a=rtpmap:9 G722/8000..a=ptime:20..a=direction:ac tive.. # U IP:5090 -> IP:5060 SIP/2.0 100 Trying -- just wait a minute !..Via: SIP/2.0/UDP 212.103.160.19 8;branch=z9hG4bKaf6b.be857c25.0..Via: SIP/2.0/UDP 10.99.4.2;rport=2474;rece ived=212.103.165.18;branch=z9hG4bKe9a96c235da61c20..From: "Taymour A. El Er ian" sip:1101@tedata.net;user=phone;tag=c793260e386ee639..To: <sip:4000@t edata.net;user=phone>..Call-ID: 07f54cd444bc0a36@10.99.4.2..CSeq: 63492 INV ITE..Server: OpenSer (0.9.5 (i386/linux))..Content-Length: 0..Warning: 392 IP:5090 "Noisy feedback tells: pid=821 req_src_ip=212.103.160 .198 req_src_port=5060 in_uri=sip:4000@IP:5090;user=phone out_ uri=sip:4000@IP:5090;user=phone via_cnt==2".... # U IP:5060 -> IP:5090 CANCEL sip:4000@IP:5090;user=phone SIP/2.0..Via: SIP/2.0/UDP 2 12.103.160.198;branch=z9hG4bKaf6b.be857c25.0..From: "Taymour A. El Erian" < sip:1101@tedata.net;user=phone>;tag=c793260e386ee639..Call-ID: 07f54cd444bc 0a36@10.99.4.2..To: sip:4000@tedata.net;user=phone..CSeq: 63492 CANCEL..U ser-Agent: OpenSer (0.9.5 (i386/linux))..Content-Length: 0.... # U IP:5090 -> IP:5060 SIP/2.0 200 cancels are junked here..Via: SIP/2.0/UDP IP;branc h=z9hG4bKaf6b.be857c25.0..From: "Taymour A. El Erian" <sip:1101@tedata.net; user=phone>;tag=c793260e386ee639..Call-ID: 07f54cd444bc0a36@10.99.4.2..To:
sip:4000@tedata.net;user=phone;tag=295de06b31c02f814974318d00ff602d.3f4c.
.CSeq: 63492 CANCEL..Server: OpenSer (0.9.5 (i386/linux))..Content-Length: 0..Warning: 392 IP:5090 "Noisy feedback tells: pid=823 req_sr c_ip=IP req_src_port=5060 in_uri=sip:4000@IP:5090 ;user=phone out_uri=sip:4000@IP:5090;user=phone via_cnt==1"..
Taymour,
as written in SEMS readme, you need to enable fifo_db_url on OpenSER2 in order to allow SEMS to fetch the email address. See http://openser.org/docs/db_fifo.html. Note that you also need to load a DB driver (mysql, postgres, dbtext).
regards, bogdan
Taymour A. El Erian wrote:
Bogdan-Andrei Iancu wrote:
Hi Taymour,
If I decrypted ;) right the trace you have a configuration with two OpenSER servers:
SIP FIFO
OpenSER1 <==========> OpenSER2 <------------> SEMS
Is this correct?
If so, be sure that the two OpenSERs have different fifo files configured (to avoid overlapping) and also check that SEMS writes back to fifo belonging to OpenSER2 and not to the one of OpenSER1 !!
regards, bogdan
You did decrypt right :). I fixed the fifo issue but now this is what I get
Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command DB is not available Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must begin with :: email_address Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must begin with :: subscriber Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must have at least 3 chars Sep 29 12:29:11 serry Sems[16265]: Error: (AmSession.cpp)(startSession)(512): 404 voicemail: no email address for user <4000>
User 4000 already has an email address in the database (am using sems-0.9.0)
Bogdan-Andrei Iancu wrote:
Taymour,
as written in SEMS readme, you need to enable fifo_db_url on OpenSER2 in order to allow SEMS to fetch the email address. See http://openser.org/docs/db_fifo.html. Note that you also need to load a DB driver (mysql, postgres, dbtext).
regards, bogdan
Thanks a million, now it is working
Taymour A. El Erian wrote:
Bogdan-Andrei Iancu wrote:
Hi Taymour,
If I decrypted ;) right the trace you have a configuration with two OpenSER servers:
SIP FIFO
OpenSER1 <==========> OpenSER2 <------------> SEMS
Is this correct?
If so, be sure that the two OpenSERs have different fifo files configured (to avoid overlapping) and also check that SEMS writes back to fifo belonging to OpenSER2 and not to the one of OpenSER1 !!
regards, bogdan
You did decrypt right :). I fixed the fifo issue but now this is what I get
Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command DB is not available Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must begin with :: email_address Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must begin with :: subscriber Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must have at least 3 chars Sep 29 12:29:11 serry Sems[16265]: Error: (AmSession.cpp)(startSession)(512): 404 voicemail: no email address for user <4000>
User 4000 already has an email address in the database (am using sems-0.9.0)
Taymour A. El Erian wrote:
Bogdan-Andrei Iancu wrote:
Taymour,
as written in SEMS readme, you need to enable fifo_db_url on OpenSER2 in order to allow SEMS to fetch the email address. See http://openser.org/docs/db_fifo.html. Note that you also need to load a DB driver (mysql, postgres, dbtext).
regards, bogdan
Thanks a million, now it is working
Now I have a new problem. If a user is not online I get the voicemail immediately but if he is online and I get no answer it keeps ringing and I get this errors
Sep 29 13:47:07 serry /usr/sbin/openser[17945]: ERROR: fifo_t_reply: lookup failed Sep 29 13:47:07 serry /usr/sbin/openser[17945]: ERROR: fifo_server: command (t_reply) processing failed Sep 29 13:47:07 serry Sems[18104]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 29 13:47:07 serry /usr/sbin/openser[17945]: ERROR: fifo_t_reply: lookup failed Sep 29 13:47:07 serry /usr/sbin/openser[17945]: ERROR: fifo_server: command (t_reply) processing failed Sep 29 13:47:07 serry Sems[18104]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction Sep 29 13:47:07 serry Sems[18104]: Error: (AmSession.cpp)(run)(217): 500 could not send response. Sep 29 13:47:07 serry /usr/sbin/openser[17945]: ERROR: fifo_t_reply: lookup failed Sep 29 13:47:07 serry /usr/sbin/openser[17945]: ERROR: fifo_server: command (t_reply) processing failed Sep 29 13:47:07 serry Sems[18104]: Error: (AmRequest.cpp)(reply)(368): AmRequestUAS::reply: 481 fifo_t_reply: no such transaction
Taymour A. El Erian wrote:
Bogdan-Andrei Iancu wrote:
Hi Taymour,
If I decrypted ;) right the trace you have a configuration with two OpenSER servers:
SIP FIFO
OpenSER1 <==========> OpenSER2 <------------> SEMS
Is this correct?
If so, be sure that the two OpenSERs have different fifo files configured (to avoid overlapping) and also check that SEMS writes back to fifo belonging to OpenSER2 and not to the one of OpenSER1 !!
regards, bogdan
You did decrypt right :). I fixed the fifo issue but now this is what I get
Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command DB is not available Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must begin with :: email_address Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must begin with :: subscriber Sep 29 12:29:11 serry /usr/sbin/openser[16942]: ERROR: fifo_server: command must have at least 3 chars Sep 29 12:29:11 serry Sems[16265]: Error: (AmSession.cpp)(startSession)(512): 404 voicemail: no email address for user <4000>
User 4000 already has an email address in the database (am using sems-0.9.0)