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.
g-)

Shaun Hofer wrote:
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) && t_check_status("486")) {
                        avp_delete("s:fwdbusy");
                        resetflag(26);
                        route(7);
        };
        if (isflagset(27) && t_check_status("408")) {
                        avp_delete("s:fwdnoanswer");
                        resetflag(27);
                       route(7);
        };
        end_media_session();
}

mediaproxy[6335]: lookup 2fc1aa3946236d91@10.0.0.101 202.168.41.218:8672:audio 
202.168.41.218 202.168.41.225 local 202.168.41.225 unknown Asterisk=20PBX=20 
info=from:5002@202.168.41.225,to:5004@202.168.41.225,fromtag:a42f4694cd2519b3,totag:as1948cde3

mediaproxy[6335]: request 2fc1aa3946236d91@10.0.0.101 203.220.88.70:5522:audio 
203.220.88.70 202.168.41.225 remote 202.168.41.218 remote Grandstream=20 
info=from:5002@202.168.41.225,to:5004@202.168.41.225,fromtag:a42f4694cd2519b3,totag:

Thanks
Shaun

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

Shaun Hofer wrote:
    
I must be loosing the plot here, I tried t_relay() with no success.

-Shaun

On Monday 05 February 2007 20:00, you wrote:
  
      
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:
    
        
I'm not entirly sure why, but when i put it into a seperate route the 
          
whole 
  
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. 
          
Any 
  
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) && t_check_status("486")) {
                        avp_delete("s:fwdbusy");
                        resetflag(26);
                        route(7);
        };
 	if (isflagset(27) && t_check_status("408")) {
                        avp_delete("s:fwdnoanswer");
                        resetflag(27);
                        route(7);
        };
        end_media_session();
}

Thanks 
Shaun

On Thursday 01 February 2007 18:43, Greger V. Teigre wrote:
  
      
          
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:
    
        
            
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 
              
around 
  
      
          
              
with 
  
      
          
putting something like use_mediaproxy and calling other routes but 
              
seemed 
  
like they failed to be called correctly.  I'm thinking either I 
              
mediaproxy 
  
all traffic before from the start or let rtp travel directly between 
              
UA 
  
      
          
              
and 
  
      
          
Asterisk.

On Wednesday 31 January 2007 18:21, you wrote:
  
      
          
              
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 
                
sent 
  
to the UA not responding. But try.
g-)

Shaun Hofer wrote:
    
        
            
                
Hi,

I wish to forward busy and no answer calls to Asterisk, and have the 
                  
RTP 
  
stream go through mediaproxy. At the moment, some calls use 
                  
mediaproxy 
  
          
              
                  
and 
  
      
          
some don't. If the call is not using mediaproxy to get it too. I 
                  
have 
  
      
          
              
                  
noticed 
  
      
          
              
that I can't call use_media_proxy() from failed route. I don't want 
                  
to 
  
          
              
                  
use 
  
      
          
mediaproxy for every call between UA's, if not needed. Any 
                  
suggestions 
  
          
              
                  
on 
  
      
          
      
          
              
                  
how 
  
      
          
              
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) && t_check_status("486")) {
                avp_delete("s:fwdbusy");
                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) && t_check_status("408")) {
                avp_delete("s:fwdnoanswer");
                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();
}