[Serusers] Mediaproxy error

Terry Mac Millan serweb at finian.net
Thu Mar 3 20:16:57 CET 2005


Good day,
I have a very interesting error coming back with my attempts to use the
mediaproxy module.
This is what is appearing in the syslog file:
Mar 3 13:26:37 hostthe3rd /usr/local/sbin/ser[30021]: error:
mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy
Mar 3 13:26:37 hostthe3rd /usr/local/sbin/ser[30020]: error:
mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy

The phones do ring, but no voice channel is established. 2 phones are
located behind a nat firewall on the same subnet, and the ser server is on
the internet with internet ip's.

I can send a full copy of my cfg file if needed, but will attach small
snippits of it that have the sections on the mediaproxy parts.

Any help on this would be greatly appreciated.

Thanks
Terry


--- Snippets from ser.cfg file ---
loadmodule "/usr/local/lib/ser/modules/mediaproxy.so"
...
modparam("mediaproxy", "natping_interval", 60)
modparam("registrar", "nat_flag", 2)
...
route {
...
  if (method=="REGISTER") {

    # Nat Info - Hopefully
    if (client_nat_test("3")) {
 setflag(2);
 force_rport();
 fix_contact();
    };
...
route[2] {


  if (method=="INVITE") {
 t_on_failure("1");
  } else if (method=="BYE" || method=="CANCEL") {
 end_media_session();
  };

  if (loose_route()) {
 if (method=="INVITE" || method=="ACK") {
  use_media_proxy();
 };
 t_relay();
 break;
  }

  if (method=="INVITE") {
 record_route();
  };

  if (client_nat_test("3") && !search("^Recored-Route:")) {
 force_rport();
 fix_contact();
  };

  if (method=="INVITE") {
 t_on_reply("1");
  };

  if (method=="INVITE" || method=="ACK") {
 use_media_proxy();
  };
  # outbound requests are allowed only for registered BigU users
  if (!(src_ip==216.94.106.12) &
    !(proxy_authorize("hostthe3rd.rivernet.net", "subscriber"))) {

    # ACK and CANCEL have no security mechanisms so they are just
    # noted
    if (method=="ACK" | method=="BYE") {
      log(1, "LOG: failed outbound authentication for ACK granted\n");
    } else if (method=="CANCEL") {
      log(1, "LOG: failed outbound authentication for CANCEL granted\n");
    } else if (method=="INVITE") {
      setflag(1);
    } else {
      proxy_challenge("hostthe3rd.rivernet.net", "0");
      break;
    };
  setflag(1);
  };

  # to maintain credibility of our proxy, we check From in INVITEs
#  if (!src_ip==216.94.106.12 & method=="INVITE" & !check_from()) {
#    log(1, "LOG: Spoofed from attempt\n");
#    sl_send_reply("403", "Use From=id next time");
#    break;
#  };

  append_hf("P-hint: OUTBOUND ON INTERNET\r\n");
  setflag(1);
  if (!t_relay()) {
    if (method=="INVITE" || method=="ACK") {
        end_media_session();
    };
    sl_reply_error();
    break;
  };

}
...
failure_route[1] {
 end_media_session();
}

onreply_route[1] {
   if (status=~"(183)|(2[0-9][0-9])") {
 if(client_nat_test("1")) {
  fix_contact();
 }
 use_media_proxy();
   };
}




More information about the sr-users mailing list