[Serusers] error: mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy

Charles Wang lazy.charles at gmail.com
Mon Feb 21 04:36:29 CET 2005


Thank you very much. And my log file at /var/log/message lists below:

Charles

Log Start:
-------------------------------------------------------------------------------------------------------------------
Maxfwd module- initializing
AVPops - initializing
permissions - initializing
Default allow file (/usr/local/etc/ser/permissions.allow) not found =>
empty rule set
Default deny file (/usr/local/etc/ser/permissions.deny) not found =>
empty rule set
info: mediaproxy: loaded SIP asymmetric clients file containing 1 entry.
info: mediaproxy: loaded RTP asymmetric clients file containing 0 entries.
INFO: udp_init: SO_RCVBUF is initially 65535
INFO: udp_init: SO_RCVBUF is finally 262142
INFO: fifo process starting: 3947
SER: open_uac_fifo: fifo server up at /tmp/ser_fifo...
PDT:prefix2domain: no prefix found in [1011]
Time:[Mon Feb 21 11:12:49 2005] Method:<INVITE> r-uri:<1011 at ser.xxx.net.tw>
IP:<61.229.13.49> From:<sip:1033 at ser.xxx.net.tw>
To:<sip:1011 at ser.xxx.net.tw> <sip:1033 at 10.18.1.102:1718>
SER: BLIND CALL FORWARDING
SER: Look aliases
SER: Look location
SER isflagset (sip)
SER: Look aliases
SER: Look location
SER isflagset (sip)
SER: SIP Call On-Net section route(2)
PDT:prefix2domain: no prefix found in [1011]
Time:[Mon Feb 21 11:12:50 2005] Method:<INVITE> r-uri:<1011 at ser.xxx.net.tw>
IP:<61.229.13.49> From:<sip:1033 at ser.xxx.net.tw>
To:<sip:1011 at ser.xxx.net.tw> <sip:1033 at 10.18.1.102:1718>
SER: BLIND CALL FORWARDING
SER: Look aliases
SER: Look location
SER isflagset (sip)
SER: Look aliases
SER: Look location
SER isflagset (sip)
SER: SIP Call On-Net section route(2)
error: mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy
error: mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy
SER: SIP Call On-Net section route(2)
error: mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy
SER: SIP Call On-Net section route(2)
error: mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy
SER: SIP Call On-Net section route(2)
error: mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy
SER: SIP Call On-Net section route(2)
error: mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy
SER: SIP Call On-Net section route(2)
----------------------------------------------------------------------------------------------------------------


