<!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">
No, I think that confirms what I thought I remembered. As onfailure
will use the original message, there will be parts of it you cannot
change.<br>
g-)<br>
<br>
Shaun Hofer wrote:
<blockquote cite="mid200702071821.12453.shaun.hofer@voxpak.com"
 type="cite">
  <pre wrap="">I found the problem, which was on the Asterisk end. As it stands, it works 
fine when exclude route(4) call. When I call with mediaproxy being used, I 
don't get any sound. From packet captures I can see RTP stream coming from 
Asterisk to SER machine(I assume mediaproxy). Asterisk seems to also send RTP 
packets to UA.  Does this mean mediaproxy can't be used after failure_route 
or is there something else I can try ?

route[4] {
        # ----------------------------------------------------------
        # NAT Traversal Section
        # ----------------------------------------------------------
        if (isflagset(6) || isflagset(7) || isflagset(11)) {
                if (!isflagset(8)) {
                         setflag(8);
                         use_media_proxy();
                 };
        };
}

route[7] {
        setflag(11);
        revert_uri();
        rewritehostport("202.168.41.218:5060");
        append_branch();
        route(4);
        t_relay();
}

failure_route[1] {
        if (t_check_status("487")) {
                break;
        };
        if (isflagset(26) &amp;&amp; t_check_status("486")) {
                        avp_delete(<a class="moz-txt-link-rfc2396E" href="s:fwdbusy">"s:fwdbusy"</a>);
                        resetflag(26);
                        route(7);
        };
        if (isflagset(27) &amp;&amp; t_check_status("408")) {
                        avp_delete(<a class="moz-txt-link-rfc2396E" href="s:fwdnoanswer">"s:fwdnoanswer"</a>);
                        resetflag(27);
                       route(7);
        };
        end_media_session();
}

mediaproxy[6335]: lookup <a class="moz-txt-link-abbreviated" href="mailto:2fc1aa3946236d91@10.0.0.101">2fc1aa3946236d91@10.0.0.101</a> 202.168.41.218:8672:audio 
202.168.41.218 202.168.41.225 local 202.168.41.225 unknown Asterisk=20PBX=20 
<a class="moz-txt-link-abbreviated" href="mailto:info=from:5002@202.168.41.225,to:5004@202.168.41.225,fromtag:a42f4694cd2519b3,totag:as1948cde3">info=from:5002@202.168.41.225,to:5004@202.168.41.225,fromtag:a42f4694cd2519b3,totag:as1948cde3</a>

mediaproxy[6335]: request <a class="moz-txt-link-abbreviated" href="mailto:2fc1aa3946236d91@10.0.0.101">2fc1aa3946236d91@10.0.0.101</a> 203.220.88.70:5522:audio 
203.220.88.70 202.168.41.225 remote 202.168.41.218 remote Grandstream=20 
<a class="moz-txt-link-abbreviated" href="mailto:info=from:5002@202.168.41.225,to:5004@202.168.41.225,fromtag:a42f4694cd2519b3,totag:">info=from:5002@202.168.41.225,to:5004@202.168.41.225,fromtag:a42f4694cd2519b3,totag:</a>

Thanks
Shaun

On Tuesday 06 February 2007 17:37, Greger V. Teigre wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Well, nothing much I can do. "whole thing broke" and "no success" are 
not easy to debug remotely... ;-)
g-)

Shaun Hofer wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">I must be loosing the plot here, I tried t_relay() with no success.

-Shaun

On Monday 05 February 2007 20:00, you wrote:
  
      </pre>
      <blockquote type="cite">
        <pre wrap="">Sorry I didn't catch that before, but when you add a new branch after a 
failure, you must call t_relay()...
g-)

Shaun Hofer wrote:
    
        </pre>
        <blockquote type="cite">
          <pre wrap="">I'm not entirly sure why, but when i put it into a seperate route the 
          </pre>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->whole 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <pre wrap="">thing broke, I tried it with and without t_relay_to_udp and break. 
When I try the following, ser doesn't even send anything to Asterisk. 
          </pre>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->Any 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <pre wrap="">idea's what I'm doing wrong ?

route[7] {
        revert_uri();
        rewritehostport("202.168.41.218:5060");
        append_branch();
}

failure_route[1] {
        if (t_check_status("487")) {
                break;
        };
        if (isflagset(26) &amp;&amp; t_check_status("486")) {
                        avp_delete(<a class="moz-txt-link-rfc2396E" href="s:fwdbusy">"s:fwdbusy"</a>);
                        resetflag(26);
                        route(7);
        };
         if (isflagset(27) &amp;&amp; t_check_status("408")) {
                        avp_delete(<a class="moz-txt-link-rfc2396E" href="s:fwdnoanswer">"s:fwdnoanswer"</a>);
                        resetflag(27);
                        route(7);
        };
        end_media_session();
}

Thanks 
Shaun

On Thursday 01 February 2007 18:43, Greger V. Teigre wrote:
  
      
          </pre>
          <blockquote type="cite">
            <pre wrap="">you should remove t_relay_to_udp, as well as the break and make sure 
that on return to failure_route you don't run more commands.
g-)

Shaun Hofer wrote:
    
        
            </pre>
            <blockquote type="cite">
              <pre wrap="">I tried making route just to house the commands, I call for both:
