<div>Hi,</div>
<div> </div>
<div>I used the &#39;engage_media_proxy();&#39; 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.</div>
<div> </div>
<div>Regards,</div>
<div> </div>
<div>Ross<br><br></div>
<div class="gmail_quote">2009/10/29 osiris123d <span dir="ltr">&lt;<a href="mailto:duane.larson@gmail.com">duane.larson@gmail.com</a>&gt;</span><br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote"><br>In your config I don&#39;t see you calling the use_media_proxy() function<br>anywhere.  This is needed in order to proxy the media.<br>
<br>Do you have the OpenSIPS mediaproxy module installed and have the parameters<br>set up?<br>Check this link out.<br><a href="http://www.opensips.org/Resources/DocsTutorials#toc12" target="_blank">http://www.opensips.org/Resources/DocsTutorials#toc12</a><br>
<br>You are going to need to use use_media_proxy() a couple of places in your<br>config depending on what you want to accomplish.<br>
<div>
<div></div>
<div class="h5"><br><br><br>Ross Beer-2 wrote:<br>&gt;<br>&gt; Hi,<br>&gt;<br>&gt; I am using MediaProxy to help get over some one way audio issues, however<br>&gt; it<br>&gt; appears to be causing more problems than it is fixing.<br>
&gt;<br>&gt; When I make a call between two registered phones there is no audio at all,<br>&gt; but when I call a gateway audio passes correctly.<br>&gt;<br>&gt; Looking at the logs it indicates that it has RTP &amp; RTCP for one phone but<br>
&gt; only RTP for the other:<br>&gt;<br>&gt; -------------------------------------------------------------------------------------------------------------------------------------------------------------<br>&gt; *media-relay[11366]: debug: Received new SDP offer<br>
&gt; media-relay[11366]: mediaproxy.mediacontrol.StreamListenerProtocol<br>&gt; starting<br>&gt; on 50060<br>&gt; media-relay[11366]: mediaproxy.mediacontrol.StreamListenerProtocol<br>&gt; starting<br>&gt; on 50061<br>&gt; media-relay[11366]: mediaproxy.mediacontrol.StreamListenerProtocol<br>
&gt; starting<br>&gt; on 50062<br>&gt; media-relay[11366]: mediaproxy.mediacontrol.StreamListenerProtocol<br>&gt; starting<br>&gt; on 50063<br>&gt; media-relay[11366]: debug: Added new stream: (audio)<br>&gt; 192.168.2.200:5638(RTP: Unknown, RTCP: Unknown) &lt;-&gt; &lt;SERVER IP<br>
&gt; ADDRESS&gt;:50060 &lt;-&gt; &lt;SERVER IP<br>&gt; ADDRESS&gt;:50062 &lt;-&gt; Unknown (RTP: Unknown, RTCP: Unknown)<br>&gt; media-relay[11366]: debug: created new session<br>&gt; NWZmMmMwMzAxNDM5YjdiYTAwMDYxYTViNTllMTczMWI.:<br>
</div></div>&gt; **10002*<a href="mailto:200@mydomain.com">200@mydomain.com</a>*&lt;10002*<a href="mailto:200@mydomain.com">200@mydomain.com</a>&gt;<br>&gt; * (b62884c7) --&gt; **10001*<a href="mailto:200@mydomain.com">200@mydomain.com</a>* &lt;10001*<a href="mailto:200@mydomain.com">200@mydomain.com</a>&gt;<br>

