Update the DESIGN document for this code
This commit is contained in:
parent
f997ab4fbc
commit
47034082bb
21
DESIGN
21
DESIGN
|
@ -6,7 +6,7 @@ Some simple notes on SIP
|
|||
|
||||
- SIPDialog holds state of a dialogue
|
||||
- to/from/to tag/from tag...
|
||||
- call id... maybe SDP...
|
||||
- call id...
|
||||
|
||||
- SIPTransport is base class for the transport
|
||||
- SIPUdpTransport sends and listens on UDP
|
||||
|
@ -15,17 +15,28 @@ Some simple notes on SIP
|
|||
- Holds a SIPTransport
|
||||
- Generates various ids and fills requests
|
||||
- Will dispatch response to the transaction
|
||||
- Will dispatch SIPRequests to a dialog.
|
||||
|
||||
- SIPTransactionBase is the base for transactions
|
||||
- SIPInviteTransaction is to create a call
|
||||
- Transactions work on a Dialog (e.g. for INVITE on a non
|
||||
confirmed dialog), the callbacks will pass the dialog of
|
||||
of the response, e.g. for INVITE a confirmed dialog with
|
||||
a to tag.
|
||||
- SIPInviteTransaction is to create a session
|
||||
- SIPByeTransaction is to release a session/dialog
|
||||
|
||||
- SIPCall handles high level call handling
|
||||
- Cancel/Hangup in form of terminate
|
||||
- Refusing to deal with multiple dialogs
|
||||
|
||||
|
||||
Timeouts/Retransmission:
|
||||
- good question, next question.. not solved yet
|
||||
- This is handled by the SIPTransaction base using
|
||||
the generic timer framework.
|
||||
|
||||
|
||||
|
||||
Limitations:
|
||||
- Multiple Via's are not supported
|
||||
- No retranmission, no response parsing..
|
||||
- Multiple Via's are not supported, no routing information
|
||||
is gathered, e.g. one can not have multiple transports
|
||||
|
||||
|
|
Reference in New Issue