[reSIProcate] Changes to DUM
- From: "Derek MacDonald" <derek@xxxxxxxx>
- Date: Fri, 13 Aug 2004 10:30:21 -0700
I've re-worked a fair bit of InviteSession; here are snippets from earlier
e-mails describing what I did.
Users can start a new Invite transaction even if they are waiting for the
ACK of another invite transaction as a UAS. Ie -- I can put you on hold
even though I'm still retransmitting the 200.
--done
There will be a new callback to indicate that no ACK was received for a
particular transaction, rather than the dubious overloaded 408.
-- new callback: onAckNotReceived. There is a default implementation for
this which terminates the usage by sending a BYE.
ackConnection will go away. Call setAnswer & send() instead. If the SDP
state machine does not require an answer, the ACK will be sent immediately
when the 200 is received. ACK adornment must be accomplished through
onReadyToSend.
send with no parameters is the new enqueue...this will eventually be
extended to support PRACK/180rel/etc.
-- done
Late Media:
OnConnected is not called until the ACK is received. This and the ACK
change completely hide late media from the user unless they send an invite
without an offer.
onIllegalNegotiation will be called when there isn't an answer when one is
required by 3261. The default implementation ends the usage by sending a
BYE.
INFO
Info has been added to InviteSession. No queueing, will throw if you try to
overlap INFO transactions.
Also, I added out-of-dialog MESSAGE a while ago. See ClientPagerMessage and
ServerPagerMessage.
ClientPagerMessage is an outgoing pipe that remembers it's target.
ServerPagerMessage handles all incoming ood MESSAGE requests.
--Derek