On 07/06/2010 02:43 AM, goutam kumar wrote:
> To remove any misconceptions: Yes, rfc3261 indeed does'nt have any
> notion of "ON_HOOK". The only reason for writing in capitals was to
> emphasize on the action the user was performing.
Capitalising it and embedding an underscore readily lends itself to
conflation with constant identifiers as a matter of convention, at
least from the point of view of many programmers (uh, SIP
implementors) here.
I would not readily characterise myself as a NIGHT_OWL who is
AT_COMPUTER doing LIST_REPLYING without the expectation that someone
will have visions of:
typedef enum {
NIGHT_OWL = (1 << 1),
LIST_REPLYING = (1 << 2),
AT_COMPUTER = (1 << 3)
} goings_on_flag_t;
:-)
> Besides, if I may rephrase, my doubt was that if you have already
> started receiving RTP from remote after sending a 200 OK, then you know
> that your call has been established. In such case, why do we need to
> terminate such a call if we have not reeceived an ACK?? Is it only to
> enforce the reliability of the 200 OK??
Yep. When an unreliable transport (UDP) is used[1], requests and
replies are transmitted in either a "reliable" or "unreliable" manner.
A "reliable" transmission is one in which some sort of end-to-end
acknowledgment mechanism is utilised within the application-level
protocol itself, absent a network or transport-layer facility to
provide it.
Semantically, the "reliable" aspect has less to do with end-to-end
acknowledgment per se and more with retransmissions, in case a packet
containing a message is lost due to packet loss, queuing drops, etc.
Thus, the more immediate purpose of the ACK in this context is to stop
retransmissions of the 200 response to the INVITE transaction, without
which they could continue until Timer H (64*T1) fires or an ACK is
received, as described in 17.2.1.
[1] There are some scenarios in which retransmission is mandatory
over reliable transports as well, but this is a valid
generalisation.
--
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors