Hi guys,
I currently have a sip proxy server (sip express router) which registers the sip phones. I need to add voice mail capability, i.e. sip express router will forward all incoming calls to Asterisk if the user does not pick up the call in 15 seconds.
The voicemail recording stops when the user hangs up. However, the recording does not end if the user presses the # key, i.e. it is ignoring the user input.
Similarly, when the user dials 2102 to access his voice mail, Asterisk plays the prompt, but it seems to ignore all the user input keys.
Please kindly advise.
Regards, YY
***************************************************** Config files ------------------------------ 1) Ser
--------------------- ser.cfg (SER) ---------------------
# -- tm params -- # set time for which ser will be waiting for a final response; # fr_inv_timer sets value for INVITE transactions, # fr_timer for all others modparam("tm","fr_inv_timer",15) modparam("tm","fr_timer",10)
if (uri==myself) {
if (method=="REGISTER") {
# attempt handoff to PSTN if (uri=~"^sip:9[0-9]*@magnum.test.net") { ## This assumes that the caller log(1, "Forwarding to PSTN\n"); ## is registered in our realm forward(10.10.10.3, 5060); ## Our Cisco router break; };
# retrieve voicemail # if (uri=~"^sip:2[0-9]*@magnum.test.net") { log(1, "Retrieving voicemail\n");
# redirect now! rewritehostport("202.125.25.102:5061"); append_branch(); t_relay_to_udp("202.125.25.106","5061"); break; };
# native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; };
timeout occurred ... now to forward to Asterisk's voicemail service if(method == "INVITE") { t_on_failure("1"); }; }; t_relay();
# leave voicemail # failure_route[1] { log(1,"Activating voicemail!!\n"); revert_uri();
# redirect now to Asterisk (on the same machine) ! rewritehostport("202.125.25.102:5061"); append_branch(); t_relay_to_udp("202.125.25.106","5061"); }
--------------------
2) Asterisk
------------ sip.conf ------------
[general] context=test port=5061 ; UDP Port to bind to (SIP standard port is 5060) bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all) srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; ip phone 1012, registered with SER [1012] type=friend username=1012 canreinvite=no context=test mailbox=1012 host=203.125.25.106 nat=no dtmfmode=info disallow=all allow=alaw allow=ulaw
----------------------- extensions.conf -------------------------
[test] ;leave voice messages exten => 1012,1,Voicemail(u1012) exten => 1012,2,Hangup
;play voice messages exten => 2012,1,VoiceMailMain,1012 exten => 2012,2,Hangup
------------------------- voicemail.conf ------------------------
[default] 1012 => 1234, YY, ylim@test.net
this is an asterisk problem not a ser one, if you debug the sip channel in asterisk CLI, and then press the keys are the dtmf signals being sent/picked up
Iqbal
Yan Yu Lim wrote:
Hi guys,
I currently have a sip proxy server (sip express router) which registers the sip phones. I need to add voice mail capability, i.e. sip express router will forward all incoming calls to Asterisk if the user does not pick up the call in 15 seconds.
The voicemail recording stops when the user hangs up. However, the recording does not end if the user presses the # key, i.e. it is ignoring the user input.
Similarly, when the user dials 2102 to access his voice mail, Asterisk plays the prompt, but it seems to ignore all the user input keys.
Please kindly advise.
Regards, YY
Config files
- Ser
ser.cfg (SER)
# -- tm params -- # set time for which ser will be waiting for a final response; # fr_inv_timer sets value for INVITE transactions, # fr_timer for all others modparam("tm","fr_inv_timer",15) modparam("tm","fr_timer",10)
if (uri==myself) { if (method=="REGISTER") { # attempt handoff to PSTN if (uri=~"^sip:9[0-9]*@magnum.test.net") { ## This assumes
that the caller log(1, "Forwarding to PSTN\n"); ## is registered in our realm forward(10.10.10.3, 5060); ## Our Cisco router break; };
# retrieve voicemail # if (uri=~"^sip:2[0-9]*@magnum.test.net") { log(1, "Retrieving voicemail\n"); # redirect now! rewritehostport("202.125.25.102:5061"); append_branch(); t_relay_to_udp("202.125.25.106","5061"); break; }; # native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; timeout occurred ... now to forward to Asterisk's
voicemail service if(method == "INVITE") { t_on_failure("1"); }; }; t_relay();
# leave voicemail # failure_route[1] { log(1,"Activating voicemail!!\n"); revert_uri();
# redirect now to Asterisk (on the same machine) ! rewritehostport("202.125.25.102:5061"); append_branch(); t_relay_to_udp("202.125.25.106","5061"); }
- Asterisk
sip.conf
[general] context=test port=5061 ; UDP Port to bind to (SIP standard port is 5060) bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all) srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; ip phone 1012, registered with SER [1012] type=friend username=1012 canreinvite=no context=test mailbox=1012 host=203.125.25.106 nat=no dtmfmode=info disallow=all allow=alaw allow=ulaw
extensions.conf
[test] ;leave voice messages exten => 1012,1,Voicemail(u1012) exten => 1012,2,Hangup
;play voice messages exten => 2012,1,VoiceMailMain,1012 exten => 2012,2,Hangup
voicemail.conf
[default] 1012 => 1234, YY, ylim@test.net
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
.
Also, if you are coming through a gateway make sure the gateway is equipped to handle dtmf. On cisco you dial peer should look something like this:
dial-peer voice 10 voip application session destination-pattern .T progress_ind setup enable 3 rtp payload-type nte 98 voice-class codec 1 session protocol sipv2 session target sip-server dtmf-relay rtp-nte ip qos dscp cs5 media !
On 7/12/05, Iqbal iqbal@gigo.co.uk wrote:
this is an asterisk problem not a ser one, if you debug the sip channel in asterisk CLI, and then press the keys are the dtmf signals being sent/picked up
Iqbal
Yan Yu Lim wrote:
Hi guys,
I currently have a sip proxy server (sip express router) which registers the sip phones. I need to add voice mail capability, i.e. sip express router will forward all incoming calls to Asterisk if the user does not pick up the call in 15 seconds.
The voicemail recording stops when the user hangs up. However, the recording does not end if the user presses the # key, i.e. it is ignoring the user input.
Similarly, when the user dials 2102 to access his voice mail, Asterisk plays the prompt, but it seems to ignore all the user input keys.
Please kindly advise.
Regards, YY
Config files
- Ser
ser.cfg (SER)
# -- tm params -- # set time for which ser will be waiting for a final response; # fr_inv_timer sets value for INVITE transactions, # fr_timer for all others modparam("tm","fr_inv_timer",15) modparam("tm","fr_timer",10)
if (uri==myself) {
if (method=="REGISTER") {
# attempt handoff to PSTN if (uri=~"^sip:9[0-9]*@magnum.test.net http://magnum.test.net") { ##
This assumes
that the caller log(1, "Forwarding to PSTN\n"); ## is registered in our realm forward(10.10.10.3 http://10.10.10.3, 5060); ## Our Cisco router break; };
# retrieve voicemail # if (uri=~"^sip:2[0-9]*@magnum.test.net http://magnum.test.net") { log(1, "Retrieving voicemail\n");
# redirect now! rewritehostport("202.125.25.102:5061 http://202.125.25.102:5061"); append_branch(); t_relay_to_udp("202.125.25.106 http://202.125.25.106","5061"); break; };
# native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; };
timeout occurred ... now to forward to Asterisk's voicemail service if(method == "INVITE") { t_on_failure("1"); }; }; t_relay();
# leave voicemail # failure_route[1] { log(1,"Activating voicemail!!\n"); revert_uri();
# redirect now to Asterisk (on the same machine) ! rewritehostport("202.125.25.102:5061 http://202.125.25.102:5061"); append_branch(); t_relay_to_udp("202.125.25.106 http://202.125.25.106","5061"); }
- Asterisk
sip.conf
[general] context=test port=5061 ; UDP Port to bind to (SIP standard port is 5060) bindaddr=0.0.0.0 http://0.0.0.0 ; IP address to bind to (0.0.0.0http://0.0.0.0binds to all) srvlookup=yes ; Enable DNS SRV lookups on outbound calls
; ip phone 1012, registered with SER [1012] type=friend username=1012 canreinvite=no context=test mailbox=1012 host=203.125.25.106 http://203.125.25.106 nat=no dtmfmode=info disallow=all allow=alaw allow=ulaw
extensions.conf
[test] ;leave voice messages exten => 1012,1,Voicemail(u1012) exten => 1012,2,Hangup
;play voice messages exten => 2012,1,VoiceMailMain,1012 exten => 2012,2,Hangup
voicemail.conf
[default] 1012 => 1234, YY, ylim@test.net
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
.
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers