This method implies that the application is functioning as UAC hence the underlying SipProvider acts statefully. This method is useful for sending Bye's to terminate a dialog or Re-Invites/Refers on the Dialog for third party call control, call hold etc.
This method will set the From and the To tags for the outgoing request. This method increments the dialog sequence number and sets the correct sequence number to the outgoing Request and associates the client transaction with this dialog. Note that any tags assigned by the user will be over-written by this method. If the caller sets no RouteHeader in the Request to be sent out, the implementation of this method will add the RouteHeader from the routes that are mantained in the dialog. If the caller sets the RouteHeader's, the implementation will leave the route headers unaltered. This allows the application to manage its own route set if so desired.
The User Agent traditionally must not send a BYE on a confirmed INVITE until it has received an ACK for its 2xx response or until the server transaction timeout is received.
A Dialog may be created by an INVITE request and subsequently SUBSCRIBE/NOTIFY are sent withing that Dialog. In this case the application may call {@link Dialog#terminateOnBye } to prevent the Dialogfrom Terminating upon reciept of a BYE. @param clientTransaction -the new ClientTransaction object identifying this transaction, this clientTransaction should be requested from {@link SipProvider#getNewClientTransaction(Request)} @throws TransactionDoesNotExistException if the clientTransaction does not correspond to any existing client transaction. @throws SipException if implementation cannot send the Request for any reason.
|
|