<DIV>Hi , I am trying to add Voicemail services... the problem is that when the call is missed (busy, not answered or not connected) I can see some debug in ser´s second instance for users in "voicemail group" but the call is closed and a busy tone return to the caller...</DIV>
<DIV>bellow you can see my 3 config files and details from both ser debugs, please someone send me some advice. </DIV>
<DIV>thank you<BR>Rafael</DIV>
<DIV><BR>- ser.cfg for Main SER running on 5060<BR>- voicemail.cfg for second instance on port 5090<BR>- sems.conf for Media Server (sems)</DIV>
<DIV><BR>SEMS.CFG -------><BR> ----------- global configuration parameters ------------------------</DIV>
<DIV>#debug=3 # debug level (cmd line: -dddddddddd)<BR>#fork=yes<BR>#log_stderror=no # (cmd line: -E)</DIV>
<DIV>#/* Uncomment these lines to enter debugging mode<BR>debug=9<BR>fork=yes<BR>log_stderror=yes<BR>#*/</DIV>
<DIV>listen=200.110.2.131<BR>listen=127.0.0.1<BR>port=5060</DIV>
<DIV># hostname matching an alias will satisfy the condition uri==myself".<BR>alias=call.millicom.com.pe<BR>alias=200.110.2.131</DIV>
<DIV>check_via=no # (cmd. line: -v)<BR>dns=no # (cmd. line: -r)<BR>rev_dns=no # (cmd. line: -R)<BR>children=4<BR>fifo="/tmp/ser_fifo"</DIV>
<DIV># ------------------ module loading ----------------------------------<BR>loadmodule "/usr/local/lib/ser/modules/mysql.so"<BR>loadmodule "/usr/local/lib/ser/modules/sl.so"<BR>loadmodule "/usr/local/lib/ser/modules/tm.so"<BR>loadmodule "/usr/local/lib/ser/modules/rr.so"<BR>loadmodule "/usr/local/lib/ser/modules/maxfwd.so"<BR>loadmodule "/usr/local/lib/ser/modules/usrloc.so"<BR>loadmodule "/usr/local/lib/ser/modules/registrar.so"<BR>loadmodule "/usr/local/lib/ser/modules/group.so"<BR>loadmodule "/usr/local/lib/ser/modules/uri.so"<BR>loadmodule "/usr/local/lib/ser/modules/acc.so"<BR>loadmodule "/usr/local/lib/ser/modules/textops.so"</DIV>
<DIV># digest authentication<BR>loadmodule "/usr/local/lib/ser/modules/auth.so"<BR>loadmodule "/usr/local/lib/ser/modules/auth_db.so"</DIV>
<DIV># ----------------- setting module-specific parameters ---------------</DIV>
<DIV>modparam("usrloc", "db_mode", 2)</DIV>
<DIV># storing passwords in our database in plain text:<BR># modparam("auth_db", "calculate_ha1", yes)<BR># modparam("auth_db", "password_column", "password")</DIV>
<DIV># For Rad Accounting<BR>modparam("acc","radius_config","/usr/local/etc/radiusclient/radiusclient.conf")<BR>modparam("acc", "service_type", 15)<BR>modparam("acc", "radius_flag", 1)<BR>modparam("acc", "radius_missed_flag", 3)<BR>modparam("acc", "report_ack", 0)</DIV>
<DIV>modparam("tm", "fr_timer", 20 )<BR>modparam("tm", "fr_inv_timer", 30 )<BR>modparam("tm", "wt_timer", 20 )<BR>modparam("tm", "uac_from", "sip:avisos@millicom.net.pe" )</DIV>
<DIV>modparam("rr", "enable_full_lr", 1)</DIV>
<DIV>modparam("group", "db_url", "sql://ser:heslo@localhost/ser")<BR>modparam("uri", "db_url", "sql://ser:heslo@localhost/ser")</DIV>
<DIV><BR># --------------------- request routing logic -------------------<BR>route {</DIV>
<DIV><BR> # initial sanity checks -- messages with<BR> # max_forwards==0, or excessively long requests<BR> if (!mf_process_maxfwd_header("10")) {<BR> sl_send_reply("483","Too Many Hops");<BR> break;<BR> };<BR> if ( msg:len > max_len ) {<BR> sl_send_reply("513", "Message too big");<BR> break;<BR> };</DIV>
<DIV> # we record-route all messages -- to make sure that<BR> # subsequent messages will go through our proxy; that's<BR> # particularly good if upstream and downstream entities<BR> # use different transport protocol<BR> record_route();<BR> # loose-route processing<BR> if (loose_route()) {<BR> t_relay();<BR> break;<BR> };</DIV>
<DIV> # set for accounting:<BR> <BR> if (method=="INVITE") {<BR> log(1, "INVITE\n");<BR> setflag(1); /* set for accounting (the same value as in log_flag!) */<BR> };</DIV>
<DIV> if (method=="BYE" || method=="CANCEL") {<BR> log (1, "BYE or CANCEL\n");<BR> setflag(1);<BR> };</DIV>
<DIV><BR> if (!uri==myself) {<BR> t_relay();<BR> break;<BR> };</DIV>
<DIV> if (method == "REGISTER") {<BR> # to use digest authentication<BR> if (!www_authorize("call.millicom.com.pe", "subscriber")) {<BR> www_challenge("call.millicom.com.pe", "0");<BR> break;<BR> };<BR> if (!save("location"))
{<BR> sl_reply_error();<BR> };<BR> break;<BR> };</DIV>
<DIV> # does the user wish redirection on no availability? (i.e., is he<BR> # in the voicemail group?) -- determine it now and store it in<BR> # flag 4, before we rewrite the flag using UsrLoc<BR> if (is_user_in("Request-URI", "voicemail")) {<BR> setflag(4);<BR> };<BR> setflag(3); <BR> # native SIP destinations are handled using our USRLOC DB<BR> if (!lookup("location")) {<BR> # handle user which was not
found<BR> route(4);<BR> break;<BR> };</DIV>
<DIV> # if user is on-line and is in voicemail group, enable redirection<BR> if (method == "INVITE" && isflagset(4)) {<BR> t_on_failure("1");<BR> };<BR> t_relay();<BR>}</DIV>
<DIV># ------------- handling of unavailable user ------------------<BR>route[4] {<BR> # non-Voip -- just send "off-line"<BR> if (!(method=="INVITE" || method=="ACK" || method=="CANCEL")) {<BR> sl_send_reply("404", "Not Found");<BR> acc_rad_request("404 Not Found");<BR> break;<BR> };</DIV>
<DIV> # not voicemail subscriber<BR> if (!isflagset(4)) { <BR> sl_send_reply("404", "Not Found and no voicemail turned on");<BR> acc_rad_request("404 Not Found");<BR> break;<BR> };</DIV>
<DIV> # forward to voicemail now<BR> rewritehostport("call.millicom.com.pe:5090");<BR> t_relay_to_udp("call.millicom.com.pe", "5090");<BR>}</DIV>
<DIV><BR># if forwarding downstream did not succeed, try voicemail running<BR># at bat.iptel.org:5090</DIV>
<DIV>failure_route[1] {<BR> revert_uri();<BR> rewritehostport("call.millicom.com.pe:5090");<BR> append_branch();<BR> t_relay_to_udp("call.millicom.com.pe", "5090");<BR>}</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV><BR>################ VOICEMAIL.CFG --------><BR># ----------- global configuration parameters ------------------------</DIV>
<DIV>#debug= # debug level (cmd line: -dddddddddd)<BR>#fork=no<BR>#log_stderror=yes # (cmd line: -E)</DIV>
<DIV>#/* Uncomment these lines to enter debugging mode <BR>debug=20<BR>fork=yes<BR>log_stderror=yes<BR>#*/</DIV>
<DIV><BR>check_via=no # (cmd. line: -v)<BR>dns=no # (cmd. line: -r)<BR>rev_dns=no # (cmd. line: -R)<BR>port=5090<BR>children=4<BR>fifo="/tmp/vm_ser_fifo"</DIV>
<DIV># ------------------ module loading ----------------------------------</DIV>
<DIV>loadmodule "/usr/local/lib/ser/modules/sl.so"<BR>loadmodule "/usr/local/lib/ser/modules/tm.so"<BR>loadmodule "/usr/local/lib/ser/modules/maxfwd.so"<BR>loadmodule "/usr/local/lib/ser/modules/mysql.so"<BR>loadmodule "/usr/local/lib/ser/modules/vm.so"<BR> <BR># ----------------- setting module-specific parameters ---------------</DIV>
<DIV>modparam("voicemail", "db_url","sql://ser:heslo@localhost/ser")<BR>modparam("voicemail", "subscriber_table", "subscriber")<BR>modparam("voicemail", "email_column", "email_address")</DIV>
<DIV># ------------------------- request routing logic -------------------</DIV>
<DIV># main routing logic</DIV>
<DIV>route{</DIV>
<DIV><BR> # initial sanity checks -- messages with<BR> # max_forwars==0, or excessively long requests<BR> if (!mf_process_maxfwd_header("10")) {<BR> sl_send_reply("483","Too Many Hops");<BR> break;<BR> };<BR> if ( msg:len > max_len ) {<BR> sl_send_reply("513", "Message too big");<BR> break;<BR> };</DIV>
<DIV> if (!uri==myself) {<BR> sl_send_reply("404", "not reponsible for host in r-uri");<BR> break;<BR> };</DIV>
<DIV><BR> # Voicemail specific configuration - begin</DIV>
<DIV> if(method=="ACK" || method=="INVITE" || method=="BYE"){</DIV>
<DIV> if (!t_newtran()) {<BR> log("could not create new transaction\n");<BR> sl_send_reply("500","could not create new transaction");<BR> break;<BR> };</DIV>
<DIV> t_reply("100","Trying -- just wait a minute !");<BR> if(method=="INVITE"){<BR> log("**************** vm start - begin ******************\n");<BR> if (uri=~"sip:as_welcome@.*" || uri=~"sip:as_nomoney@.*") {<BR> if (!vm("/tmp/am_fifo", "announcement"))
{<BR> log("couldn't contact announcement server\n");<BR> t_reply("500", "couldn not contact announcement server");<BR> };<BR> } else
{<BR> if(!vm("/tmp/am_fifo","voicemail")){<BR> log("could not contact the answer machine\n");<BR> t_reply("500","could not contact the answer machine");<BR>
};<BR> };<BR> log("**************** vm start - end ******************\n");<BR> } else if(method=="BYE"){<BR> log("**************** vm end - begin ******************\n");<BR>
if(!vm("/tmp/am_fifo","bye")){<BR> log("could not contact the answer machine\n");<BR> t_reply("500","could not contact the answer machine");<BR> };<BR> log("**************** vm end - end ******************\n");<BR>
};<BR> break;<BR> };<BR> if (method=="CANCEL") {<BR> sl_send_reply("200", "cancels are junked here");<BR> break;<BR> };<BR> sl_send_reply("501", "method not understood here");<BR>}</DIV>
<DIV><BR>###################</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>SEMS.CFG ----------><BR>[root@gkproxy01 answer_machine]# more /usr/local/etc/sems/sems.conf<BR># $Id: sems.conf.sample,v 1.11.2.5 2004/05/24 14:33:07 rco Exp $<BR>#<BR># sems.conf.sample<BR>#<BR># Sip Express Media Server (sems)<BR># <BR># sample configuration file<BR># <BR>#<BR># whitespaces (spaces and tabs) are ignored<BR># comments start with a "#" and may be used inline<BR># <BR># example: option=value1, value2 # i like this option<BR>#</DIV>
<DIV>##################################<BR># global parameters #<BR>##################################</DIV>
<DIV># optional parameter: fork={yes|no}<BR># <BR># - specifies if sems should run in daemon mode (background)<BR># (fork=no is the same as -E)<BR>fork=yes</DIV>
<DIV># optional parameter: stderr={yes|no}<BR>#<BR># - debug mode: do not fork and log to stderr<BR># (stderr=yes is the same as -E)<BR>stderr=no</DIV>
<DIV># optional parameter: loglevel={0|1|2|3}<BR>#<BR># - sets log level (error=0, warning=1, info=2, debug=3)<BR># (same as -D)<BR>loglevel=1</DIV>
<DIV># optional parameter: fifo_name=<filename><BR>#<BR># - path and file name of our fifo file (same as -i)<BR>fifo_name=/tmp/am_fifo</DIV>
<DIV># optional parameter: ser_fifo_name=<filename><BR>#<BR># - path and file name of Ser's fifo file (same as -o)<BR>ser_fifo_name=/tmp/ser_fifo</DIV>
<DIV># optional parameter: plugin_path=<path><BR># <BR># - sets the path to the plug-ins<BR># - may be absolute or relative to CWD<BR>plugin_path=/usr/local/lib/sems/plug-in/</DIV>
<DIV># optional parameter: smtp_server=<hostname><BR>#<BR># - sets address of smtp server<BR>smtp_server=200.110.2.44</DIV>
<DIV># optional parameter: smtp_port=<port><BR>#<BR># - sets port of smtp server<BR>smtp_port=25</DIV>
<DIV># optional parameter: rtp_low_port=<port><BR>#<BR># - sets port of rtp lowest server<BR>#rtp_low_port=1024</DIV>
<DIV># optional parameter: rtp_high_port=<port><BR>#<BR># - sets port of rtp highest server<BR>#rtp_high_port=65535</DIV>
<DIV>##################################<BR># module specific parameters #<BR>##################################</DIV>
<DIV># sample voicemail configuration (inline)<BR>config.voicemail=inline</DIV>
<DIV># optional parameter: announce_path=<path><BR># <BR># - sets the path where announce files are searched for<BR># - the file to be played is determined the following way:<BR># <announce_path>/<domainname>/<username>.wav<BR># if this file is not available <announce_path>/<default_anounce> is used<BR>announce_path=/usr/local/lib/sems/audio/</DIV>
<DIV># parameter: default_announce=<filename><BR># <BR># - sets the name of the default announce WAV file<BR>default_announce=default_en.wav</DIV>
<DIV># parameter: max_record_time=<seconds><BR>#<BR># - maximum record time<BR>max_record_time=30</DIV>
<DIV># parameter: email_template=<filename><BR>#<BR># - email template file<BR># <BR># See the README file in <sems-src>/plug-in/voicemail<BR># for more information on the syntax used.<BR>#<BR>email_template=/usr/local/lib/sems/plug-in/mail.template</DIV>
<DIV># end of configuration section for voicemail module<BR>config.voicemail=end</DIV>
<DIV><BR># sample announcement configuration (inline)<BR>config.announcement=inline</DIV>
<DIV># optional parameter: announce_path=<path><BR># <BR># - sets the path where announce files are searched for<BR>announce_path=/usr/local/lib/sems/audio/</DIV>
<DIV># parameter: default_announce=<filename><BR># <BR># - sets the name of the default announce WAV file<BR>default_announce=default_en.wav</DIV>
<DIV># end of configuration section for announcement module<BR>config.announcement=end</DIV>
<DIV><BR># sample isdngw module configuration (external file)<BR># config.isdngw=/etc/isdngw.conf</DIV>
<DIV># sample ivr module configuration (inline)<BR>config.ivr=inline</DIV>
<DIV>#parameter: python_script_path=<full path><BR>python_script_path=/etc/ivr</DIV>
<DIV>#parameter: python_script_file=<filename><BR>python_script_file=example.py</DIV>
<DIV># end of configuration section for ivr module<BR>config.ivr=end</DIV>
<DIV><BR># sample conference configuration (inline)<BR>config.conference=inline</DIV>
<DIV># parameter: default_announce=<filename><BR>#<BR># - sets the full pathed name of the default announce WAV file.<BR># Will be played to lonely users.<BR>default_announce=/usr/local/lib/sems/audio/first_participant.wav</DIV>
<DIV># parameter: join_sound=<filename><BR>#<BR># - sets the full pathed name of a WAV file<BR># which will be played to conference users <BR># when a new user joins the conference.<BR>join_sound=/usr/local/lib/sems/audio/beep.wav</DIV>
<DIV># parameter: drop_sound=<filename><BR>#<BR># - sets the full pathed name of a WAV file<BR># which will be played to conference users <BR># when a user drops the conference.<BR>drop_sound=/usr/local/lib/sems/audio/beep.wav</DIV>
<DIV># end of configuration section for conference module<BR>config.conference=end</DIV>
<DIV># example configuration for number reader<BR>config.number_reader=inline</DIV>
<DIV>number_path=/usr/local/lib/sems/audio/</DIV>
<DIV>prolog_file=welcome_to_number_reader.wav</DIV>
<DIV>epilog_file=thanks_calling_number_reader.wav</DIV>
<DIV># end of number_reader configuration<BR>config.number_reader=end</DIV>
<DIV># add more module configurations here (inline or external):<BR>#<BR># config.mymodule=<filename><BR># or<BR># config.mymodule=inline<BR># ...<BR># config.mymodule=end</DIV>
<DIV>[root@gkproxy01 answer_machine]# </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV><BR>DEBUG from 1st instamce (port 5060)<BR>---------------------------------------</DIV>
<DIV>4(31737) DEBUG: relay_reply: branch=1, save=0, relay=1<BR> 4(31737) old size: 669, new size: 607<BR> 4(31737) build_res_from_sip_res: copied size: orig:108, new: 46, rest: 561 msg=<BR>SIP/2.0 404 not reponsible for host in r-uri<BR>Via: SIP/2.0/UDP 10.0.0.236:5060;branch=z9hG4bKa200bcf5a4114<BR>From: <sip:6603000@call.millicom.com.pe>;tag=a200bcf5a4<BR>To: <sip:6604000@call.millicom.com.pe>;tag=3749ec7003921b5c92fe06c5dc660395.5093<BR>Call-ID: <A href="mailto:a2609600-48ac-bcf1-81f5-0002a40055b2@10.0.0.236">a2609600-48ac-bcf1-81f5-0002a40055b2@10.0.0.236</A><BR>CSeq: 114 INVITE<BR>Server: Sip EXpress router (0.8.14 (i386/linux))<BR>Content-Length: 0<BR>Warning: 392 200.110.2.131:5090 "Noisy feedback tells: pid=31707 req_src_ip=200.110.2.131 req_src_port=5060 in_uri=sip:6604000@call.millicom.com.pe:5090 out_uri=sip:6604000@call.millicom.com.pe:5090 via_cnt==2"</DIV>
<DIV><BR> 4(31737) DEBUG: reply relayed. buf=0x80dec48: SIP/2.0 4..., shmem=0x422be8a8: SIP/2.0 4<BR> 4(31737) DBG: callback type 7, id 1 entered<BR> 4(31737) DEBUG: cleanup_uacs: RETR/FR timers reset<BR> 4(31737) DEBUG: add_to_tail_of_timer[4]: 0x422c287c<BR> 4(31737) DEBUG: add_to_tail_of_timer[0]: 0x422c2890<BR> 4(31737) DEBUG:destroy_avp_list: destroing list (nil)<BR> 4(31737) receive_msg: cleaning up</DIV>
<DIV>[root@gkproxy01 admin]# <BR>[root@gkproxy01 admin]# 2(31735) SIP Request:<BR> 2(31735) method: <ACK><BR> 2(31735) uri: <sip:6604000@call.millicom.com.pe><BR> 2(31735) version: <SIP/2.0><BR> 2(31735) parse_headers: flags=1<BR> 2(31735) Found param type 232, <branch> = <z9hG4bKa200bcf5a4114>; state=16<BR> 2(31735) end of header reached, state=5<BR> 2(31735) parse_headers: Via found, flags=1<BR> 2(31735) parse_headers: this is the first via<BR> 2(31735) After parse_msg...<BR> 2(31735) preparing to run routing scripts...<BR> 2(31735) DEBUG : sl_filter_ACK: to late to be a local ACK!<BR> 2(31735) DEBUG : is_maxfwd_present: searching for max_forwards header<BR> 2(31735) parse_headers: flags=128<BR> 2(31735) DEBUG: add_param: tag=3749ec7003921b5c92fe06c5dc660395.5093<BR> 2(31735) end of header reached, state=29<BR> 2(31735)
DEBUG: get_hdr_field: <To> [78]; uri=[sip:6604000@call.millicom.com.pe] <BR> 2(31735) DEBUG: to body [<sip:6604000@call.millicom.com.pe>]<BR> 2(31735) get_hdr_field: cseq <CSeq>: <114> <ACK><BR> 2(31735) DEBUG: get_hdr_body : content_length=0<BR> 2(31735) DEBUG: is_maxfwd_present: value = 70 <BR> 2(31735) DEBUG: add_param: tag=a200bcf5a4<BR> 2(31735) end of header reached, state=29<BR> 2(31735) parse_headers: flags=256<BR> 2(31735) found end of header<BR> 2(31735) find_first_route(): No Route headers found<BR> 2(31735) loose_route(): There is no Route HF<BR> 2(31735) check_self - checking if host==us: 20==13 && [call.millicom.com.pe] == [200.110.2.131]<BR> 2(31735) check_self - checking if port 5060 matches port 5060<BR> 2(31735) check_self - checking if host==us: 20==9 && [call.millicom.com.pe] == [127.0.0.1]<BR> 2(31735) check_self - checking if port 5060
matches port 5060<BR> 2(31735) query="select grp from grp where username='6604000' AND grp='voicemail'"<BR> 2(31735) is_user_in(): User is in group 'voicemail'<BR> 2(31735) rwrite(): Rewriting Request-URI with 'sip:6604000@200.110.6.58'<BR> 2(31735) DEBUG: t_addifnew: msg id=11467 , global msg id=11434 , T on entrance=0xffffffff<BR> 2(31735) parse_headers: flags=-1<BR> 2(31735) parse_headers: flags=60<BR> 2(31735) t_lookup_request: start searching: hash=31284, isACK=1<BR> 2(31735) DEBUG: RFC3261 transaction matched, tid=a200bcf5a4114<BR> 2(31735) DEBUG: t_lookup_request: transaction found (T=0x422c27c8)<BR> 2(31735) DEBUG: cleanup_uacs: RETR/FR timers reset<BR> 2(31735) DEBUG: add_to_tail_of_timer[2]: 0x422c2810<BR> 2(31735) DEBUG:destroy_avp_list: destroing list (nil)<BR> 2(31735) receive_msg: cleaning up</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>DEBUG FROM 2nd INSTANCE (PORT 5090)<BR>--------------------------------------------------<BR>]<BR> 7(31709) get_hdr_field: cseq <CSeq>: <113> <INVITE><BR> 7(31709) DEBUG: get_hdr_body : content_length=180<BR> 7(31709) DEBUG: is_maxfwd_present: value = 69 <BR> 7(31709) check_self - checking if host==us: 20==9 && [call.millicom.com.pe] == [127.0.0.1]<BR> 7(31709) check_self - checking if port 5090 matches port 5090<BR> 7(31709) check_self - checking if host==us: 20==13 && [call.millicom.com.pe] == [200.110.2.131]<BR> 7(31709) check_self - checking if port 5090 matches port 5090<BR> 7(31709) check_self: host != me<BR> 7(31709) parse_headers: flags=-1<BR> 7(31709) found end of header<BR> 7(31709) check_via_address(200.110.2.131, 200.110.2.131, 0)<BR> 7(31709) DEBUG:destroy_avp_list: destroing list (nil)<BR> 7(31709) receive_msg: cleaning up<BR> 5(31705) SIP
Request:<BR> 5(31705) method: <ACK><BR> 5(31705) uri: <sip:6605454@call.millicom.com.pe:5090><BR> 5(31705) version: <SIP/2.0><BR> 5(31705) parse_headers: flags=1<BR> 5(31705) Found param type 232, <branch> = <z9hG4bKd517.2ea1e793.0>; state=16<BR> 5(31705) end of header reached, state=5<BR> 5(31705) parse_headers: Via found, flags=1<BR> 5(31705) parse_headers: this is the first via<BR> 5(31705) After parse_msg...<BR> 5(31705) preparing to run routing scripts...<BR> 5(31705) parse_headers: flags=4<BR> 5(31705) DEBUG: add_param: tag=3749ec7003921b5c92fe06c5dc660395.01b8<BR> 5(31705) end of header reached, state=29<BR> 5(31705) DEBUG: get_hdr_field: <To> [78]; uri=[sip:6605454@call.millicom.com.pe] <BR> 5(31705) DEBUG: to body [<sip:6605454@call.millicom.com.pe>]<BR> 5(31705) DEBUG: sl_filter_ACK : local ACK found ->
dropping it! <BR> 5(31705) DEBUG:destroy_avp_list: destroing list (nil)<BR> 5(31705) receive_msg: cleaning up<BR> 6(31707) SIP Request:<BR> 6(31707) method: <INVITE><BR> 6(31707) uri: <sip:6604000@call.millicom.com.pe:5090><BR> 6(31707) version: <SIP/2.0><BR> 6(31707) parse_headers: flags=1<BR> 6(31707) Found param type 232, <branch> = <z9hG4bK43a7.d99b0dc7.1>; state=16<BR> 6(31707) end of header reached, state=5<BR> 6(31707) parse_headers: Via found, flags=1<BR> 6(31707) parse_headers: this is the first via<BR> 6(31707) After parse_msg...<BR> 6(31707) preparing to run routing scripts...<BR> 6(31707) DEBUG : is_maxfwd_present: searching for max_forwards header<BR> 6(31707) parse_headers: flags=128<BR> 6(31707) Found param type 232, <branch> = <z9hG4bKa200bcf5a4114>; state=16<BR> 6(31707) end of header reached,
state=5<BR> 6(31707) parse_headers: Via found, flags=128<BR> 6(31707) parse_headers: this is the second via<BR> 6(31707) end of header reached, state=9<BR> 6(31707) DEBUG: get_hdr_field: <To> [36]; uri=[sip:6604000@call.millicom.com.pe] <BR> 6(31707) DEBUG: to body [<sip:6604000@call.millicom.com.pe><BR>]<BR> 6(31707) get_hdr_field: cseq <CSeq>: <114> <INVITE><BR> 6(31707) DEBUG: get_hdr_body : content_length=180<BR> 6(31707) DEBUG: is_maxfwd_present: value = 69 <BR> 6(31707) check_self - checking if host==us: 20==9 && [call.millicom.com.pe] == [127.0.0.1]<BR> 6(31707) check_self - checking if port 5090 matches port 5090<BR> 6(31707) check_self - checking if host==us: 20==13 && [call.millicom.com.pe] == [200.110.2.131]<BR> 6(31707) check_self - checking if port 5090 matches port 5090<BR> 6(31707) check_self: host != me<BR> 6(31707) parse_headers:
flags=-1<BR> 6(31707) found end of header<BR> 6(31707) check_via_address(200.110.2.131, 200.110.2.131, 0)<BR> 6(31707) DEBUG:destroy_avp_list: destroing list (nil)<BR> 6(31707) receive_msg: cleaning up<BR> 8(31711) SIP Request:<BR> 8(31711) method: <ACK><BR> 8(31711) uri: <sip:6604000@call.millicom.com.pe:5090><BR> 8(31711) version: <SIP/2.0><BR> 8(31711) parse_headers: flags=1<BR> 8(31711) Found param type 232, <branch> = <z9hG4bK43a7.d99b0dc7.1>; state=16<BR> 8(31711) end of header reached, state=5<BR> 8(31711) parse_headers: Via found, flags=1<BR> 8(31711) parse_headers: this is the first via<BR> 8(31711) After parse_msg...<BR> 8(31711) preparing to run routing scripts...<BR> 8(31711) parse_headers: flags=4<BR> 8(31711) DEBUG: add_param: tag=3749ec7003921b5c92fe06c5dc660395.5093<BR> 8(31711) end of header reached,
state=29<BR> 8(31711) DEBUG: get_hdr_field: <To> [78]; uri=[sip:6604000@call.millicom.com.pe] <BR> 8(31711) DEBUG: to body [<sip:6604000@call.millicom.com.pe>]<BR> 8(31711) DEBUG: sl_filter_ACK : local ACK found -> dropping it! <BR> 8(31711) DEBUG:destroy_avp_list: destroing list (nil)<BR> 8(31711) receive_msg: cleaning up</DIV>
<DIV> </DIV><p><br><hr size=1 noshade><b>Do You Yahoo!?</b><br>
<a href=http://espanol.yahoo.com/mail_tagline/*http://espanol.news.yahoo.com><img src="http://us.i1.yimg.com/us.yimg.com/i/not/dailynews.gif" width=30 height=26 border=0 align=left></a>
Todo lo que quieres saber de Estados Unidos, América Latina y el resto del Mundo.<br>
Visíta <a href=http://espanol.yahoo.com/mail_tagline/*http://espanol.news.yahoo.com>Yahoo! Noticias</a>.<br>