Personal Assistant is a new sipXecs application that leverages sipXivr and Openfire integration. Its goal is to give sipXecs users additional control over their communications. It is especially useful for those who are mobile and use a smartphone with an XMPP client.
This describes the features for future release of personal assistant.
For existing content click here
Phase 2 will introduce a PA telephony interface such that an call presented to a user's URI will be immediately answered by a PA IVR application that will
- Provide presence information to the caller such as
- "John is on the phone"
- "John is in a conference call"
- "John and busy and cannot be disturbed
- "John is away"
- "John is in a meeting until 3pm" (OK, maybe this will be a phase 3)
- If the caller's XMPP Id can be determined (primary and/or alternate) then provide the option "To receive an IM when John is available, press 1". The system would then send the IM "John Doe (number) is now available" when John's presence is available and John is not on the phone, not on a conference call (and not in a meeting or at an appointment).
- Provide the option "To have John return you call, press 2". If this option is selected then John is sent an IM (immediately) along the lines of "Name (number) called and would like you to call back.". This IM is sent regardless of what the caller subsequently elects to do. The "call me back" IM is sent regardless of John's presence.
- Provide an option for the caller to transfer to John. If chosen the call is transferred using the same algorithm described in the call/at commands. The call will NOT be answered by the PA since it is the PA that initiated the transfer. If John does not answer then the call will go to voicemail.
- Provide an option for the caller to transfer directly to John's voice mailbox.
- Provide an option for the caller to transfer to a human attendant
Additional Asynchronous IMs
Since the PA is "front ending" the calls it can (and will) send IMs to user when the call is connected to the PA (and NOT yet ringing at the user's phone set). The IM would be along the lines of "Name (number) is calling .. respond with an optional busy reason". This Instant Message notification would only be presented if the XMPP id of the calling party can be determined and the caller's presence is not offline or away or extended away.
The user does not need to provide any response. If the user does provide a response then this response will be sent as an IM to the caller.
The user scenario is as follows:
- User's presence is "available" but Mark has come to the user's desk to ask a question
- A caller (likely an internal caller since otherwise we won't know the caller's XMPP id) calls and is immediately connected to the PA.
- While the caller is listening to the options, the user received an "incoming call" IM and responds with "talking to Mary, call you back in five"
- Caller receives the response IM and abandons the call
- Mark leaves and user calls the caller back
It is likely the caller will chose the option to transfer to the user before receiving the response IM. That is ok .. users phone will ring a couple of times, caller receives the response IM and then abandons the call.
Not every use will want the PA to front end all calls. There will be an option in the user portal to enable this behavior (by default is disabled).
Call Announce (aka Call Screening)
Phase 2 will also include the classic Call Announce functionality. If the PA is front ending all calls then (based on user config), if the user chooses the option to transfer to the user, the caller is prompted to record his/her name. User is then played the prompt "One moment while I locate your party", the PA then calls the user (using the algorithm described in the call/at command), if the user answers within a timeout (to be defined) the user is presented with "<caller's spoken name> is calling, to accept the call press 1, to reject the call, press 2 or hang up". If user presses 2 or hangs up, caller is transferred to voicemail, otherwise the caller is connected to the user.
The user would enable Call Screening via the user portal. As a result, in the user portal there would be three choices in total (wording to be determined):
- PA doesn't front end calls
- PA front ends calls but does not Announce/screen calls
- PA front ends call and announces/screens calls
Personal Attendant does not front end calls: when call forwards to voicemail after n rings the personal attendant answers if it has been configured/defined. It provides various call transfer options (transfer to my (human) assistant, transfer to the sales queue, transfer to my boss).
Phase 2 would provide a user portal option to have personal attendant options included in the Personal Assistant options. Eg. "for more call options, press 5". When this option is selected the options defined in the Personal Attendant are announced. If the user elected to transfer to the user and the call forwarded to voicemail then the Personal Attendant options would be announced (potentially for the second time).
Personal Assistant assumes that Instant Messaging role is enabled in sipXconfig (Openfire service is configured and active).
There are some user portal and admin portal additions to sipXconfig:
- Users have ability to turn Personal Assistant on/off. When it is turned on all calls to that user will be directed to the Personal Assistant. When off calls will follow normal call flows.