[Serusers] RE: [Sems] How to absorb ACKs in UAS mode?

Franz Edler franz.edler at ycn.com
Wed May 11 06:20:27 CEST 2005


From: Stefan Sayer Sent: Tuesday, May 10, 2005 4:02 PM

> in my opinion t_newtran() will release the transmission on processing of
> an ACK so the 200 is not retransmitted; have a look at t_newtran (in
> t_lookup.c about line 1094).

Unfortunately I cannot verify this behaviour. See my code snippet of ser.cfg
below.

Without explicitly using t_relay() for ACK the 200 OKs are retransmitted by
SER. Calling t_newtran() is obviously not enough to stop retransmissions.

Any further opinions around?

Regards
Franz

--- code snippet of ser.cfg follows --------------------------------------

if (method=="INVITE" || method=="BYE" || method=="CANCEL" || method=="ACK") 
{
# switch to stateful mode:
	if (!t_newtran())
	{
		sl_send_reply("500","could not create transaction\n");
		break;
	};
				
	if (method=="INVITE" && uri=~"sip:910@")
	{
		t_reply("100","Trying - just wait a minute !");
		if(!t_write_req("/tmp/am_fifo","announcement"))
		{
			t_reply("500","error contacting sems");
		};
		break;
	};

	if (method=="BYE" || method=="CANCEL")
	{
		if(!t_write_req("/tmp/am_fifo","bye"))
		{
			t_reply("500","error contacting sems");
		};
		break;
	};

	if (method=="ACK")
	{
		t_relay();
	};
};




More information about the sr-users mailing list