route[7] {
        revert_uri();
        rewritehostport("202.168.41.218:5060");
        append_branch();
         t_relay_to_udp("202.168.41.218", "5060");
        break;
}

When I did this I found that it wouldn't work properly. I did play 
              </pre>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->around 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <pre wrap="">      
          
              </pre>
            </blockquote>
          </blockquote>
          <pre wrap="">with 
  
      
          </pre>
          <blockquote type="cite">
            <blockquote type="cite">
              <pre wrap="">putting something like use_mediaproxy and calling other routes but 
              </pre>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->seemed 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <pre wrap="">like they failed to be called correctly.  I'm thinking either I 
              </pre>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->mediaproxy 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <pre wrap="">all traffic before from the start or let rtp travel directly between 
              </pre>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->UA 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <pre wrap="">      
          
              </pre>
            </blockquote>
          </blockquote>
          <pre wrap="">and 
  
      
          </pre>
          <blockquote type="cite">
            <blockquote type="cite">
              <pre wrap="">Asterisk.

On Wednesday 31 January 2007 18:21, you wrote:
  
      
          
              </pre>
              <blockquote type="cite">
                <pre wrap="">You could create a route and then call the route from failure_route. 
However, I'm not sure if that will work as the INVITE was already 
                </pre>
              </blockquote>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->sent 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <blockquote type="cite">
                <pre wrap="">to the UA not responding. But try.
g-)

Shaun Hofer wrote:
    
        
            
                </pre>
                <blockquote type="cite">
                  <pre wrap="">Hi,

I wish to forward busy and no answer calls to Asterisk, and have the 
                  </pre>
                </blockquote>
              </blockquote>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->RTP 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <blockquote type="cite">
                <blockquote type="cite">
                  <pre wrap="">stream go through mediaproxy. At the moment, some calls use 
                  </pre>
                </blockquote>
              </blockquote>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->mediaproxy 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <blockquote type="cite">
                <blockquote type="cite">
                  <pre wrap="">          
              
                  </pre>
                </blockquote>
              </blockquote>
            </blockquote>
          </blockquote>
          <pre wrap="">and 
  
      
          </pre>
          <blockquote type="cite">
            <blockquote type="cite">
              <blockquote type="cite">
                <blockquote type="cite">
                  <pre wrap="">some don't. If the call is not using mediaproxy to get it too. I 
                  </pre>
                </blockquote>
              </blockquote>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->have 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <blockquote type="cite">
                <blockquote type="cite">
                  <pre wrap="">      
          
              
                  </pre>
                </blockquote>
              </blockquote>
              <pre wrap="">noticed 
  
      
          
              </pre>
              <blockquote type="cite">
                <blockquote type="cite">
                  <pre wrap="">that I can't call use_media_proxy() from failed route. I don't want 
                  </pre>
                </blockquote>
              </blockquote>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->to 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <blockquote type="cite">
                <blockquote type="cite">
                  <pre wrap="">          
              
                  </pre>
                </blockquote>
              </blockquote>
            </blockquote>
          </blockquote>
          <pre wrap="">use 
  
      
          </pre>
          <blockquote type="cite">
            <blockquote type="cite">
              <blockquote type="cite">
                <blockquote type="cite">
                  <pre wrap="">mediaproxy for every call between UA's, if not needed. Any 
                  </pre>
                </blockquote>
              </blockquote>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->suggestions 
  </pre>
  <blockquote type="cite">
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <blockquote type="cite">
            <blockquote type="cite">
              <blockquote type="cite">
                <blockquote type="cite">
                  <pre wrap="">          
              
                  </pre>
                </blockquote>
              </blockquote>
            </blockquote>
          </blockquote>
          <pre wrap="">on 
  
      
          </pre>
          <blockquote type="cite">
            <blockquote type="cite">
              <blockquote type="cite">
                <blockquote type="cite">
                  <pre wrap="">      
          
              
                  </pre>
                </blockquote>
              </blockquote>
              <pre wrap="">how 
  
      
          
              </pre>
              <blockquote type="cite">
                <blockquote type="cite">
                  <pre wrap="">I might be able to get calls to use mediaproxy if forwarded ?

current fail route:

failure_route[1] {
        if (t_check_status("487")) {
                break;
        };
        if (isflagset(26) &amp;&amp; t_check_status("486")) {
                avp_delete(<a class="moz-txt-link-rfc2396E" href="s:fwdbusy">"s:fwdbusy"</a>);
                resetflag(26);
                revert_uri();
                rewritehostport("202.168.41.218:5060");
                append_branch();
                t_relay_to_udp("202.168.41.218", "5060");
                break;
        };
        if (isflagset(27) &amp;&amp; t_check_status("408")) {
                avp_delete(<a class="moz-txt-link-rfc2396E" href="s:fwdnoanswer">"s:fwdnoanswer"</a>);
                resetflag(27);
                 revert_uri();
                rewritehostport("202.168.41.218:5060");
                append_branch();
                t_relay_to_udp("202.168.41.218", "5060");
                break;
        };
        end_media_session();
}
                  </pre>
                </blockquote>
              </blockquote>
            </blockquote>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->

  </pre>
</blockquote>
</body>
</html>