Skip to main content

Authenticating And Monitoring

This scenario covers authenticating, setting up monitoring and requesting the current state of the trunk, a user and a queue.

User with device 200 on trunk 12345678, calls an external device on number 22334455.

Authenticating

User 'user@domain.dk' authenticates on trunk domain '12345678.pbx.one-connect.dk' using a StartApplicationSession request:

StartApplicationSession
<?xml version="1.0" encoding="utf-16"?>
<StartApplicationSession>
<applicationInfo>
<applicationSpecificInfo>
<vendorData:userID>user@domain.dk</vendorData:userID>
<vendorData:password>*******<vendorData:password>
<vendorData:pbxDomain>12345678.pbx.one-connect.dk</vendorData:pbxDomain>
</applicationSpecificInfo>
</applicationInfo>
<requestedSessionDuration>120</requestedSessionDuration>
</StartApplicationSession>

A StartApplicationSessionPosResponse indicates that the login and authentication was successful.

StartApplicationSessionPosResponse
<StartApplicationSessionPosResponse xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<sessionID>b8950dce-3f63-48df-a109-835e16062ab7</sessionID>
<actualProtocolVersion>http://www.ecma.ch/standards/ecma-323/csta/ed6</actualProtocolVersion>
<actualSessionDuration>120</actualSessionDuration>
</StartApplicationSessionPosResponse>

Monitoring

Requests to monitor all users and queues on a given trunk.

MonitorTrunk
<MonitorTrunk>
<monitorObject>
<deviceObject>1</deviceObject>
</monitorObject>
<privateData>
<requestID>100-null</requestID>
</privateData>
</MonitorTrunk>

A MonitorStartResponse indicates how many users and queues monitoring has been started for.

MonitorStartResponse for trunk
<MonitorStartResponse xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<monitorCrossRefID>12345678</monitorCrossRefID>
<privateData>
<monitoredConnection>
<deviceID>12345678</deviceID>
</monitoredConnection>
<requestID>100-null</requestID>
<monitorCount>2</monitorCount>
</privateData>
</MonitorStartResponse>
MonitorStartedEvent for a user
<MonitorStartedEvent xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<monitorCrossRefID>t-12345678</monitorCrossRefID>
<privateData>
<eventOrderIncrement>0</eventOrderIncrement>
<connectionId>d89d804d-01e7-465b-a6c9-cff238cd3cf8</connectionId>
</privateData>
<monitoredConnection>
<deviceID>200</deviceID>
<monitorCrossRefID>u-12345678-200</monitorCrossRefID>
</monitoredConnection>
<deviceRelationList />
<numberType>sip</numberType>
</MonitorStartedEvent>
MonitorStartedEvent for a queue
<MonitorStartedEvent xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<monitorCrossRefID>t-12345678</monitorCrossRefID>
<privateData>
<eventOrderIncrement>0</eventOrderIncrement>
<connectionId>d89d804d-01e7-465b-a6c9-cff238cd3cf8</connectionId>
</privateData>
<monitoredConnection>
<deviceID>400</deviceID>
<monitorCrossRefID>q-12345678-400</monitorCrossRefID>
</monitoredConnection>
<deviceRelationList />
<numberType>queue</numberType>
</MonitorStartedEvent>

Trunk - Requesting state

SnapShotDevice on trunk
<SnapShotDevice>
<snapshotObject>t-12345678</snapshotObject>
<privateData>
<requestID>101-null</requestID>
</privateData>
</SnapShotDevice>
SnapShotDeviceResponse
<SnapShotDeviceResponse xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<serviceCrossRefID>u-12345678-t-12345678</serviceCrossRefID>
<snapshotData>
<snapshotDeviceResponseInfo />
</snapshotData>
<privateData>
<requestID>101-null</requestID>
</privateData>
</SnapShotDeviceResponse>
OutgoingNumbersEvent
<OutgoingNumbersEvent>
<monitorCrossRefID>t-12345678</monitorCrossRefID>
<privateData>
<eventOrderIncrement>0</eventOrderIncrement>
<connectionId>d89d804d-01e7-465b-a6c9-cff238cd3cf8</connectionId>
</privateData>
<outgoingNumbers>
<outgoingNumber>
<number>12345678</number>
</outgoingNumber>
</outgoingNumbers>
</OutgoingNumbersEvent>

Users - Requesting states