<div class="im">&gt; *media-relay[11366]: debug: Got traffic information for stream: (audio)<br>&gt; <a href="http://192.168.2.200:5638/" target="_blank">192.168.2.200:5638</a> (RTP: Unknown, RTCP: Unknown) &lt;-&gt; &lt;SERVER IP<br>
&gt; ADDRESS&gt;:50060 &lt;-&gt; &lt;SERVER IP ADDRESS&gt;:50062 &lt;-&gt; Unknown (RTP: &lt;Clients<br>&gt; Router IP&gt;:57096, RTCP: Unknown)<br>&gt; media-dispatcher[11369]: debug: Issuing &quot;update&quot; command to relay at<br>
&gt; &lt;SERVER<br>&gt; IP ADDRESS&gt;<br>&gt; media-relay[11366]: debug: updating existing session<br>&gt; NWZmMmMwMzAxNDM5YjdiYTAwMDYxYTViNTllMTczMWI.:<br></div>&gt; **10002*<a href="mailto:200@mydomain.com">200@mydomain.com</a>*&lt;10002*<a href="mailto:200@mydomain.com">200@mydomain.com</a>&gt;<br>
&gt; * (b62884c7) --&gt; **10001*<a href="mailto:200@mydomain.com">200@mydomain.com</a>* &lt;10001*<a href="mailto:200@mydomain.com">200@mydomain.com</a>&gt;<br>
<div class="im">&gt; *media-relay[11366]: debug: Received updated SDP answer<br>&gt; media-relay[11366]: debug: Got initial answer from callee for stream:<br>&gt; (audio) <a href="http://192.168.2.200:5638/" target="_blank">192.168.2.200:5638</a> (RTP: Unknown, RTCP: Unknown) &lt;-&gt; &lt;SERVER IP<br>
&gt; ADDRESS&gt;:50060 &lt;-&gt; &lt;SERVER IP ADDRESS&gt;:50062 &lt;-&gt; <a href="http://192.168.2.10:40022/" target="_blank">192.168.2.10:40022</a> (RTP:<br>&gt; &lt;Clients Router IP&gt;:57096, RTCP: Unknown)<br>&gt; media-relay[11366]: debug: Got traffic information for stream: (audio)<br>
&gt; <a href="http://192.168.2.200:5638/" target="_blank">192.168.2.200:5638</a> (RTP: Unknown, RTCP: &lt;Clients Router IP&gt;:55671) &lt;-&gt;<br>&gt; &lt;SERVER IP ADDRESS&gt;:50060 &lt;-&gt; &lt;SERVER IP ADDRESS&gt;:50062 &lt;-&gt;<br>
&gt; <a href="http://192.168.2.10:40022/" target="_blank">192.168.2.10:40022</a> (RTP: &lt;Clients Router IP&gt;:57096, RTCP: Unknown)<br>&gt; media-relay[11366]: debug: Got traffic information for stream: (audio)<br>&gt; <a href="http://192.168.2.200:5638/" target="_blank">192.168.2.200:5638</a> (RTP: &lt;Clients Router IP&gt;:55670, RTCP: &lt;Clients Router<br>
&gt; IP&gt;:55671) &lt;-&gt; &lt;SERVER IP ADDRESS&gt;:50060 &lt;-&gt; &lt;SERVER IP ADDRESS&gt;:50062 &lt;-&gt;<br>&gt; <a href="http://192.168.2.10:40022/" target="_blank">192.168.2.10:40022</a> (RTP: &lt;Clients Router IP&gt;:57096, RTCP: Unknown)<br>
&gt; media-dispatcher[11369]: debug: Issuing &quot;remove&quot; command to relay at<br>&gt; &lt;SERVER<br>&gt; IP ADDRESS&gt;<br>&gt; media-relay[11366]: debug: removing session<br>&gt; NWZmMmMwMzAxNDM5YjdiYTAwMDYxYTViNTllMTczMWI.:<br>
</div>&gt; **10002*<a href="mailto:200@mydomain.com">200@mydomain.com</a>*&lt;10002*<a href="mailto:200@mydomain.com">200@mydomain.com</a>&gt;<br>&gt; * (b62884c7) --&gt; **10001*<a href="mailto:200@mydomain.com">200@mydomain.com</a>* &lt;10001*<a href="mailto:200@mydomain.com">200@mydomain.com</a>&gt;<br>

