[Serusers] 487 hop to hop????

Klaus Darilion klaus.mailinglists at pernau.at
Thu Aug 25 20:21:12 CEST 2005



Juha Heinanen wrote:

> Greg Fausak writes:
> 
>  > It seems to me that the ser proxy is responding to the cancel with
>  > a 487.  If I had to make it come from the far end can that be  
>  > accomplished with ser?
> 
> ser is not responding to cancel with 487.  response to cancel is 200
> canceling.  487 is sent by uas when it receives a cancel to an invite to
> which it has not yet sent a final response.
> 
> now the question is what is the proper thing for statefull ser to do,
> when uac cancels an invite which is forked by ser to multiple
> destinations and some of the branches have already responded with final
> non 2xx reply.

The behavior is defined in 3261 section 16.7, item 6 (page 110). It also 
states clearly: "3-6xx responses are delivered hop-by-hop."

regards
klaus


> currently in failure route ser.cfg sees the lowest numbered reply
> whereas ser itself responds to uac with 200 canceling and then with 487.
> in my opinion this makes no sense, because it makes failure route think
> that a uas was, for example, busy and acts accordingly.  a better
> behavior would be if also failure route would see 487 as the final
> reply.
> 
> i'm currently experimenting with the following change to t_reply.c
> t_pick_branch to solve this problem:
> 
> 	for ( b=t->first_branch; b<t->nr_of_outgoings ; b++ ) {
> 		/* "fake" for the currently processed branch */
> 		if (b==inc_branch) {
> 		    if (inc_code == 487) {
> 			lowest_b=b;
> 			lowest_s=inc_code;
> 			break;
> 		    }	
> 		    if (inc_code<lowest_s) {
> 			lowest_b=b;
> 			lowest_s=inc_code;
> 		    }
> 		    continue;
> 		}
> 		...
> 
> -- juha
> 
> 




More information about the sr-users mailing list