SnapShotDevice on user
<SnapShotDevice>
<snapshotObject>u-12345678-200</snapshotObject>
<privateData>
<requestID>102-null</requestID>
</privateData>
</SnapShotDevice>
SnapShotDeviceResponse
<SnapShotDeviceResponse xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<serviceCrossRefID>u-12345678-200</serviceCrossRefID>
<snapshotData>
<snapshotDeviceResponseInfo />
</snapshotData>
<privateData>
<requestID>102-null</requestID>
</privateData>
</SnapShotDeviceResponse>

Forwarding

Request the current forwarding rules of a given user.

GetForwarding
<GetForwarding>
<device>200</device>
<privateData>
<requestID>103-null</requestID>
</privateData>
</GetForwarding>
GetForwardingResponse
<GetForwardingResponse xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<forwardingList>
<forwardListItem>
<forwardingType>forwardNoAns</forwardingType>
<forwardStatus>false</forwardStatus>
<forwardDN>busy</forwardDN>
<ringDuration>90</ringDuration>
</forwardListItem>
</forwardingList>
<privateData>
<requestID>103-null</requestID>
</privateData>
</GetForwardingResponse>

Do-Not-Disturb

Request the current DND state of a given user.

GetDoNotDisturb
<GetDoNotDisturb>
<device>200</device>
<privateData>
<requestID>104-null</requestID>
</privateData>
</GetDoNotDisturb>
GetDoNotDisturbResponse
<GetDoNotDisturbResponse xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<doNotDisturbOn>false</doNotDisturbOn>
<privateData>
<requestID>104-null</requestID>
</privateData>
</GetDoNotDisturbResponse>

CallProfile

Request the current call profile state of a given user.

GetCallProfile
<GetCallProfile>
<device>200</device>
<privateData>
<requestID>105-null</requestID>
</privateData>
</GetCallProfile>
GetCallProfileResponse
<GetCallProfileResponse xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<callProfile>
<outgoingNumberPresentation>
<localNumberPresentation>
<numberType>None</numberType>
<number />
</localNumberPresentation>
<mobileNumberPresentation>
<numberType>None</numberType>
<number />
</mobileNumberPresentation>
<teamsNumberPresentation>
<numberType>None</numberType>
<number />
</teamsNumberPresentation>
</outgoingNumberPresentation>
<incomingCallMatrix>
<localDevice>
<local>true</local>
<mobile>true</mobile>
<teams>false</teams>
</localDevice>
<mobileDevice>
<local>false</local>
<mobile>true</mobile>
<teams>false</teams>
</mobileDevice>
<teamsDevice>
<local>false</local>
<mobile>false</mobile>
<teams>true</teams>
</teamsDevice>
</incomingCallMatrix>
<routeHandling>None</routeHandling>
</callProfile>
<privateData>
<requestID>105-null</requestID>
</privateData>
</GetCallProfileResponse>

Queues - Requesting states

SnapShotDevice
<SnapShotDevice>
<snapshotObject>q-12345678-400</snapshotObject>
<privateData>
<requestID>106-null</requestID>
</privateData>
</SnapShotDevice>
SnapShotDeviceResponse
<SnapShotDeviceResponse xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<serviceCrossRefID>q-12345678-400</serviceCrossRefID>
<snapshotData>
<snapshotDeviceResponseInfo />
</snapshotData>
<privateData>
<requestID>106-null</requestID>
<QueueName>q-12345678-400</QueueName>
<QueueMembers />
</privateData>
</SnapShotDeviceResponse>

Queue Data

Get queue information like the queue name and the current SLA.

GetQueue
<GetQueue>
<device>400</device>
<privateData>
<requestID>107-null</requestID>
</privateData>
</GetQueue>
GetQueueResponse
<GetQueueResponse xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<queueDevice>
<deviceDescription>Customer Support</deviceDescription>
<deviceIdentifier>400</deviceIdentifier>
</queueDevice>
<privateData>
<requestID>107-null</requestID>
<serviceLevelAgreement>0</serviceLevelAgreement>
</privateData>
</GetQueueResponse>

Queue Members

Get queue members/agents and their membership state on a given queue.

GetQueueMember
<GetQueueMember>
<device>400</device>
<privateData>
<requestID>108-null</requestID>
</privateData>
</GetQueueMember>
GetQueueMemberResponse
<GetQueueMemberResponse xmlns="http://www.ecma.ch/standards/ecma-323/csta/ed6">
<memberList>
<memberListItem>
<active>true</active>
<activeSip>true</activeSip>
<activeMobile>false</activeMobile>
<activeSkype>false</activeSkype>
<agentDN>200</agentDN>
</memberListItem>
</memberList>
<privateData>
<requestID>108-null</requestID>
</privateData>
</GetQueueMemberResponse>