Administrator Guide: Remote Party Presence

Introduction

The Remote Party Presence is an extension of the standard presence information which enables a third party (e.g. Voxtron) to track a pool of phones via the SIP presence notification mechanism.

A typical usage is to monitor the activity of an agent of a call center by a third party application.

A subscription to the extension of an agent will enable tracking of the following information:
  • the phone's agent state:
    • a call is ringing on the phone (RINGING)
    • the phone is making an outgoing call (RING)
    • the call on the phone has been answered (UP). The call can then be on hold or not
Information about the remote party is also provided:
  • remote channel name
As well as information about the local party:
  • local channel name
  • The dialed number for an outgoing call
  • The caller ID for an incoming call

Known limitations

asterisk-1.2.x and Communication Server 3

The feature is only available on asterisk-1.2.x and Communication server 3.2 and higher.

Caller ID and Connected Line Update

The asterisk-1.2.x module does not support Connected Line Update. This means that after an attended transfer, the caller ID of the remote party is not know. The only caller ID available is the caller ID of the person who transferred the call.

Nevertheless, the remote channel name is updated. If the caller ID of the remote party is needed, it can be computed by keeping track of the properties of the remote channels.

Remote channel and outgoing calls

An outgoing call can be forked in a multiple calls. It is not possible to know the remote channel until the call is in conversation.

Tested phone

Tested phone brands: Aastra and Polycom

Installation instructions

The feature is implemented in the module asterisk-1.2x. The asterisk-1.2x module version must be 2.33.1 or higher. The feature must be activated in the module's parameters:
  • Enable enriched Remote Party Presence Information: yes

In order to be taken into account this new setting, asterisk must be restarted.

How-to

How to configure the agent?

The Agent must have a single extension. Only the call on the primary phone associated to this extension will be traced.

In order to have the remote party information available while the phone is ringing, insert a SetVar with the following parameters in the callflow calling the agent:
  • Variable: _MASTER_CHANNEL
  • Value: ${CHANNEL}

This will set a channel variable which will also be set on the ringing channel(s). This extra information will be used in order to compute and provide correct information in the SIP NOTIFY sent.

How to monitor an agent?

The agent can be monitored via the SIP presence mechanism used, for example, by the Generic Softphone (version 1.0.9 or higher).

Here is an example of SUBSCRIBE:

SUBSCRIBE sip:2004@172.16.35.137 SIP/2.0
Via: SIP/2.0/UDP 172.16.34.250:61610;branch=z9hG4bK-d8754z-a610dc280951f15c-1---d8754z-;rport
Max-Forwards: 70
Contact: <sip:SDX10017@172.16.34.250:61610;transport=udp>
To: "netconsole4"<sip:2004@172.16.35.137>
From: "SDX10017"<sip:SDX10017@172.16.35.137>;tag=8914e337
Call-ID: MWFjZjI0NjY3ZmNkZjRhOGE0NzAzYzI3MWYxYmNkOTk.
CSeq: 2 SUBSCRIBE
Subject:
Expires: 300
Accept: multipart/related, application/rlmi+xml, application/pidf+xml
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
User-Agent: eyeBeam release 1105z stamp 59030
Authorization: Digest username="SDX10017",realm="xxxxx",nonce="1a262b19",uri="sip:2004@172.16.35.137",response="a620ce9eb46b0105dc9e2ef4461ed958",algorithm=MD5
Event: presence
Content-Length: 0

If the subscription has been successfully handled by the SOP, the following messages are received:

SIP/2.0 200 OK
Via: SIP/2.0/UDP 172.16.34.250:61610;branch=z9hG4bK-d8754z-a610dc280951f15c-1---d8754z-;rport;received=172.16.34.250
From: "SDX10017"<sip:SDX10017@172.16.35.137>;tag=8914e337
To: "netconsole4"<sip:2004@172.16.35.137>;tag=as44589abc
Call-ID: MWFjZjI0NjY3ZmNkZjRhOGE0NzAzYzI3MWYxYmNkOTk.
CSeq: 2 SUBSCRIBE
User-Agent: ESCAUX-SIP
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Expires: 300
Contact: <sip:2004@172.16.35.137>;expires=300
Content-Length: 0
NOTIFY sip:SDX10017@172.16.35.137 SIP/2.0
Via: SIP/2.0/UDP 172.16.35.137:5060;branch=z9hG4bK1f509ce1;rport
From: "netconsole4"<sip:2004@172.16.35.137>;tag=as44589abc
To: "SDX10017"<sip:SDX10017@172.16.35.137>;tag=8914e337
Contact: <sip:2004@172.16.35.137>
Call-ID: MWFjZjI0NjY3ZmNkZjRhOGE0NzAzYzI3MWYxYmNkOTk.
CSeq: 102 NOTIFY
User-Agent: ESCAUX-SIP
Max-Forwards: 70
Event: presence
Content-Type: application/pidf+xml
Subscription-State: active
Content-Length: 488

<?xml version="1.0" encoding="ISO-8859-1"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:pp="urn:ietf:params:xml:ns:pidf:person"
xmlns:es="urn:ietf:params:xml:ns:pidf:rpid:status:rpid-status"
xmlns:ep="urn:ietf:params:xml:ns:pidf:rpid:rpid-person"
entity="sip:SDX10017@172.16.35.137">
<pp:person><status>
</status></pp:person>
<note>Ready - </note>
<tuple id="2004">
<contact priority="1">sip:2004@172.16.35.137</contact>
<status><basic>open</basic></status>
</tuple>
</presence>

All the SIP messages received are then to be handled according to the RFC3261. The content of the NOTIFY is described in the RFC3863. The extra information is published in the free field note. For more information please refer to the Product Acceptance document. If there are several agents, a subscription is to be done with the extension of each agent.
Copyright © Escaux SA