Table Of Contents
Message Sequence Charts
Shared Line Support
AddressInService/AddressOutofService Events
Incoming Call to Shared Address
Outgoing Call From Shared Address
Shared Address Calling Itself
Transfer and Direct Transfer
DirectTransfer/Arbitrary Transfer Scenario
Consult Transfer Scenario
Conference and Join
Join/Arbitrary Conference Scenario
Consult Conference Scenario
Barge and Privacy
Barge Feature
CBarge Feature
Privacy Changes
CallSelect and UnSelect
CallSelect and UnSelect Scenario
Dynamic CTIPort Registration Per Call
Dynamic Registrationn for CTIPort
Media Termination at Route Point
Media Termination at Route Point Scenario
Redirect Set OriginalCalledID
Scenario One
Scenario Two
Single Step Transfer
Modifying Calling Number
Scenario One
Scenario Two
AutoAccept for CTIPort and RoutePoint
Message Sequence Charts
This appendix contains the message sequence charts, which illustrates the message flows for the following:
•
Shared Line Support
–
AddressInService/AddressOutofService Events
–
Incoming Call to Shared Address
–
Outgoing Call From Shared Address
–
Shared Address Calling Itself
•
Transfer and Direct Transfer
–
DirectTransfer/Arbitrary Transfer Scenario
–
Consult Transfer Scenario
•
Conference and Join
–
Join/Arbitrary Conference Scenario
–
Consult Conference Scenario
•
Barge and Privacy
–
Barge Feature
–
CBarge Feature
–
Privacy Changes
•
CallSelect and UnSelect
•
Dynamic CTIPort Registration Per Call
•
Media Termination at Route Point
•
Redirect Set OriginalCalledID
•
Single Step Transfer
•
Modifying Calling Number
•
AutoAccept for CTIPort and RoutePoint
Shared Line Support
The following illustrates the message flows for Shared Line support.
AddressInService/AddressOutofService Events
Incoming Call to Shared Address
Outgoing Call From Shared Address
Shared Address Calling Itself
Transfer and Direct Transfer
The following illustrates the message flows for Transfer and Direct Transfer.
DirectTransfer/Arbitrary Transfer Scenario
Consult Transfer Scenario
Conference and Join
The following illustrates the message flows for Conference and Join.
Join/Arbitrary Conference Scenario
Consult Conference Scenario
The message flow for Consult Conference is the same as Arbitrary Conference.
Barge and Privacy
The following illustrates the message flows for Barge and Privacy.
Barge Feature
CBarge Feature
Privacy Changes
CallSelect and UnSelect
The following illustrates the message flows for CallSelect and UnSelect.
CallSelect and UnSelect Scenario
Dynamic CTIPort Registration Per Call
The following illustrates the message flows for Dynamic CTIPort Registration Per Call.
Dynamic Registrationn for CTIPort
Media Termination at Route Point
The following illustrates the message flows for Media Termination at Route Point.
Media Termination at Route Point Scenario
Redirect Set OriginalCalledID
The following illustrates the message flows for Redirect Set OriginalCalledID.
Scenario One
A, B, C are in applications controlled list.
D is not in control list.
A calls B
B redirects call to D with C as preferredOriginalCalledParty.
Application will see following events for parties A and B
Meta Event Cause
|
Call
|
Event
|
Fields
|
META_CALL_ADDING_PARTY
|
Call1
|
ConnCreatedEv for D ConnConnectedEv for D CallCtlConnEstablishedEv for D
|
CallingParty=A CalledParty = B LastRedirectedParty=C CurrentCalledParty=D
|
META_CALL_REMOVE_PARTY
|
Call1
|
ConnDisconnectedEv for B CallCtlConnDisconnectedEv for B TermConnDroppedEv for B CallCtlTermConnDroppedEv for B CallObservationEndedEv for B
|
CallingParty=A CalledParty = B LastRedirectedParty=C CurrentCalledParty=D
|
Note
The specified event group may not be in the same order and might change depending on where parties are present in the cluster, on the load, and other conditions.
Scenario Two
A, B, C are not in Control list and
D is in the application control list
A calls B
B redirects call to D with C as preferredOriginalCalledParty.
Application will see following events for party D
Meta Event Cause
|
Call
|
Event
|
Fields
|
META_CALL_STARTING
|
Call1
|
CallActiveEv ConnCreatedEv for D ConnInProgressEv for D CallCtlConnOfferedEv for D ConnCreatedEv for A CallCtlConnInitiatedEv for A
|
CallingParty=A CalledParty = D LastRedirectedParty=C CurrentCalledParty=D
|
META_CALL_PROGRESS
|
Call1
|
ConnAlertingEv for D CallCtlConnAlertingEv for D TermConnCreatedEv for D CallCtlTermConnRingingEv for D ConnConnectedEv for A CallCtlConnEstablishedEv for A
|
CallingParty=A CalledParty = D LastRedirectedParty=C CurrentCalledParty=D
|
META_CALL_PROGRESS
|
Call
|
ConnConnectedEv for D CallCtlConnEstablishedEv for D TermConnActiveEv for D CallCtlTermConnTalkingEv for D
|
CallingParty=A CalledParty = D LastRedirectedParty=C CurrentCalledParty=D
|
Single Step Transfer
Adresses A,B and C are in control list and the call between A and B is the transferred to C with B as transfer controller. Applications will see the following events:
Action
|
Address A (5001)
Terminal CTIP1
|
Address B (5002)
Terminal CTIP2
|
Address C (5003)
Terminal CTIP3
|
Call.transfer(string)
|
ConnCreatedEv 5003 Cause: CAUSE_NORMAL
ConnInProgressEv 5003 Cause: CAUSE_NORMAL
CallCtlConnOfferedEv 5003 Cause: CAUSE_NORMAL
CallControlCause: CAUSE_TRANSFER
ConnAlertingEv 5003 Cause: CAUSE_NORMAL
CallCtlConnAlertingEv 5003 Cause: CAUSE_NORMAL CallControlCause: CAUSE_TRANSFER
|
NEW META EVENT_________META_CALL_REMOVING_PARTY
TermConnDroppedEv CTIP2 Cause: CAUSE_NORMAL
CallCtlTermConnDroppedEv CTIP2 Cause: CAUSE_NORMAL CallControlCause: CAUSE_TRANSFER
ConnDisconnectedEv 5002 Cause: CAUSE_NORMAL
CallCtlConnDisconnectedEv 5002 Cause: CAUSE_NORMAL CallControlCause: CAUSE_TRANSFER
|
CallActiveEv Cause: CAUSE_NEW_CALL
ConnCreatedEv 5003 Cause: CAUSE_NORMAL
ConnInProgressEv 5003 Cause: CAUSE_NORMAL
CallCtlConnOfferedEv 5003 Cause: CAUSE_NORMAL CallControlCause: CAUSE_TRANSFER
ConnCreatedEv 5001Cause: CAUSE_NORMAL
ConnConnectedEv 5001 Cause: CAUSE_NORMAL
CallCtlConnEstablishedEv 5001Cause: CAUSE_NORMAL CallControlCause: CAUSE_NORMAL
|
Action
|
Address A (5001)
Terminal CTIP1
|
Address B (5002)
Terminal CTIP2
|
Address C (5003)
Terminal CTIP3
|
Call.transfer(string)
(continued)
|
CiscoRTPInputStartedEv Cause: CAUSE_NORMAL
CiscoRTPOutputStartedEv Cause: CAUSE_NORMAL
ConnConnectedEv 5003 CAUSE_NORMAL
CallCtlConnEstablishedEv 5003 Cause: CAUSE_NORMAL CallControlCause: CAUSE_NORMAL
|
NEW META EVENT_________META_UNKNOWN
CallObservationEndedEv Cause: CAUSE_NORMAL
|
ConnAlertingEv 5003 Cause: CAUSE_NORMALCallCtlConnAlertingEv 5003 Cause: CAUSE_NORMAL CallControlCause: CAUSE_NORMAL
TermConnCreatedEv CTIP3
TermConnRingingEv CTIP3Cause: CAUSE_NORMAL
CallCtlTermConnRingingEvImpl CTIP3 Cause: CAUSE_NORMAL CallControlCause: CAUSE_NORMAL
CiscoRTPInputStartedEv Cause: CAUSE_NORMAL
CiscoRTPOutputStartedEv Cause: CAUSE_NORMAL
ConnConnectedEv 2004 Cause: CAUSE_NORMAL
CallCtlConnEstablishedEv 5003Cause: CAUSE_NORMAL CallControlCause: CAUSE_NORMAL
|
Action
|
Address A (5001)
Terminal CTIP1
|
Address B (5002)
Terminal CTIP2
|
Address C (5003)
Terminal CTIP3
|
Call.transfer(string)
(continued)
|
|
|
TermConnActiveEv CTIP3 Cause: CAUSE_NORMAL
CallCtlTermConnTalkingEv CTIP3 Cause: CAUSE_NORMAL CallControlCause: CAUSE_NORMAL
CiscoRTPInputStoppedEv Cause: CAUSE_NORMAL
CiscoRTPOutputStoppedEv Cause: CAUSE_NORMAL
ConnDisconnectedEv 5001 Cause: CAUSE_NORMAL
CallCtlConnDisconnectedEv 5001 Cause: CAUSE_NORMAL CallControlCause: CAUSE_NORMAL
TermConnDroppedEv CTIP3 Cause: CAUSE_NORMAL
CallCtlTermConnDroppedEv CTIP3 Cause: CAUSE_NORMAL CallControlCause: CAUSE_NORMAL
|
Action
|
Address A (5001)
Terminal CTIP1
|
Address B (5002)
Terminal CTIP2
|
Address C (5003)
Terminal CTIP3
|
Call.transfer(string)
(continued)
|
|
|
ConnDisconnectedEv 5003 Cause: CAUSE_NORMAL
CallCtlConnDisconnectedEv 5003 Cause: CAUSE_NORMAL CallControlCause: CAUSE_NORMAL
META_UNKNOWN
CallInvalidEv [#32] Cause: CAUSE_NORMAL
|
Modifying Calling Number
The following illustrates the message flows for Modifying Calling Number.
Scenario One
Application controlled device Route Point (RP) and registers RP
A and B are PNO and within CallManager cluster
A calls RP
Call arrives at RP
Action
|
Event
|
Fields
|
Call Arrives at RP
|
RouteEvent
|
State = ROUTE getCurrentRouteAddress () = RP getCallingAddress () = A getCallingTerminal () = SEPA (Terminal associated with A)
|
Application invokes
selectRoute( routeselected[], callingsearchspace, modifiyingcallingnumber[] ) where routeSelected[] = C callingSearchSpace = CiscoRouteSession.DEFAULT_SEARCH_SPACE
|
RouteUsedEvent
|
State = ROUTE_USED getCallingAddress () = A getCallingTerminal () = SEPA (Terminal associated with A) getRouteUsed () = C
|
Application invokes
endRoute (ERROR_NONE)
|
RouteEndEvent
|
State = ROUTE_END getRouteAddress () = RP
|
Scenario Two
Application is controlling A, B
A calls RP, which selectsRoute call to B with modified calling number as M
Action
|
Event
|
Fields
|
A calls RP, which is not in controlled list
|
NEW META EVENT_________META_CALL_ STARTING CallActiveEv Cause: CAUSE_NEW_CALL ConnCreatedEv A Cause: CAUSE_NORMAL ConnConnectedEv A Cause: CAUSE_NORMAL CallCtlConnInitiatedEv Cause: CAUSE_NORMAL CallControlCause: CAUSE_NORMAL TermConnCreatedEv SEPA Cause: Other: 0 TermConnActiveEv SEPA Cause: CAUSE_NORMAL CallCtlTermConnTalkingEv SEPA Cause: CAUSE_NORMAL CallControlCause: CAUSE_NORMAL
NEW META EVENT_________META_CALL_ PROGRESS CallCtlConnDialingEv A
NEW META EVENT_________META_CALL_ PROGRESS CallCtlConnEstablishedEv A ConnCreatedEv RP ConnInProgressEv RP CallCtlConnOfferedEv RP
|
getCallingAddress() = A getCalledAddress() = getLastRedirectedAddress ()= getCurrentCallingAddress ()= A getCurrentCalledAddress()= getModifiedCallingAddress()=A getModifiedCalledAddress() =
getCallingAddress() = A getCalledAddress() = getLastRedirectedAddress ()= getCurrentCallingAddress ()= A getCurrentCalledAddress()= getModifiedCallingAddress()=A getModifiedCalledAddress() =
getCallingAddress() = A getCalledAddress() = B getLastRedirectedAddress ()= getCurrentCallingAddress ()= A getCurrentCalledAddress()= B getModifiedCallingAddress()=A getModifiedCalledAddress() =B
|
Another application that is controlling the RP selectRoute to B with modifying calling number as M
|
NEW META EVENT_________META_CALL_ ADDITIONAL_PARTY ConnCreatedEv B ConnInProgressEv B CallCtlConnOfferedEv B ConnDisconnectedEv RP CallCtlConnDisconnectedEv RP
NEW META EVENT_________META_CALL_ PROGRESS ConnAlertingEv B CallCtlConnAlertingEv B TermConnCreatedEv B
|
getCallingAddress() = A getCalledAddress() = B getLastRedirectedAddress ()= RP getCurrentCallingAddress ()= A getCurrentCalledAddress()= B getModifiedCallingAddress()=M getModifiedCalledAddress() =B
getCallingAddress() = A getCalledAddress() = B getLastRedirectedAddress ()= RP
|
| |
TermConnRingingEv B CallCtlTermConnRingingEv B
|
getCurrentCallingAddress ()= A getCurrentCalledAddress()= B getModifiedCallingAddress()=M getModifiedCalledAddress() =B
|
B answers the call
|
ConnConnectedEv B CallCtlConnEstablishedEv B TermConnActiveEv B CallCtlTermConnTalkingEv B
|
getCallingAddress() = A getCalledAddress() = B getLastRedirectedAddress ()= RP getCurrentCallingAddress ()= A getCurrentCalledAddress()= B getModifiedCallingAddress()=M getModifiedCalledAddress() =B
|
AutoAccept for CTIPort and RoutePoint