<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Another possible proposal to move RTP relay processing to another
    FreeSWITCH could be as follow, please tell me if it sounds
    reasonable (it sounds like a very dirty hack).<br>
    Consider that i just need to do RTP relay between 2 users (no
    transcoding, no advanced features) on boxes differents from the FS
    acting as SIP registration server.<br>
    <br>
    FS-UK is in Europe.<br>
    FS-IN is in India.<br>
    C1 and C2 are in India.<br>
    <br>
    C1 and C2 are connected to FS-UK in Europe for SIP.<br>
    <br>
    I would like to have the flow as follow:<br>
    SIP Flow: C1 -&gt; FS-UK -&gt; C2<br>
    RTP flow: C1 -&gt; FS-IN -&gt; C2<br>
    <br>
    A possible approach is to use the REDIRECT feature of FS.<br>
    <br>
    FS-UK has bypass_media=true&nbsp; &amp; proxy_media=false<br>
    FS-IN has bypass_media=false &amp; proxy_media=true<br>
    <br>
    STEP1) C1 call C2 and FS-UK send a REDIRECT C2@FS-IN<br>
    <span class="Apple-style-span" style="border-collapse: separate;
      color: rgb(0, 0, 0); font-family: Times; font-style: normal;
      font-variant: normal; font-weight: normal; letter-spacing: normal;
      line-height: normal; orphans: 2; text-indent: 0px; text-transform:
      none; white-space: normal; widows: 2; word-spacing: 0px;
      font-size: medium;"><span class="Apple-style-span"
        style="font-family: monospace;">
        <pre>C1                             FS-UK

INVITE -------------------------------&gt;
           &lt;------------------------------ 100 Trying
           &lt;------------------------------ 302 Moved Temporary C2@FS2
ACK    -------------------------------&gt;

&lt;action application="redirect" data="sip:C2@FS-IN"/&gt;


STEP 2) C1 call C2 on C2@FS-IN in India because of the redirect
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: monospace;"><pre>C1                             FS-IN
</pre></span></span>INVITE C2@FS-IN---------------------------------------------------------------------------------&gt;
</pre>
      </span></span><span class="Apple-style-span"
      style="border-collapse: separate; color: rgb(0, 0, 0);
      font-family: Times; font-style: normal; font-variant: normal;
      font-weight: normal; letter-spacing: normal; line-height: normal;
      orphans: 2; text-indent: 0px; text-transform: none; white-space:
      normal; widows: 2; word-spacing: 0px; font-size: medium;"><span
        class="Apple-style-span" style="font-family: monospace;">
        <pre>           &lt;------------------------------ 100 Trying

STEP 3) FS-IN make a call back to C2@FS-UK back to FS-UK

Now FS-IN make a bridge for C2 back on FS-UK (where C2 is SIP registered):

&lt;action application="bridge" data="C2@FS-UK"/&gt;
</pre>
      </span></span><span class="Apple-style-span"
      style="border-collapse: separate; color: rgb(0, 0, 0);
      font-family: Times; font-style: normal; font-variant: normal;
      font-weight: normal; letter-spacing: normal; line-height: normal;
      orphans: 2; text-indent: 0px; text-transform: none; white-space:
      normal; widows: 2; word-spacing: 0px; font-size: medium;"><span
        class="Apple-style-span" style="font-family: monospace;">
        <pre>FS-IN                             FS-UK

INVITE -------------------------------&gt;
           &lt;------------------------------ 100 Trying
</pre>
      </span></span>STEP 4) FS-UK (which has bypass_media) let the C2
    ring and answer the call and provide the IP address of the leg on
    FS-IN<br>
    <span class="Apple-style-span" style="border-collapse: separate;
      color: rgb(0, 0, 0); font-family: Times; font-style: normal;
      font-variant: normal; font-weight: normal; letter-spacing: normal;
      line-height: normal; orphans: 2; text-indent: 0px; text-transform:
      none; white-space: normal; widows: 2; word-spacing: 0px;
      font-size: medium;"><span class="Apple-style-span"
        style="font-family: monospace;">
        <pre>FS-UK                             C2

INVITE -------------------------------&gt;
           &lt;------------------------------ xxx ring, answer, etc
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Times; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: monospace;"><pre>200 OK -------------------------------&gt; For RTP it provide the IP address of FS-IN that has proxy_media=true

</pre></span></span>STEP 5) Now C1 and C2 are sending their RTP flow to FS-IN in india due to it's proxy_media SDP rewriting

</pre>
      </span></span>I don't know if it was clear.<br>
    <br>
    To summarize:<br>
    <br>
    From SIP point of view<br>
    C1 -&gt; FS-UK (redirect) -&gt; FS-IN (bridge back to FS-UK) -&gt;
    FS-UK -&gt; C2<br>
    <br>
    From RTP point of view<br>
    C1 -&gt; FS-IN (proxy_media) -&gt; C2<br>
    <br>
    I just want to move certain users to their near media relay and
    install one FS box for each continent so that my users will use the
    media-relay near to them.<br>
    <br>
    Does it seems feasible?<br>
    <br>
    Fabio<br>
    <br>
    On 30/12/10 12.00, Fabio Pietrosanti (naif) wrote:
    <blockquote cite="mid:4D1C6640.3050209@infosecurity.ch" type="cite">
      <pre wrap="">Hi Steven,

if i understand correctly in your scenario "C2" is SIP registered to FS2.

While i would like to have C1 and C2 both SIP registered to FS1, but if
they match certain parameters (that's application logic), i want their
RTP flow to goes proxed trough FS2.

FS1 is in Europe.
FS2 is in India.
C1 and C2 are in India.

C1 and C2 are connected to FS1 in Europe for SIP.

I would like to have the flow as follow:
SIP Flow: C1 -&gt; FS1 -&gt; C2
RTP flow: C1 -&gt; FS2 -&gt; C2

Obviously FS1 need in some way to be able to "instruct" C1 and C2 to go
trough FS2, and FS2 to handle RTP relay.

>From my basic feeling i would need to move to a Kamailio+RTPProxy
solutions, but if FS could have the flexibility to implement such
solution it would be *much better* as i am already FS based.

Also if some custom development is required, i would be happy to sponsor
some bounty about it.

Fabio
</pre>
    </blockquote>
    <br>
  </body>
</html>