[OpenSIPS-Users] MediaProxy No Audio Problems

osiris123d duane.larson at gmail.com
Fri Oct 30 15:32:12 CET 2009


You are correct.  Sorry I didn't see the engage_media_proxy() in your script.



Ross Beer-2 wrote:
> 
> Hi,
> 
> I used the 'engage_media_proxy();' in the main routing. This should create
> a
> dialog and then enable the media proxy if needed. Please correct me if I
> have misunderstood this feature.
> 
> Regards,
> 
> Ross
> 
> 2009/10/29 osiris123d <duane.larson at gmail.com>
> 
>>
>> In your config I don't see you calling the use_media_proxy() function
>> anywhere.  This is needed in order to proxy the media.
>>
>> Do you have the OpenSIPS mediaproxy module installed and have the
>> parameters
>> set up?
>> Check this link out.
>> http://www.opensips.org/Resources/DocsTutorials#toc12
>>
>> You are going to need to use use_media_proxy() a couple of places in your
>> config depending on what you want to accomplish.
>>
>>
>>
>> Ross Beer-2 wrote:
>> >
>> > Hi,
>> >
>> > I am using MediaProxy to help get over some one way audio issues,
>> however
>> > it
>> > appears to be causing more problems than it is fixing.
>> >
>> > When I make a call between two registered phones there is no audio at
>> all,
>> > but when I call a gateway audio passes correctly.
>> >
>> > Looking at the logs it indicates that it has RTP & RTCP for one phone
>> but
>> > only RTP for the other:
>> >
>> >
>> -------------------------------------------------------------------------------------------------------------------------------------------------------------
>> > *media-relay[11366]: debug: Received new SDP offer
>> > media-relay[11366]: mediaproxy.mediacontrol.StreamListenerProtocol
>> > starting
>> > on 50060
>> > media-relay[11366]: mediaproxy.mediacontrol.StreamListenerProtocol
>> > starting
>> > on 50061
>> > media-relay[11366]: mediaproxy.mediacontrol.StreamListenerProtocol
>> > starting
>> > on 50062
>> > media-relay[11366]: mediaproxy.mediacontrol.StreamListenerProtocol
>> > starting
>> > on 50063
>> > media-relay[11366]: debug: Added new stream: (audio)
>> > 192.168.2.200:5638(RTP: Unknown, RTCP: Unknown) <-> <SERVER IP
>> > ADDRESS>:50060 <-> <SERVER IP
>> > ADDRESS>:50062 <-> Unknown (RTP: Unknown, RTCP: Unknown)
>> > media-relay[11366]: debug: created new session
>> > NWZmMmMwMzAxNDM5YjdiYTAwMDYxYTViNTllMTczMWI.:
>> > **10002*200 at mydomain.com*<10002*200 at mydomain.com>
>> > * (b62884c7) --> **10001*200 at mydomain.com* <10001*200 at mydomain.com>
>> > *media-relay[11366]: debug: Got traffic information for stream: (audio)
>> > 192.168.2.200:5638 (RTP: Unknown, RTCP: Unknown) <-> <SERVER IP
>> > ADDRESS>:50060 <-> <SERVER IP ADDRESS>:50062 <-> Unknown (RTP: <Clients
>> > Router IP>:57096, RTCP: Unknown)
>> > media-dispatcher[11369]: debug: Issuing "update" command to relay at
>> > <SERVER
>> > IP ADDRESS>
>> > media-relay[11366]: debug: updating existing session
>> > NWZmMmMwMzAxNDM5YjdiYTAwMDYxYTViNTllMTczMWI.:
>> > **10002*200 at mydomain.com*<10002*200 at mydomain.com>
>> > * (b62884c7) --> **10001*200 at mydomain.com* <10001*200 at mydomain.com>
>> > *media-relay[11366]: debug: Received updated SDP answer
>> > media-relay[11366]: debug: Got initial answer from callee for stream:
>> > (audio) 192.168.2.200:5638 (RTP: Unknown, RTCP: Unknown) <-> <SERVER IP
>> > ADDRESS>:50060 <-> <SERVER IP ADDRESS>:50062 <->
>> 192.168.2.10:40022(RTP:
>> > <Clients Router IP>:57096, RTCP: Unknown)
>> > media-relay[11366]: debug: Got traffic information for stream: (audio)
>> > 192.168.2.200:5638 (RTP: Unknown, RTCP: <Clients Router IP>:55671) <->
>> > <SERVER IP ADDRESS>:50060 <-> <SERVER IP ADDRESS>:50062 <->
>> > 192.168.2.10:40022 (RTP: <Clients Router IP>:57096, RTCP: Unknown)
>> > media-relay[11366]: debug: Got traffic information for stream: (audio)
>> > 192.168.2.200:5638 (RTP: <Clients Router IP>:55670, RTCP: <Clients
>> Router
>> > IP>:55671) <-> <SERVER IP ADDRESS>:50060 <-> <SERVER IP ADDRESS>:50062
>> <->
>> > 192.168.2.10:40022 (RTP: <Clients Router IP>:57096, RTCP: Unknown)
>> > media-dispatcher[11369]: debug: Issuing "remove" command to relay at
>> > <SERVER
>> > IP ADDRESS>
>> > media-relay[11366]: debug: removing session
>> > NWZmMmMwMzAxNDM5YjdiYTAwMDYxYTViNTllMTczMWI.:
>> > **10002*200 at mydomain.com*<10002*200 at mydomain.com>
>> > * (b62884c7) --> **10001*200 at mydomain.com* <10001*200 at mydomain.com>
>> > *media-relay[11366]: (Port 50060 Closed)
>> > media-relay[11366]: (Port 50061 Closed)
>> > media-relay[11366]: (Port 50062 Closed)
>> > media-relay[11366]: (Port 50063 Closed)
>> > media-dispatcher[11369]: debug: Got statistics: {'from_tag':
>> 'b62884c7',
>> > 'dialog_id': '841:447573368', 'start_time': 1256818436.3299999,
>> > 'timed_out':
>> > False, 'call_id': 'NWZmMmMwMzAxNDM5YjdiYTAwMDYxYTViNTllMTczMWI.',
>> > 'to_tag':
>> > '7t0mkzlie0', 'streams': [{'status': 'closed', 'caller_codec': 'G711u',
>> > 'post_dial_delay': 1.252835989, 'callee_codec': '1016', 'start_time':
>> 0,
>> > 'caller_bytes': 82000, 'callee_bytes': 83600, 'caller_packets': 410,
>> > 'end_time': 8, 'callee_remote': '<Clients Router IP>:57096',
>> > 'caller_remote': '<Clients Router IP>:55670', 'media_type': 'audio',
>> > 'callee_local': '<SERVER IP ADDRESS>:50062', 'timeout_wait': 0,
>> > 'caller_local': '<SERVER IP ADDRESS>:50060', 'callee_packets': 418}],
>> > 'duration': 8, 'to_uri':
>> > **'10001*200 at mydomain.com'*<'10001*200 at mydomain.com'>
>> > *, 'from_uri': **'10002*200 at mydomain.com'* <'10002*200 at mydomain.com'>*,
>>  > 'callee_ua': 'snom370/7.3.26', 'caller_ua': 'X-Lite Beta release 4.0
>> Beta
>> > 2
>> > stamp 55091'}*
>> >
>> -------------------------------------------------------------------------------------------------------------------------------------------------------------
>> >
>> > I am using the following OpenSIP's config:
>> >
>> >
>> >
>> > # main routing logic
>> >
>> > route{
>> >
>> > # initial sanity checks -- messages with
>> >
>> > # max_forwards==0, or excessively long requests
>> >
>> > if (!mf_process_maxfwd_header("10")) {
>> >
>> > sl_send_reply("483","Too Many Hops");
>> >
>> > exit;
>> >
>> > };
>> >
>> > if (msg:len >= 2048 ) {
>> >
>> > sl_send_reply("513", "Message too big");
>> >
>> > exit;
>> >
>> > };
>> >
>> > # !! Nathelper
>> >
>> > # Special handling for NATed clients; first, NAT test is
>> >
>> > # executed: it looks for via!=received and RFC1918 addresses
>> >
>> > # in Contact (may fail if line-folding is used); also,
>> >
>> > # the received test should, if completed, should check all
>> >
>> > # vias for rpesence of received
>> >
>> > if (nat_uac_test("31"))
>> >
>> > {
>> >
>> > # Allow RR-ed requests, as these may indicate that
>> >
>> > # a NAT-enabled proxy takes care of it; unless it is
>> >
>> > # a REGISTER
>> >
>> > xlog("Behind a NAT\n");
>> >
>> > if (is_method("REGISTER"))
>> >
>> > {
>> >
>> > fix_nated_register();
>> >
>> > }
>> >
>> > fix_nated_contact();
>> >
>> > force_rport(); # Add rport parameter to topmost Via
>> >
>> > #setbflag(6); # Mark as NATed
>> >
>> > };
>> >
>> > # 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 (!is_method("REGISTER"))
>> >
>> > record_route();
>> >
>> > if(is_method("INVITE"))
>> >
>> > {
>> >
>> > fix_nated_sdp("1");
>> >
>> > create_dialog();
>> >
>> > fix_nated_sdp("8");
>> >
>> > engage_media_proxy();
>> >
>> > }
>> >
>> > # subsequent messages withing a dialog should take the
>> >
>> > # path determined by record-routing
>> >
>> > if (loose_route()) {
>> >
>> > # mark routing logic in request
>> >
>> > append_hf("P-hint: rr-enforced\r\n");
>> >
>> > route(1);
>> >
>> > exit;
>> >
>> > };
>> >
>> >  if (!uri==myself) {
>> >
>> > # mark routing logic in request
>> >
>> > append_hf("P-hint: outbound\r\n");
>> >
>> > route(1);
>> >
>> > exit;
>> >
>> > };
>> >
>> > # if the request is for other domain use UsrLoc
>> >
>> > # (in case, it does not work, use the following command
>> >
>> > # with proper names and addresses in it)
>> >
>> > if (uri==myself)
>> >
>> > {
>> >
>> > if (is_method("REGISTER"))
>> >
>> > {
>> >
>> > # Uncomment this if you want to use digest authentication
>> >
>> > #if (!www_authorize("siphub.org", "subscriber")) {
>> >
>> > # www_challenge("siphub.org", "0");
>> >
>> > # return;
>> >
>> > #};
>> >
>> > save("location");
>> >
>> > exit;
>> >
>> > };
>> >
>> >  # native SIP destinations are handled using our USRLOC DB
>> >
>> > if (!lookup("location"))
>> >
>> > {
>> >
>> > # Local Device Not Found Send To Gateway
>> >
>> > rewritehostport("<gateway>:5065");
>> >
>> > }
>> >
>> > };
>> >
>> > append_hf("P-hint: usrloc applied\r\n");
>> >
>> > route(1);
>> >
>> > }
>> >
>> > route[1]
>> >
>> > {
>> >
>> > # !! Nathelper
>> >
>> > # 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");
>> >
>> > # exit;
>> >
>> > # };
>> >
>> > # NAT processing of replies; apply to all transactions (for example,
>> >
>> > # re-INVITEs from public to private UA are hard to identify as
>> >
>> > # NATed at the moment of request processing); look at replies
>> >
>> > t_on_reply("1");
>> >
>> > # send it out now; use stateful forwarding as it works reliably
>> >
>> > # even for UDP2TCP
>> >
>> > if (!t_relay()) {
>> >
>> > sl_reply_error();
>> >
>> > };
>> >
>> > }
>> >
>> > # !! Nathelper
>> >
>> > onreply_route[1]
>> >
>> > {
>> >
>> > if (nat_uac_test("31"))
>> >
>> > {
>> >
>> > # Allow RR-ed requests, as these may indicate that
>> >
>> > # a NAT-enabled proxy takes care of it; unless it is
>> >
>> > # a REGISTER
>> >
>> > xlog("Reply Behind a NAT");
>> >
>> > fix_nated_contact();
>> >
>> > force_rport(); # Add rport parameter to topmost Via
>> >
>> > #setbflag(6); # Mark as NATed
>> >
>> > };
>> >
>> > }
>> >
>> > _______________________________________________
>> > Users mailing list
>> > Users at lists.opensips.org
>> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>> >
>> >
>>
>> --
>> View this message in context:
>> http://n2.nabble.com/MediaProxy-No-Audio-Problems-tp3911881p3913596.html
>> Sent from the OpenSIPS - Users mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
> 
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> 
> 

-- 
View this message in context: http://n2.nabble.com/MediaProxy-No-Audio-Problems-tp3911881p3919261.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.



More information about the Users mailing list