[Serusers] Problem integrating ser + asterisk voicemail

Yan Yu Lim yanyu.lim at gmail.com
Tue Jul 12 09:57:01 CEST 2005


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 at test.net




More information about the sr-users mailing list