On Sun, 20 Feb 2005 21:58:12 -0500, Java Rockx <javarockx at gmail.com> wrote:
> Can you include an output of the error messages?
>
> Regards,
> Paul
>
>
> On Mon, 21 Feb 2005 10:12:23 +0800, Charles Wang <lazy.charles at gmail.com> wrote:
> > Dear ALL:
> >
> > I start ser 0.9.0. And when I make a sip call or off-net call(to
> > PSTN), some error(as Subject) about MediaProxy will display in Log
> > file.
> >
> > Does anybody have the same problem and have any solution to fix it?
> >
> > My ser.cfg list below:
> > --------------------------------------------------------------------------------------------------------
> > debug=10         # debug level (cmd line: -dddddddddd)
> > fork=yes
> > log_stderror=no # (cmd line: -E)
> >
> > listen=xxx.xxx.xxx.xxx
> > alias=ser.xxx.net.tw
> > alias=ser
> > alias=xxx.xxx.xxx.xxx
> >
> > check_via=no            # (cmd. line: -v)
> > dns=no                                  # (cmd. line: -r)
> > rev_dns=no                      # (cmd. line: -R)
> > port=5060
> > children=4
> > fifo_mode=0666
> > fifo="/tmp/ser_fifo"
> > fifo_db_url="mysql://ser:heslo@localhost/ser"
> >
> > # ------------------ module loading ----------------------------------
> > # ----------------- setting module-specific parameters ---------------
> > ----------(skip)
> >
> > # -- mediaproxy params --
> > modparam("mediaproxy", "natping_interval", 30)
> > modparam("mediaproxy", "sip_asymmetrics",
> > "/usr/local/etc/ser/sip-asymmetric-clients")
> > modparam("mediaproxy", "rtp_asymmetrics",
> > "/usr/local/etc/ser/rtp-asymmetric-clients")
> >
> > # -- usrloc params --
> > modparam("usrloc", "db_mode", 1)
> > modparam("usrloc", "timer_interval", 60)
> > modparam("usrloc", "desc_time_order", 1)
> >
> > # -- auth params --
> > modparam("auth_db", "calculate_ha1", yes)
> > modparam("auth_db", "password_column", "password")
> >
> > # -- rr params --
> > # add value to ;lr param to make some broken UAs happy
> > modparam("rr", "enable_full_lr", 1)
> >
> > # -- db_url params --
> > modparam("acc|auth_db|domain|group|permissions|speeddial|uri_db|usrloc|pdt",
> > "db_url", "mysql://ser:heslo@localhost/ser")
> >
> > # -- use_domain params --
> > modparam("auth_db|group|registrar|speeddial|uri_db|usrloc", "use_domain", 0)
> >
> > # -- permissions params --
> > modparam("permissions", "db_mode", 1)
> > modparam("permissions", "trusted_table", "trusted")
> >
> > # -- accounting params --
> > modparam("acc", "db_flag", 1)
> > modparam("acc", "db_missed_flag", 1)
> > modparam("acc", "log_fmt", "cdfimorstup")
> > modparam("acc", "log_level", 1)
> > modparam("acc", "failed_transactions", 1)
> > modparam("acc", "report_cancels", 1)
> > modparam("acc", "report_ack", 0)
> >
> > # -- domain params --
> > modparam("domain", "db_mode", 1)
> >
> > # ------------- exec parameters
> > modparam("exec", "setvars", 1)
> > modparam("exec", "time_to_kill", 10)
> >
> > # -- registration params --
> > modparam("registrar", "nat_flag", 2)
> > modparam("registrar", "min_expires", 60)
> > modparam("registrar", "max_expires", 86400)
> > modparam("registrar", "default_expires", 3600)
> > modparam("registrar", "append_branches", 1)
> >
> > # -- avp params --
> > modparam("avpops", "avp_url", "mysql://ser:heslo@localhost/ser")
> > modparam("avpops", "avp_table", "usr_preferences")
> > #modparam("avpops", "use_domain", "1")
> > modparam("avpops", "uuid_column", "uuid")
> > modparam("avpops", "username_column", "username")
> > modparam("avpops", "domain_column", "domain")
> > modparam("avpops", "attribute_column", "attribute")
> > modparam("avpops", "value_column", "value")
> > modparam("avpops", "type_column", "type")
> > modparam("avpops", "avp_aliases",
> > "voicemail=i:500;calltype=i:700;fwd_no_answer_type=i:701;fwd_busy_type=i:702")
> > # To use more than one tables example
> > #modparam("avpops", "db_scheme",
> > "scheme1:table=subscriber;uuid_column=uuid;value_column=first_name")
> >
> > # -- tm params --
> > modparam("tm", "fr_timer", 15)
> > modparam("tm", "fr_inv_timer", 22)
> > modparam("tm", "wt_timer", 5)
> > modparam("tm", "fr_inv_timer_avp", "inv_timeout")
> >
> > # -- pdt params --
> > modparam("pdt", "db_table", "prefix_domain")
> > modparam("pdt", "prefix", "")
> > modparam("pdt", "hsize_2pow", 2)
> > modparam("pdt", "sync_time", 300)
> > modparam("pdt", "clean_time", 600)
> >
> > # -- logging params
> > modparam("xlog", "buf_size", 8192)
> >
> > # -- group params --
> > modparam("group", "table", "grp")
> > modparam("group", "user_column", "username")
> > modparam("group", "domain_column", "domain")
> > modparam("group", "group_column", "grp")
> >
> > # -------------------------  request routing logic -------------------
> >
> > # main routing logic
> >
> > route {
> >
> >         # ------------------------------------------------------------------------
> >         # Sanity Check Section
> >         # ------------------------------------------------------------------------
> >         if (!mf_process_maxfwd_header("10")) {
> >                 sl_send_reply("483", "Too Many Hops");
> >                 break;
> >         };
> >
> >         if (msg:len > max_len) {
> >                 sl_send_reply("513", "Message Overflow");
> >                 break;
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # NOTIFY Keep-Alive Section
> >         # ------------------------------------------------------------------------
> >         if ((method=="NOTIFY") && search("^Event: keep-alive")) {
> >                 sl_send_reply("200", "OK");
> >                 break;
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # OPTIONS Section
> >         # ------------------------------------------------------------------------
> >         if (method=="OPTIONS") {
> >                 options_reply();
> >                 break;
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # NAT Test Section #1
> >         # ------------------------------------------------------------------------
> >         if (method=="REGISTER" && client_nat_test("3")) {
> >                 fix_contact();
> >                 force_rport();
> >                 setflag(2);
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Registration Section
> >         # ------------------------------------------------------------------------
> >         if (method=="REGISTER") {
> >
> >                 # allow all requests from user 700 - the Click2Dial controller
> >                 if (!isflagset(14)) {
> >                         if (!is_from_local()) {
> >                                 sl_send_reply("403", "Unknown Domain");
> >                                 break;
> >                         };
> >                         if (!www_authorize("", "subscriber")) {
> >                                 www_challenge("", "0");
> >                                 break;
> >                         };
> >                         if (!check_to()) {
> >                                 sl_send_reply("401", "Unauthorized");
> >                                 break;
> >                         };
> >
> >                         # To - Use To username and (optionally) domain to check
> >                         if (is_user_in("To", "demo-disabled")) {
> >                                 sl_send_reply("403", "Your evaluation period has expired");
> >                                 break;
> >                         };
> >
> >                         # To - Use To username and (optionally) domain to check
> >                         if (is_user_in("To", "disabled")) {
> >                                 sl_send_reply("403", "Your account has been disabled");
> >                                 break;
> >                         };
> >                 };
> >
> >                 # snom sip phones use this header to start their
> >                 # keep-alive mechanism for NAT bindings
> >                 append_to_reply("P-NAT-Refresh: 15\r\n");
> >
> >                 if (!save("location")) {
> >                         sl_reply_error();
> >                 };
> >                 break;
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Accounting Section # 1
> >         #
> >         # NOTE: We test for flag 14 because we do not want to record Click2Dial
> >         #       entries
> >         # ------------------------------------------------------------------------
> >         if ((method=="INVITE" || method=="BYE") && !isflagset(14)) {
> >                 setflag(1);
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # NAT Tear-Down Section
> >         # ------------------------------------------------------------------------
> >         if ((method == "BYE" || method == "CANCEL")) {
> >                 end_media_session();
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Record Route Section
> >         #
> >         # we record-route all messages -- to make sure that subsequent messages
> >         # will go through our proxy; that's particularly good if upstream and
> >         # downstream entities use different transport protocol
> >         # ------------------------------------------------------------------------
> >         if (!method=="REGISTER") {
> >                 record_route();
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Loose Route Section
> >         #
> >         # Grant route routing if route headers present
> >         # ------------------------------------------------------------------------
> >         if (loose_route()) {
> >                 route(2);
> >                 break;
> >         };
> >
> >         prefix2domain();
> >
> >         # ------------------------------------------------------------------------
> >         # NAT Test Section #1
> >         # ------------------------------------------------------------------------
> >         if (client_nat_test("3") && !search("^Record-Route:")) {
> >                 force_rport();
> >                 fix_contact();
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # PSTN Section
> >         # ------------------------------------------------------------------------
> >         if (method=="INVITE") {  ## Deny PSTN to 0204 and 095 on Tawan
> >                 if ((uri=~"^sip:0204[0-9]*@") || (uri=~"^sip:095[0-9]*@")) {
> >                         sl_send_reply("503", "Service Unavailable");
> >                         break;
> >                 };
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Alias Routing Section
> >         # ------------------------------------------------------------------------
> >         lookup("aliases");
> >         if (!uri==myself) {
> >                 route(2);
> >                 break;
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Load ACL Section
> >         # ------------------------------------------------------------------------
> >         if (method=="INVITE" && !isflagset(14)) {
> >                 xlog("L_ERR", "Time:[%Tf] Method:<%rm> r-uri:<%ru>\n");
> >                 xlog("L_ERR", "IP:<%is> From:<%fu> To:<%tu> %ct\n");
> >                 if (is_user_in("Request-URI", "voicemail")) {
> >                         setflag(31);
> >                 };
> >                 if (is_from_local() || is_uri_host_local()) {
> >
> >                         # Check user from grp table
> >                         if (is_user_in("From", "int")) {
> >                           log(1, "SER: a INT user\n");
> >                                 setflag(29);
> >                         };
> >                         if (is_user_in("From", "free-pstn")) {
> >                           log(1, "SER: a FREE-PSTN user\n");
> >                                 setflag(28);
> >                         };
> >                         if (avp_db_load("$from/username", "s:callidblock")) {
> >                                 if (avp_check("s:callidblock", "eq/y/i")) {
> >                                         setflag(25);
> >                                 };
> >                         };
> >                 };
> >                 if (avp_db_load("$ruri/username", "s:anoncallrej")) {
> >                         if (avp_check("s:anoncallrej", "eq/y/i")) {
> >                           log(1, "SER: a ANON-CALL-REJ user\n");
> >                                 setflag(24);
> >                         };
> >                 };
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Anonymous Call Rejection Section # 24
> >         # ------------------------------------------------------------------------
> >         if (isflagset(24) && (method=="INVITE") &&
> > search("^(f|F)rom:.*(a|A)nonymous")) {
> >                 route(8);
> >                 break;
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Speed Dialing Section
> >         # ------------------------------------------------------------------------
> >         if ((method=="INVITE") && (uri=~"^sip:[0-9]{2}@.*")) {
> >                 sd_lookup("speed_dial");
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # 002 International Call Section # 29
> >         # ------------------------------------------------------------------------
> >         if (method=="INVITE" && uri=~"^sip:002[0-9]*@") {
> >                 if (isflagset(29)) {
> >                         log(1, "SER: an International Call route(6)\n");
> >                         route(6);
> >                 } else {
> >                         sl_send_reply("503", "Service Unavailable");
> >                 };
> >                 break;
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # 0XXXXXXXXX Domestic Call Section # 29
> >         # ------------------------------------------------------------------------
> >         if (method=="INVITE" && uri=~"^sip:0[0-9]{9}@") {
> >                 if (isflagset(29)) {
> >                   log(1, "SER: a Domestic Call route(6)\n");
> >                         route(6);
> >                 } else {
> >                         sl_send_reply("503", "Service Unavailable");
> >                 };
> >                 break;
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # URI Compare Section
> >         #
> >         # Here we compare the "from" and "to" to see if the caller is dialing
> >         # their own extension. If so then we route to voicemail(31) if needed
> >         # ------------------------------------------------------------------------
> >         if (method=="INVITE") {
> >                 avp_write("$from", "i:34");
> >                 if (avp_check("i:34", "eq/$ruri/i")) {
> >                         if (isflagset(31)) {
> >                                 route(5);
> >                                 break;
> >                         } else {
> >                                 sl_send_reply("486", "Busy");
> >                                 break;
> >                         };
> >                 };
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Do Not Disturb Section
> >         # ------------------------------------------------------------------------
> >         if (avp_db_load("$ruri/username", "s:donotdisturb")) {
> >                 if (avp_check("s:donotdisturb", "eq/y/i")) {
> >                         route(5);
> >                         break;
> >                 };
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Blind Call Forwarding Section
> >         # ------------------------------------------------------------------------
> >         if (method=="INVITE") {
> >           log(1, "SER: BLIND CALL FORWARDING\n");
> >                 # here we must store the current (aka original) R-URI because if
> >                 # we set call forwarding and the forwarded number is busy then we
> >                 # need to use this original R-URI to determine which voicemail
> >                 # box we should go to
> >                 if (isflagset(31)) {
> >                         avp_write("$ruri", "$voicemail");
> >                 };
> >                 if (avp_db_load("$ruri/username", "s:callfwd")) {
> >                         avp_pushto("$ruri", "s:callfwd");
> >
> >                         # lookup the call fowarding number to see if it is a served
> >                         # sip number or a PSTN number
> >
> >                         # check forwarding number rules
> >                         log(1, "SER: Check Forwarding Number Rules\n");
> >                         route(1);
> >
> >                         if (avp_check("$calltype", "eq/-/i")) {
> >                                 log(1, "SER: 503 Service Unavailable 1\n");
> >                                 sl_send_reply("503", "Service Unavailable");
> >                                 break;
> >                         };
> >
> >                         # test for domestic PSTN gateway
> >                         if (avp_check("$calltype", "eq/dom/i")) {
> >                           log(1, "SER: Start a domestic PSTN call route(3)\n");
> >                                 route(3);
> >                                 break;
> >                         };
> >
> >                         # test for international PSTN gateway
> >                         if (avp_check("$calltype", "eq/int/i")) {
> >                                 log(1, "SER: Start an international PSTN call route(6)\n");
> >                                 route(6);
> >                                 break;
> >                         };
> >                 };
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Call Routing Section
> >         # ------------------------------------------------------------------------
> >         if (!lookup("location")) {
> >
> >                 # if flag 31 (ie voicemail) is set and we made it here this means
> >                 # the user's phone is not registered anywhere. We'll forward to
> >                 # voicemail after this block because we need to check the call
> >                 # forward settings first
> >                 if (isflagset(31)) {
> >                         # flag 19 means the user has voicemail but is not online
> >                         # so we need to remember to send to voicemail if call
> >                         # forwarding is not enabled
> >                         setflag(19);
> >                 };
> >
> >                 if (method=="INVITE") {
> >                         if (does_uri_exist()) {
> >                                 # subscriber record found, but they're offline
> >                                 log(1, "SER: Temporarily Unavailable\n");
> >                                 sl_send_reply("480", "Temporarily Unavailable");
> >                                 break;
> >                         };
> >
> >                         if (uri=~"^sip:0[0-9]{9}@") {
> >                                 # Send to PSTN Gateway
> >                                 if (isflagset(28) || (is_user_in("From", "int")) ||
> > (is_user_in("From", "free-pstn"))) {
> >                                   log(1, "SER: Start a PSTN call\n");
> >                                         route(3);
> >                                 } else {
> >                                         log(1, "SER: 503 Service Unavailable 2\n");
> >                                         sl_send_reply("503", "Service Unavailable");
> >                                 };
> >                                 break;
> >                         };
> >                         sl_send_reply("404", "User Not Found");
> >                         break;
> >                 };
> >         };
> >
> >         # ------------------------------------------------------------------------
> >         # Call Forwarding Section
> >         # ------------------------------------------------------------------------
> >         if (method=="INVITE") {
> >
> >                 # save R-URI in a temp AVP for later use
> >                 avp_write("$ruri", "i:99");
> >
> >                 # only load the forward no answer option if voice mail is not enabled
> >                 if (!isflagset(31)) {
> >                         if (avp_db_load("$ruri/username", "s:fwdnoanswer")) {
> >                                 route(1);
> >                         };
> >                 };
> >                 if (avp_db_load("$ruri/username", "s:fwdbusy")) {
> >                         route(1);
> >                 };
> >                 avp_pushto("$ruri", "i:99");
> >         };
> >         if (isflagset(19)) {
> >                 # send to voicemail
> >                 route(5);
> >         } else {
> >                 route(2);
> >         };
> > }
> >
> > route[1] {
> >
> >         # Here we have route checks for all the call forwarding stuff.
> >         # The return values are passed as AVP $calltype as follows:
> >         #
> >         # "-"   = R-URI is not allowed
> >         # "dom" = R-RURI is a domestic call
> >         # "int" = R-RURI is an international call
> >         # "sip" = R-RURI is a sip call
> >
> >         avp_write("sip", "$calltype");
> >
> >   # Call rejected
> >         if ((uri=~"^sip:0204[0-9]*@") ||
> >             (uri=~"^sip:095[0-9]*@") ||
> >             (uri=~"^sip:[0-9]{3}@")) {
> >                 break;
> >         };
> >   log(1, "SER: Look aliases\n");
> >         lookup("aliases");
> >
> >         log(1, "SER: Look location\n");
> >         if (!lookup("location")) {
> >                 if (uri=~"^sip:0[0-9]{9}@") {
> >                         # test for domestic PSTN number
> >                         if (isflagset(28)) {
> >                                 log(1, "SER isflagset 28 (domestic)\n");
> >                                 avp_write("dom", "$calltype");
> >                         };
> >                 } else if (uri=~"^sip:002[0-9]*@") {
> >                         # test for international PSTN number
> >                         if (isflagset(29)) {
> >                                 log(1, "SER isflagset 29 (int)\n");
> >                                 avp_write("int", "$calltype");
> >                         };
> >                 };
> >                 break;
> >         };
> >         log(1, "SER isflagset (sip)\n");
> >         avp_write("sip", "$calltype");
> > }
> >
> > route[2] {
> >         log(1, "SER: SIP Call On-Net section route(2)\n");
> >         if ((method=="INVITE") && !allow_trusted()) {
> >                 if (!proxy_authorize("", "subscriber")) {
> >                         proxy_challenge("", "0");
> >                         break;
> >                 } else if (!check_from()) {
> >                         log(1, "Spoofed SIP call attempt");
> >                         sl_send_reply("403", "Use From=ID");
> >                         break;
> >                 } else if (!(is_from_local() || is_uri_host_local())) {
> >                         sl_send_reply("403", "Please register to use our service");
> >                         break;
> >                 };
> >         };
> >         if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)" &&
> > !search("^Route:")){
> >                 sl_send_reply("479", "We don't forward to private IP addresses");
> >                 break;
> >         };
> >         if (isflagset(25)) {
> >                 replace("^From:(.*)>" , "From: \"Anonymous\"
> > <sip:someone at anonymous.invalid>");
> >         };
> >         if (method=="INVITE" || method=="ACK") {
> >                 use_media_proxy();
> >         };
> >         t_on_failure("1");
> >         t_on_reply("1");
> >         if (!t_relay()) {
> >                 if (method=="INVITE" || method=="ACK") {
> >                         end_media_session();
> >                 };
> >                 sl_reply_error();
> >         };
> > }
> >
> > route[3] {
> >         log(1, "SER: Demestic Call Off-Net section route(3)\n");
> >
> >         # All Domestic Calls Go To CISCO 5300
> >         if (method=="INVITE") {
> >                 if (!proxy_authorize("", "subscriber")) {
> >                         proxy_challenge("", "0");
> >                         break;
> >                 } else if (!check_from()) {
> >                         log(1, "Spoofed SIP call attempt");
> >                         sl_send_reply("403", "Use From=ID");
> >                         break;
> >                 } else if (!(is_from_local() || is_uri_host_local())) {
> >                         sl_send_reply("403", "Please register to use our service");
> >                         break;
> >                 };
> >                 # enable caller id blocking for PSTN calls
> >                 if (isflagset(25)) {
> >                         append_rpid_hf();
> >                 };
> >         };
> >         # SIP->PSTN calls get 45 seconds to timeout
> >         log(1, "SER: Connecting to PSTN.....\n");
> >         avp_write("i:45", "inv_timeout");
> >         rewritehost("61.220.190.243");
> >         if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)" &&
> > !search("^Route:")){
> >                 sl_send_reply("479", "We don't forward to private IP addresses");
> >                 break;
> >         };
> >         if (method=="INVITE" || method=="ACK") {
> >                 use_media_proxy();
> >         };
> >         if (isflagset(31)) {
> >                 t_on_failure("1");
> >         };
> >         t_on_reply("1");
> >         if (!t_relay()) {
> >                 if (method=="INVITE" || method=="ACK") {
> >                         end_media_session();
> >                 };
> >                 sl_reply_error();
> >         };
> > }
> >
> > route[4] {
> >         log(1, "SER: Voice Mail section route(4)\n");
> >
> >         # voicemail route #1
> >         #
> >         # this path this executed during these conditions:
> >         #
> >         # cond 1) the called number is in the location table
> >         #                     but the callee did not answer the phone
> >         #                     (ie, failover to voicemail)
> >
> >         if (isflagset(25)) {
> >                 replace("^From:(.*)>" , "From: \"Anonymous\"
> > <sip:someone at anonymous.invalid>");
> >         };
> >         rewritehostport("99.99.99.100:5060");
> >         append_branch();
> >         t_on_reply("1");
> >         if (!t_relay()) {
> >                 if (method=="INVITE" || method=="ACK") {
> >                         end_media_session();
> >                 };
> >                 sl_reply_error();
> >         };
> > }
> >
> > route[5] {
> >         log(1, "SER: Voice Mail section route(5)\n");
> >
> >         # voicemail route #2
> >         #
> >         # this path this executed during these conditions:
> >         #
> >         #       cond 1) the called number is not in the location table
> >         #       cond 2) the from_uri == to_uri (ie, caller==callee)
> >
> >         if (method=="INVITE" || method=="ACK") {
> >                 use_media_proxy();
> >         };
> >         rewritehostport("99.99.99.100:5060");
> >         t_on_reply("1");
> >         if (!t_relay()) {
> >                 if (method=="INVITE" || method=="ACK") {
> >                         end_media_session();
> >                 };
> >                 sl_reply_error();
> >         };
> > }
> >
> > route[6] {
> >         log(1, "SER: International Call Off-Net section route(6)\n");
> >
> >         # All International Calls Go To CISCO 5300
> >         if (method=="INVITE") {
> >                 if (!proxy_authorize("", "subscriber")) {
> >                         proxy_challenge("", "0");
> >                         break;
> >                 } else if (!check_from()) {
> >                         log(1, "Spoofed SIP call attempt");
> >                         sl_send_reply("403", "Use From=ID");
> >                         break;
> >                 } else if (!(is_from_local() || is_uri_host_local())) {
> >                         sl_send_reply("403", "Please register to use our service");
> >                         break;
> >                 };
> >                 # enable caller id blocking for PSTN calls
> >                 if (isflagset(25)) {
> >                         append_rpid_hf();
> >                 };
> >         };
> >         # SIP->PSTN calls get 45 seconds to timeout
> >         avp_write("i:45", "inv_timeout");
> >         rewritehost("61.220.190.243");
> >         if (uri=~"[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)" &&
> > !search("^Route:")){
> >                 sl_send_reply("479", "We don't forward to private IP addresses");
> >                 break;
> >         };
> >         if (method=="INVITE" || method=="ACK") {
> >                 use_media_proxy();
> >         };
> >         t_on_reply("1");
> >         if (!t_relay()) {
> >                 if (method=="INVITE" || method=="ACK") {
> >                         end_media_session();
> >                 };
> >                 sl_reply_error();
> >         };
> > }
> >
> > route[7] {
> >   log(1, "SER: Caller Blocked section route(7)\n");
> >
> >         # caller blocked announcment
> >         #
> >         # this path this executed if a caller has been blocked
> >
> >         if (method=="INVITE" || method=="ACK") {
> >                 use_media_proxy();
> >         };
> >         rewriteuri("sip:699 at 99.99.99.100:5060");
> >         t_on_reply("1");
> >         if (!t_relay()) {
> >                 if (method=="INVITE" || method=="ACK") {
> >                         end_media_session();
> >                 };
> >                 sl_reply_error();
> >         };
> > }
> >
> > route[8] {
> >         log(1, "SER: Anonymous Call Rejection section route(8)\n");
> >
> >         # anonymous call rejection announcment
> >         #
> >         # this path this executed for anonymous callers
> >
> >         if (method=="INVITE" || method=="ACK") {
> >                 use_media_proxy();
> >         };
> >         rewriteuri("sip:698 at 99.99.99.100:5060");
> >         t_on_reply("1");
> >         if (!t_relay()) {
> >                 if (method=="INVITE" || method=="ACK") {
> >                         end_media_session();
> >                 };
> >                 sl_reply_error();
> >         };
> > }
> >
> > onreply_route[1] {
> >         # Not all 2xx messages have a content body so here we
> >         # make sure our Content-Length > 0 to avoid a parse error
> >         if (status=~"(180)|(183)|2[0-9][0-9]") {
> >                 if (!search("^Content-Length:\ 0")) {
> >                         use_media_proxy();
> >                 };
> >         };
> >         if (client_nat_test("1")) {
> >                 fix_contact();
> >         };
> > }
> >
> > failure_route[1] {
> >         log(1, "SER: Failure Route section failure_route(1)\n");
> >
> >         # if caller hung up then don't sent to voicemail
> >         if (t_check_status("487")) {
> >                 break;
> >         };
> >         if (isflagset(26) && t_check_status("486")) {
> >                 # forward busy is flag 26
> >                 if (avp_pushto("$ruri", "s:fwdbusy")) {
> >                         log(1, "SER: fork to fwdbusy\n");
> >                         avp_delete("s:fwdbusy");
> >                         append_branch();
> >                         resetflag(26);
> >
> >                         # test for domestic PSTN gateway
> >                         if (uri=~"^sip:0[0-9]{9}@") {
> >                         # if (avp_check("$fwd_busy_type", "eq/dom/i")) {
> >                                 # test for domestic PSTN gateway
> >                                 log(1, "SER: Busy Failure and Jump to route(3)\n");
> >                                 route(3);
> >                         } else if (uri=~"^sip:002[1-9][0-9]*@") {
> >                         # } else if (avp_check("$fwd_busy_type", "eq/int/i")) {
> >                                 # test for international PSTN gateway
> >                                 log(1, "SER: Busy Failure and Jump to route(6)\n");
> >                                 route(6);
> >                         } else {
> >                                 # default to sip call
> >                                 log(1, "SER: Busy Failure and Jump to route(2)\n");
> >                                 route(2);
> >                         };
> >                         break;
> >                 };
> >         };
> >
> >         # here we can have either voicemail __OR__ forward no answer
> >         if (isflagset(27) && t_check_status("408")) {
> >                 # forward no answer is flag 27
> >                 if (avp_pushto("$ruri", "s:fwdnoanswer")) {
> >                         log(1, "SER: fork to fwdnoanswer\n");
> >                         avp_delete("s:fwdnoanswer");
> >                         append_branch();
> >                         resetflag(27);
> >
> >                         if (uri=~"^sip:0[0-9]{9}@") {
> >                         # if (avp_check("$fwd_no_answer_type", "eq/dom/i")) {
> >                                 # test for domestic PSTN gateway
> >                                 log(1, "SER: No Answer Failure and Jump to route(3)\n");
> >                                 route(3);
> >                   } else if (uri=~"^sip:002[1-9][0-9]*@") {
> >                         # } else if (avp_check("$fwd_no_answer_type", "eq/int/i")) {
> >                                 # test for international PSTN gateway
> >                                 log(1, "SER: No Answer Failure and Jump to route(6)\n");
> >                                 route(6);
> >                         } else {
> >                                 # default to sip call
> >                                 log(1, "SER: No Answer Failure and Jump to route(2)\n");
> >                                 route(2);
> >                         };
> >                         break;
> >                 };
> >         } else if (isflagset(31) && avp_pushto("$ruri", "$voicemail")) {
> >                 avp_delete("$voicemail");
> >                 log(1, "SER: No Answer Failure and Jump to route(4)\n");
> >                 route(4);
> >                 break;
> >         };
> > }
> >
> > _______________________________________________
> > Serusers mailing list
> > serusers at lists.iptel.org
> > http://lists.iptel.org/mailman/listinfo/serusers
> >
>




More information about the sr-users mailing list