hi 
i m using kamailio 5.3 as register server and using dispatcher i m dendign the calls to freeswitch ..

but the issue is then freeswitch send back call to kamailio after processing media ... it should go back to client but it again send call to freeswitch ,, which create the loop and hangup the call with (Temporarily Unavailable (code: 480))

what i want 
client1------>Kamailio------>FS-----Kamailio----->Client2

but I am getting this 
client1------>Kamailio------>FS-----Kamailio----->FS----->kamailio----->FS

Routing Logic
-------------------------------
if(!ds_is_from_list()) {                                                                                                    
   route(DISPATCH);                                                                                                               }                           
--------
# Dispatch requests                                                                                                                                                                                                              
route[DISPATCH] {                                                                                                                                                                                                                
        # round robin dispatching on gateways group '1'                                                                                                                                                                          
        if(!ds_select_dst("1", "4")) {                                                                                                                                                                                          
                send_reply("404", "No destination");                                                                                                                                                                            
                exit;                                                                                                                                                                                                            
        }                                                                                                                                                                                                                        
        xdbg("--- SCRIPT: going to <$ru> via <$du> (attrs: $xavp(_dsdst_=>attrs))\n");                                                                                                                                          
        t_on_failure("RTF_DISPATCH");                                                                                                                                                                                            
        route(RELAY);                                                                                                                                                                                                            
        exit;                                                                                                                                                                                                                    
}                                                                                                                                                                                                                                
                                                                                                                                                                                                                                 
# Try next destionations in failure route                                                                                                                                                                                        
failure_route[RTF_DISPATCH] {                                                                                                                                                                                                    
        xnotice("RTF_DISPATCH: $rm $rU [$ci]");                                                                                                                                                                                  
        if (t_is_canceled()) {                                                                                                                                                                                                  
                exit;                                                                                                                                                                                                            
        }                                                                                                                                                                                                                        
        # next DST - only for 500 or local timeout                                                                                                                                                                              
        if (t_check_status("(^5)")                                                                                                                                                                                              
                        or (t_branch_timeout() and !t_branch_replied())) {                                                                                                                                                      
                xnotice("RTF_DISPATCH: WARNING $du is broken and marked as inactive");                                                                                                                                          
                 # ds_mark_dst("ip");                                                                                                                                                                                            
                if(ds_next_dst()) {                                                                                                                                                                                              
                        #xdbg("--- SCRIPT: retrying to <$ru> via <$du> (attrs: $xavp(_dsdst_=>attrs))\n");                                                                                                                      
                        t_on_failure("RTF_DISPATCH");                                                                                                                                                                            
                        route(RELAY);                                                                                                                                                                                            
                        exit;                                                                                                                                                                                                    
                }                                                                                                                                                                                                                
        }                                                                                                                                                                                                                        
}                                                        


--
thank you 







Regards:
Gaurav Kumar