[Serusers] No sound with ser 0.9.0 and mediaproxy 1.2.1

Greger V. Teigre greger at teigre.com
Sun May 29 22:14:11 CEST 2005


If you had it working with mediaproxy 1.3.1, try upgrading it again.  Also, 
there is a debug option for mediaproxy so you can see what happens, but I 
don't recall what it is now.
g-)

Roger Lewau wrote:
> Hello Greger,
>
> Thanks for your ideas, however all SIP messages are ok, including SDP
> line as you mentioned. There is no firewall blocking UDP>1000 infront
> of mediaproxy. The situation is actually that mediaproxy dont relay
> RTP packets. Both clients send their packets to mediaproxy to the
> ports specified in the RDP line, I can detect them with ngrep. Also
> there is no error from the dispatcher since it is not used.
> Mediaproxy and SER sits on the same machine...
>
> I tried using the dispatcher but got the same result as without it.
> It must be a configuration issue with mediaproxy, because when I used
> the mediaproxy sample ser.cfg it worked quite nicely. However that
> was on a previous verison of SER  and mediaproxy 1.3.1. Also SIP
> conversation is good between SER and clients. It seems there is a
> problem in the communication between ser and mediaproxy. Mediaproxy
> just listen but do not send... There are sadly enough no entries in
> the log that relates to this issue...
>
> Any more ideas? Or anybody else?
>
> -----Ursprungligt meddelande-----
> Från: Greger V. Teigre [mailto:greger at teigre.com]
> Skickat: den 29 maj 2005 09:51
> Till: Roger Lewau; serusers at lists.iptel.org
> Ämne: Re: [Serusers] No sound with ser 0.9.0 and mediaproxy 1.2.1
>
> Firewall in front of mediaproxy with closed ports UDP > 1000?  DoS
> protection that kicks in (lots of small UDP packets). I know Zyxel
> will do that sometimes.
> Could also be a problem in the setup of your clients. Do they find a
> common codec?
> Look in /var/log/messages for errors from proxydispatcher or
> mediaproxy. You could have a problem with the communication.
> Check the INVITE from ser to callee and the OK from callee to caller.
> Both should have an SDP line with m= and then the IP address of your
> mediaproxy. g-)
>
> Roger Lewau wrote:
>> Hello list...
>>
>> I've installed SER 0.9.0 and mediaproxy 1.2.1 and dowloaded the
>> getting started scripts (issue 04a) from onsip.org.
>> Setup everything as instructed, added a couple of users to the
>> database and tried to setup a call between one public and one NATed
>> UA.
>> Both phones register properly and signalling seems to be working
>> fine, I ring each device from the other, problem is there is no
>> sound.
>>
>> So I checked the mediaproxy sessions... and it looks like this
>>
>>
>> Caller                Via                    Called
>> Status Duration  Codec    Type   Traffic
>> ----------------------------------------------------------------------
>> ------
>> ----------------------------------
>> 82.182.194.x:5004 - 212.247.91.x:35014 - 82.182.194.x:49160  inactive
>> 0'07"  Unknown  Audio  0/0/0
>>
>> Total traffic:  0bps/0bps/0bps (in1/in2/out) Session count:  1
>>
>> I dont really understand the output but I think "inactive" as well as
>> "Unknown Audio" is not a good sign.
>>
>> How ever, I then used Ngrep to see if there are some rtp traffic
>> going on and sure enough, there is traffic comming in from both UAs
>> but no traffic is leaving the proxy. Strange!
>>
>> Anyone with some bright idea on why mediaproxy is not relaying the
>> sound?
>>
>> My ser.cfg
>> ===================================
>>
>> debug=3
>> fork=yes
>> log_stderror=no
>>
>> listen=212.247.91.<hidden>   # INSERT YOUR IP ADDRESS HERE
>> port=5060
>> children=4
>> alias=sip.<somedomain>.com
>> dns=no
>> rev_dns=no
>>
>> fifo="/tmp/ser_fifo"
>> fifo_db_url="mysql://ser:heslo@localhost/ser"
>>
>> loadmodule "/usr/local/lib/ser/modules/mysql.so"
>> loadmodule "/usr/local/lib/ser/modules/sl.so"
>> loadmodule "/usr/local/lib/ser/modules/tm.so"
>> loadmodule "/usr/local/lib/ser/modules/rr.so"
>> loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
>> loadmodule "/usr/local/lib/ser/modules/usrloc.so"
>> loadmodule "/usr/local/lib/ser/modules/registrar.so"
>> loadmodule "/usr/local/lib/ser/modules/auth.so"
>> loadmodule "/usr/local/lib/ser/modules/auth_db.so"
>> loadmodule "/usr/local/lib/ser/modules/uri.so"
>> loadmodule "/usr/local/lib/ser/modules/uri_db.so"
>> loadmodule "/usr/local/lib/ser/modules/mediaproxy.so"
>> loadmodule "/usr/local/lib/ser/modules/nathelper.so"
>> loadmodule "/usr/local/lib/ser/modules/textops.so"
>> loadmodule "/usr/local/lib/ser/modules/avpops.so"
>> loadmodule "/usr/local/lib/ser/modules/domain.so"
>> loadmodule "/usr/local/lib/ser/modules/permissions.so"
>>
>> modparam("auth_db|permissions|uri_db|usrloc", "db_url",
>> "mysql://ser:heslo@localhost/ser")
>> modparam("auth_db", "calculate_ha1", 1) modparam("auth_db",
>> "password_column", "password")
>>
>> #modparam("nathelper", "rtpproxy_disable", 1) #modparam("nathelper",
>> "natping_interval", 0)
>>
>> modparam("mediaproxy","natping_interval", 30)
>> modparam("mediaproxy","mediaproxy_socket",
>> "/var/run/mediaproxy.sock")
>> modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/ser/sip-client
>> s")
>> modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/ser/rtp-client
>> s")
>>
>> modparam("usrloc", "db_mode", 2)
>>
>> modparam("registrar", "nat_flag", 6)
>>
>> modparam("rr", "enable_full_lr", 1)
>>
>> modparam("tm", "fr_inv_timer", 27)
>> modparam("tm", "fr_inv_timer_avp", "inv_timeout")
>>
>> modparam("permissions", "db_mode", 1)
>> modparam("permissions", "trusted_table", "trusted")
>>
>> 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; };
>>
>> # -----------------------------------------------------------------
>> # Record Route Section
>> # -----------------------------------------------------------------
>> if (method=="INVITE" && client_nat_test("3")) {  # INSERT YOUR IP
>> ADDRESS HERE
>> record_route_preset("212.247.91.<hidden>:5060;nat=yes"); } else if
>>  (method!="REGISTER") { record_route();
>> };
>>
>> # -----------------------------------------------------------------
>> # Call Tear Down Section
>> # -----------------------------------------------------------------
>> if (method=="BYE" || method=="CANCEL") {  end_media_session(); };
>>
>> # -----------------------------------------------------------------
>> # Loose Route Section
>> # -----------------------------------------------------------------
>> if (loose_route()) {
>>
>>  if (has_totag() && (method=="INVITE" || method=="ACK")) {
>>
>>   if (client_nat_test("3")||search("^Route:.*;nat=yes")){
>>    setflag(6);
>>    use_media_proxy();
>>   };
>>  };
>>
>>  route(1);
>>  break;
>> };
>>
>> # -----------------------------------------------------------------
>> # Call Type Processing Section
>> # -----------------------------------------------------------------
>>
>> if (uri!=myself) {
>>  route(1);
>>  break;
>> };
>>
>> if (uri==myself) {
>>  if (method=="ACK") {
>>   route(6);
>>   break;
>>  } else if (method=="CANCEL") {
>>   route(3);
>>   break;
>>  } else if (method=="INVITE") {
>>   route(3);
>>   break;
>>  } else if (method=="REGISTER") {
>>   route(2);
>>   break;
>>  };
>>
>>  lookup("aliases");
>>  if (uri!=myself) {
>>   route(1);
>>   break;
>>  };
>>
>>  if (!lookup("location")) {
>>   sl_send_reply("404", "User Not Found");
>>   break;
>>  };
>> };
>> log("NO MATCH");
>> route(1);
>> }
>>
>> route[1] {
>>
>> # -----------------------------------------------------------------
>> # Default Message Handler
>> # -----------------------------------------------------------------
>>
>> t_on_reply("1");
>>
>> if (!t_relay()) {
>>
>>  if (method=="INVITE" || method=="ACK") {
>>   end_media_session();
>>  };
>>
>>  sl_reply_error();
>> };
>> }
>>
>> route[2] {
>>
>> # -----------------------------------------------------------------
>> # REGISTER Message Handler
>> # -----------------------------------------------------------------
>>
>> sl_send_reply("100", "Trying");
>>
>> if (!search("^Contact:\ +\*") && client_nat_test("7")) {  setflag(6);
>> fix_nated_register();  force_rport(); };
>>
>> if (!www_authorize("","subscriber")) {  www_challenge("","0");
>> break; };
>>
>> if (!check_to()) {
>>  sl_send_reply("401", "Unauthorized");  break; };
>>
>> consume_credentials();
>>
>> if (!save("location")) {
>>  sl_reply_error();
>> };
>> }
>>
>> route[3] {
>>
>> # -----------------------------------------------------------------
>> # CANCEL and INVITE Message Handler
>> # -----------------------------------------------------------------
>>
>> if (client_nat_test("3")) {
>>  setflag(7);
>>  force_rport();
>>  fix_nated_contact();
>> };
>>
>> if (method=="INVITE" && !allow_trusted()) {
>>
>>  if (!proxy_authorize("","subscriber")) {
>>   proxy_challenge("","0");
>>   break;
>>  } else if (!check_from()) {
>>   sl_send_reply("403", "Use From=ID");
>>   break;
>>  };
>>
>>  consume_credentials();
>> };
>>
>> lookup("aliases");
>> if (uri!=myself) {
>>  route(1);
>>  break;
>> };
>>
>> if (uri=~"^sip:[+|00][0-9]*@") { # International PSTN inleds antingen
>> med + eller 00  route(4);  break; };
>>
>> if (!lookup("location")) {
>>
>>  if (uri=~"^sip:0[1-9]*@") { # Domestic PSTN startar med 0
>>   route(4);
>>   break;
>>  };
>>
>>  sl_send_reply("404", "User Not Found");  break; };
>>
>> if (method=="CANCEL") {
>>  route(1);
>>  break;
>> };
>>
>> route(5);
>> route(1);
>> }
>>
>> route[4] {
>>
>> # -----------------------------------------------------------------
>> # PSTN Handler
>> # -----------------------------------------------------------------
>>
>> rewritehost("192.0.2.245"); # INSERT YOUR PSTN GATEWAY IP ADDRESS
>>
>> avp_write("i:45", "inv_timeout");
>>
>> route(5);
>> route(1);
>> }
>>
>> route[5] {
>>
>> # -----------------------------------------------------------------
>> # RTP Proxy Enabler
>> # -----------------------------------------------------------------
>>
>> if (isflagset(6) || isflagset(7)) {
>>  use_media_proxy();
>> };
>> }
>>
>> route[6] {
>>
>> #
>> ----------------------------------------------------------------------
>> --
>> # ACK Handler #
>> ----------------------------------------------------------------------
>> --
>>
>> #
>> ----------------------------------------------------------------------
>> --
>> # Aliases Section #
>> ----------------------------------------------------------------------
>> --
>> lookup("aliases");
>> if (uri!=myself) {
>>  route(1);
>>  break;
>> };
>>
>> lookup("location");
>>
>> route(1);
>> }
>>
>>
>> onreply_route[1] {
>>
>> if ((isflagset(6) || isflagset(7)) &&
>>     (status=~"(180)|(183)|2[0-9][0-9]")) {
>>
>>  if (!search("^Content-Length:\ +0")) {
>>   use_media_proxy();
>>  };
>> };
>>
>> if (client_nat_test("1")) {
>>  fix_nated_contact();
>> };
>> }
>>
>> ==================================
>>
>> My mediaproxy.ini
>> ==================================
>> ;
>> ; Configuration file for MediaProxy
>> ;
>>
>> [Dispatcher]
>>
>> [MediaProxy]
>> start = yes
>> socket = /var/run/mediaproxy.sock
>> group = ser
>> ;listen = None
>> allow = Any
>> proxyIP = 212.247.91.<hidden>
>> portRange = 35000:65000
>> TOS = 0xb8
>> idleTimeout = 60
>> holdTimeout = 3600
>> ;forceClose = 0
>> accounting = off
>>
>> [Accounting]
>> user = dbuser
>> password = dbpass
>> host = dbhost
>> database = radius
>> table = radacct
>>
>> ==================================
>>
>>
>> _______________________________________________
>> Serusers mailing list
>> serusers at lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers 




More information about the sr-users mailing list