<div class="im">&gt; *media-relay[11366]: (Port 50060 Closed)<br>&gt; media-relay[11366]: (Port 50061 Closed)<br>&gt; media-relay[11366]: (Port 50062 Closed)<br>&gt; media-relay[11366]: (Port 50063 Closed)<br>&gt; media-dispatcher[11369]: debug: Got statistics: {&#39;from_tag&#39;: &#39;b62884c7&#39;,<br>
&gt; &#39;dialog_id&#39;: &#39;841:447573368&#39;, &#39;start_time&#39;: 1256818436.3299999,<br>&gt; &#39;timed_out&#39;:<br>&gt; False, &#39;call_id&#39;: &#39;NWZmMmMwMzAxNDM5YjdiYTAwMDYxYTViNTllMTczMWI.&#39;,<br>&gt; &#39;to_tag&#39;:<br>
&gt; &#39;7t0mkzlie0&#39;, &#39;streams&#39;: [{&#39;status&#39;: &#39;closed&#39;, &#39;caller_codec&#39;: &#39;G711u&#39;,<br>&gt; &#39;post_dial_delay&#39;: 1.252835989, &#39;callee_codec&#39;: &#39;1016&#39;, &#39;start_time&#39;: 0,<br>
&gt; &#39;caller_bytes&#39;: 82000, &#39;callee_bytes&#39;: 83600, &#39;caller_packets&#39;: 410,<br>&gt; &#39;end_time&#39;: 8, &#39;callee_remote&#39;: &#39;&lt;Clients Router IP&gt;:57096&#39;,<br>&gt; &#39;caller_remote&#39;: &#39;&lt;Clients Router IP&gt;:55670&#39;, &#39;media_type&#39;: &#39;audio&#39;,<br>
&gt; &#39;callee_local&#39;: &#39;&lt;SERVER IP ADDRESS&gt;:50062&#39;, &#39;timeout_wait&#39;: 0,<br>&gt; &#39;caller_local&#39;: &#39;&lt;SERVER IP ADDRESS&gt;:50060&#39;, &#39;callee_packets&#39;: 418}],<br>&gt; &#39;duration&#39;: 8, &#39;to_uri&#39;:<br>
</div>&gt; **&#39;10001*<a href="mailto:200@mydomain.com">200@mydomain.com</a>&#39;*&lt;&#39;10001*<a href="mailto:200@mydomain.com">200@mydomain.com</a>&#39;&gt;<br>&gt; *, &#39;from_uri&#39;: **&#39;10002*<a href="mailto:200@mydomain.com">200@mydomain.com</a>&#39;* &lt;&#39;10002*<a href="mailto:200@mydomain.com">200@mydomain.com</a>&#39;&gt;*,<br>

<div>
<div></div>
<div class="h5">&gt; &#39;callee_ua&#39;: &#39;snom370/7.3.26&#39;, &#39;caller_ua&#39;: &#39;X-Lite Beta release 4.0 Beta<br>&gt; 2<br>&gt; stamp 55091&#39;}*<br>&gt; -------------------------------------------------------------------------------------------------------------------------------------------------------------<br>
&gt;<br>&gt; I am using the following OpenSIP&#39;s config:<br>&gt;<br>&gt;<br>&gt;<br>&gt; # main routing logic<br>&gt;<br>&gt; route{<br>&gt;<br>&gt; # initial sanity checks -- messages with<br>&gt;<br>&gt; # max_forwards==0, or excessively long requests<br>
&gt;<br>&gt; if (!mf_process_maxfwd_header(&quot;10&quot;)) {<br>&gt;<br>&gt; sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);<br>&gt;<br>&gt; exit;<br>&gt;<br>&gt; };<br>&gt;<br>&gt; if (msg:len &gt;= 2048 ) {<br>
&gt;<br>&gt; sl_send_reply(&quot;513&quot;, &quot;Message too big&quot;);<br>&gt;<br>&gt; exit;<br>&gt;<br>&gt; };<br>&gt;<br>&gt; # !! Nathelper<br>&gt;<br>&gt; # Special handling for NATed clients; first, NAT test is<br>
&gt;<br>&gt; # executed: it looks for via!=received and RFC1918 addresses<br>&gt;<br>&gt; # in Contact (may fail if line-folding is used); also,<br>&gt;<br>&gt; # the received test should, if completed, should check all<br>
&gt;<br>&gt; # vias for rpesence of received<br>&gt;<br>&gt; if (nat_uac_test(&quot;31&quot;))<br>&gt;<br>&gt; {<br>&gt;<br>&gt; # Allow RR-ed requests, as these may indicate that<br>&gt;<br>&gt; # a NAT-enabled proxy takes care of it; unless it is<br>
&gt;<br>&gt; # a REGISTER<br>&gt;<br>&gt; xlog(&quot;Behind a NAT\n&quot;);<br>&gt;<br>&gt; if (is_method(&quot;REGISTER&quot;))<br>&gt;<br>&gt; {<br>&gt;<br>&gt; fix_nated_register();<br>&gt;<br>&gt; }<br>&gt;<br>&gt; fix_nated_contact();<br>
&gt;<br>&gt; force_rport(); # Add rport parameter to topmost Via<br>&gt;<br>&gt; #setbflag(6); # Mark as NATed<br>&gt;<br>&gt; };<br>&gt;<br>&gt; # we record-route all messages -- to make sure that<br>&gt;<br>&gt; # subsequent messages will go through our proxy; that&#39;s<br>
&gt;<br>&gt; # particularly good if upstream and downstream entities<br>&gt;<br>&gt; # use different transport protocol<br>&gt;<br>&gt; if (!is_method(&quot;REGISTER&quot;))<br>&gt;<br>&gt; record_route();<br>&gt;<br>&gt; if(is_method(&quot;INVITE&quot;))<br>
&gt;<br>&gt; {<br>&gt;<br>&gt; fix_nated_sdp(&quot;1&quot;);<br>&gt;<br>&gt; create_dialog();<br>&gt;<br>&gt; fix_nated_sdp(&quot;8&quot;);<br>&gt;<br>&gt; engage_media_proxy();<br>&gt;<br>&gt; }<br>&gt;<br>&gt; # subsequent messages withing a dialog should take the<br>
&gt;<br>&gt; # path determined by record-routing<br>&gt;<br>&gt; if (loose_route()) {<br>&gt;<br>&gt; # mark routing logic in request<br>&gt;<br>&gt; append_hf(&quot;P-hint: rr-enforced\r\n&quot;);<br>&gt;<br>&gt; route(1);<br>
&gt;<br>&gt; exit;<br>&gt;<br>&gt; };<br>&gt;<br>&gt;  if (!uri==myself) {<br>&gt;<br>&gt; # mark routing logic in request<br>&gt;<br>&gt; append_hf(&quot;P-hint: outbound\r\n&quot;);<br>&gt;<br>&gt; route(1);<br>&gt;<br>
&gt; exit;<br>&gt;<br>&gt; };<br>&gt;<br>&gt; # if the request is for other domain use UsrLoc<br>&gt;<br>&gt; # (in case, it does not work, use the following command<br>&gt;<br>&gt; # with proper names and addresses in it)<br>
&gt;<br>&gt; if (uri==myself)<br>&gt;<br>&gt; {<br>&gt;<br>&gt; if (is_method(&quot;REGISTER&quot;))<br>&gt;<br>&gt; {<br>&gt;<br>&gt; # Uncomment this if you want to use digest authentication<br>&gt;<br>&gt; #if (!www_authorize(&quot;<a href="http://siphub.org/" target="_blank">siphub.org</a>&quot;, &quot;subscriber&quot;)) {<br>
&gt;<br>&gt; # www_challenge(&quot;<a href="http://siphub.org/" target="_blank">siphub.org</a>&quot;, &quot;0&quot;);<br>&gt;<br>&gt; # return;<br>&gt;<br>&gt; #};<br>&gt;<br>&gt; save(&quot;location&quot;);<br>&gt;<br>&gt; exit;<br>
&gt;<br>&gt; };<br>&gt;<br>&gt;  # native SIP destinations are handled using our USRLOC DB<br>&gt;<br>&gt; if (!lookup(&quot;location&quot;))<br>&gt;<br>&gt; {<br>&gt;<br>&gt; # Local Device Not Found Send To Gateway<br>&gt;<br>
&gt; rewritehostport(&quot;&lt;gateway&gt;:5065&quot;);<br>&gt;<br>&gt; }<br>&gt;<br>&gt; };<br>&gt;<br>&gt; append_hf(&quot;P-hint: usrloc applied\r\n&quot;);<br>&gt;<br>&gt; route(1);<br>&gt;<br>&gt; }<br>&gt;<br>&gt; route[1]<br>
&gt;<br>&gt; {<br>&gt;<br>&gt; # !! Nathelper<br>&gt;<br>&gt; # if (uri=~&quot;[@:](192\.168\.|10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)&quot; &amp;&amp;<br>&gt; !search(&quot;^Route:&quot;))<br>&gt;<br>&gt; # {<br>&gt;<br>&gt; # sl_send_reply(&quot;479&quot;, &quot;We don&#39;t forward to private IP addresses&quot;);<br>
&gt;<br>&gt; # exit;<br>&gt;<br>&gt; # };<br>&gt;<br>&gt; # NAT processing of replies; apply to all transactions (for example,<br>&gt;<br>&gt; # re-INVITEs from public to private UA are hard to identify as<br>&gt;<br>&gt; # NATed at the moment of request processing); look at replies<br>
&gt;<br>&gt; t_on_reply(&quot;1&quot;);<br>&gt;<br>&gt; # send it out now; use stateful forwarding as it works reliably<br>&gt;<br>&gt; # even for UDP2TCP<br>&gt;<br>&gt; if (!t_relay()) {<br>&gt;<br>&gt; sl_reply_error();<br>
&gt;<br>&gt; };<br>&gt;<br>&gt; }<br>&gt;<br>&gt; # !! Nathelper<br>&gt;<br>&gt; onreply_route[1]<br>&gt;<br>&gt; {<br>&gt;<br>&gt; if (nat_uac_test(&quot;31&quot;))<br>&gt;<br>&gt; {<br>&gt;<br>&gt; # Allow RR-ed requests, as these may indicate that<br>
&gt;<br>&gt; # a NAT-enabled proxy takes care of it; unless it is<br>&gt;<br>&gt; # a REGISTER<br>&gt;<br>&gt; xlog(&quot;Reply Behind a NAT&quot;);<br>&gt;<br>&gt; fix_nated_contact();<br>&gt;<br>&gt; force_rport(); # Add rport parameter to topmost Via<br>
&gt;<br>&gt; #setbflag(6); # Mark as NATed<br>&gt;<br>&gt; };<br>&gt;<br>&gt; }<br>&gt;<br></div></div>
<div class="im">&gt; _______________________________________________<br>&gt; Users mailing list<br>&gt; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>&gt; <a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;<br>&gt;<br><br>--<br></div>View this message in context: <a href="http://n2.nabble.com/MediaProxy-No-Audio-Problems-tp3911881p3913596.html" target="_blank">http://n2.nabble.com/MediaProxy-No-Audio-Problems-tp3911881p3913596.html</a><br>
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.<br>
<div>
<div></div>
<div class="h5"><br>_______________________________________________<br>Users mailing list<br><a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</div></div></blockquote></div><br>