Embed
Email

The key values UC provides are

Document Sample

Shared by: peng xuebo
Categories
Tags
Stats
views:
0
posted:
12/12/2011
language:
pages:
6
The key values UC provides are

- reduced communications latency for communications we want, realtime communication is

obviously the best

- delayed or blocked communications we don’t want (eg annoying sales person calling me)

- simple user interface(s).



To achieve these we must integrate the various modes of communication where it makes user

sense:

- Presence/IM (PC and smart-phone)

- E-mail

- Find Me/Follow me

- Telephony (mobile and wire-line)

- MeetMe conferencing

- Fax



In a business environment we partition those we communicate with into the following user types:

- others within the company/organization. We will call these internal friends

- those outside the company/organization but in our buddy/contacts list such as customers,

partners, suppliers. These we will call external friends

- those not in our buddy/contacts list such as people calling us for the first time, those we

infrequently communicate with via voice or e-mail etc. We will call these acquaintances

- those that are very important to us. Kids, kid’s school, most important customer, boss,

maybe even wife/husband! These can be internal or external. Will call these close friends.



And finally, our communication preferences/style will be influenced by our device:

- smart-phone – long distance, roaming and air time charges can definitely add up. More

and more users have smartphones (iPhone, BlackBerry, Google G1, Palm, Nokia). More

and more users are mobile. Cellular networks are getting faster, WiFi zones are

everywhere

- desktop – PC, SIP Phone and corporate network result in few constraints that influence

UC preferences and styles



The following are high runner scenarios we wish to address with Personal Assistant functionality

that provides a fast and easy UI

- Receive too many calls while I am idle, busy and/or on the phone, want to screen/filter

calls somehow. Want to decide to take a call based on IM or phone announcement mode

- Find Me/Follow Me is great but I need to dynamically easily and quickly change my call

routing. Eg going into a one hour customer meeting. Ie. Need to delay my

communications

- On the phone or talking to someone at my desk and receive a call from an internal or

external friend .. want to easily/quickly send an IM to caller indicating something like

“talking to Joe, call you back in 5 minutes”

- I am traveling and need to login to a conference call, or need to make some quick calls to

internal friends. Don’t want to incur cellular long distance charges.

- Have a smart phone and am in a country (eg UK) what uses CPP (Calling party pays).

Want to “initiate” calls from my smartphone where the PBX calls me, calls the called party

then bridges the calls together. This way I don’t use up airtime. Want this to be very

simple to do

- Want to easily change modes: ie. Use IM to do (pre) screen pop “can I call you to discuss

our sales results” and if the answer is “yes” then to an IM click to call

- On my smartphone , want to talk to Joe but see that he is on the phone. Want to be

informed via IM or call when Joe is available.

- In an important meeting, want to block all calls and after the meeting want to know who

(friends and acquaintances) tried to call and when. Want to do an IM click to call for those

I want to call back (if on mobile) don’t want to incur long distance charges)

- When an friend or acquaintance calls me I want to provide them with my presence and

status. Eg. “on the phone”, “away – at the dentist until 3pm”.

- Want to avoid voicemail tag. Eg. friend leaves a message that says “its John, call me

back when you can”.

- Want to start an adhoc conference more quickly and easily. Currently I need to send an

IM to the three people I want to talk to that says “join me on my MeetMe bridge right now:

393-1234, 4353”. Doing this on a mobile device is almost impossible.

- Want to receive faxes and have them deposited in my e-mail account

- When reading an email want to click to call. If on mobile don’t want to incur long distance

charges

- Want to provide preferential call routing for my close friends. Eg. if my kid’s school is

calling want to Call Server to fork call to my cell phone regardless of time of day. Want to

block (send to voicemail) for 1-800 numbers, pesky sales people (my spouse?).



The solution to the above is to have a human personal assistant per employee. I give my PA

instructions/status via natural conversation or IM. Since this is not cost effective want to provide a

software based Personal Assistant.



The Personal Assistant (PA) is a freeswitch java application that would emulate what a human

Personal assistant would do to enable and enhance unified communications and reduce

communications latency.



Here is the caller telephony UI .. Expressed as pseudo code



if, at any time, fax tone is detected or .. this PA is setup to only

receive fax (user’s virtual fax machine) then {

receive fax (via mod_fax Freeswitch module) and send e-mail with

TIFF file attached to user's e-mail address

}



play “I'm the personal assistant for . (use TTS to play name so all speech in

one voice)”



if John's presence is "Available or "Free to Chat" and no special user instructions then {

if user has call screening enabled and call is external {

if no recorded name found (system wide) corresponding to the calling number {

play "may I say who is calling"

record name (for up to 5 seconds)

save as .wav in system wide directory

}



play "one moment while I try to locate "



call user (and find me, follow me DNs) and play " is calling, to accept call, press 1,

to ignore, press 2" and/or

if user is not "away" or "extended away" then {

send IM to user: "John Doe (phone: xxx-yyy-zzzz) is calling. Do you want to take

this call?" (PA has an Openfire account with user name "My Assistant")

User sends back IM with answer of yes, y, no, n (case insensitive)

}



if user answers yes via telephone or IM then {

transfer call to John's phone

}



if user answers no {

play " is unavailable, I'll transfer you to his voicemail"

transfer to voicemail box

}

} else {

"I'll transfer you to "

transfer to John's phone

// since this is a higher runner case, perhaps don’t even answer the call and

// deflect the call to John instead

}



play John's presence indicator if not available or free to chat.

eg " is away", " is on the phone", cannot be disturbed"

play John's status message if set. eg "He is at the dentist until 3pm"

(SipX will need to know if the user is male or female)



If John’s presence is not available or free to chat {

if PA can map the CLID number to a IM address via OpenFire user database then {

play "to receive an instant message when is available, press 1"

}

play "to have return your call, press 2"

// PA would then send an IM and/or SMS (based on user preference)

// to John with the caller details and time.

// Modern version of : “would you like me to page john” ..

// no body carries pagers anymore

play “to transfer to voicemail, press 3”

}



play “to transfer to , press 4

play “to speak with assistant, press 0”

// transfers to user’s personal assistant DN/URI



The User UI is not via the telephone or web UI. Want it to be quicker and more natural as if

user was communicating with a human personal assistant in which case user would use speech

or IM. Since IM is easy and quick (for software development and the user) I’ll stick with that.



There will be a system wide OpenFire IM account called “My Assistant” (would use the Smack

Java package to login to this account, be online always, accept all subscriptions, and

Receive presence/status info for all SipX users



User uses favorite XMPP client to “converse” with My Assistant using a simple command

structure that Woof has proposed. The User may well be using an XMPP client on his/her

smartphone!



Here is an example “conversation” (text in bold sent by user)



 status

 Jane Smith (phone: XXX-YYYY called at 12:04, you received a fax

at 3:15, you have three new voice messages, one is urgent from

(CLID Name/Number).

You are at 613-234-2345 until 2pm.

Currently sending all calls to voice mail until 3pm. To change

reply with:

accept (to accept calls again)

announce (to have me IM you for a choice for each call)

voicemail (if you do not want to accept any calls)

 announce

 Ok. Now announcing all calls with IM

Is there a time when I should stop doing this. Reply with:

Yes or no

Etc ..

 at 613-234-5678

 Ok. Reply with:

until eg. until 3pm or until 9:30am

for eg. for 2 hours or for 2.5 hours

Need to be careful here about toll fraud issues since the number

specified might be in Africa!!!

 For two hours

System will only call you at the number specified instead of

calling you desktop set.

 Call 6-393-0170

 Personal assistant calls me (leveraging Find Me/Follow Me or my

current number specified via “at” command), calls 6-393-0170 and

joins the two calls together

 Call Jane Smith

 Same as above but uses name dialing, searching through PA’s

roster (all SipX users), if not found searches call history.

Perhaps a toll fraud issue is lurking here if the XMPP account is

hijacked by someone!

 Call Jane Smith, George Bush, Barack Obama (discuss sales data)

 User clearly wants an adhoc conference call to discuss the sales

data. PA calls you and transfers its end of the call to your

meeting conferencing DN. PA then calls each of the three parties

and announces “ would like you to join a conference to

, to accept, press 1, to decline press 2.” If

party accepts then near end of the call is transferred to the

users MeetMe Conference DN. Now each of the called parties may

have a personal assistant as well. In this case the IM screen pop

would convey the additional information (“discuss sales data”).



 You have a call from John Doe at 613-234-5543. Reply with:

Ok (or just answer the call)

IM text to send to John Doe (eg. talking with Sandy, call you in 5 minutes)



Or .. if this is for an adhoc conference:



 John Doe would like you to join a conference call to discuss

sales data. Reply with:

Ok (or just answer the call)

IM text to send to John Doe (eg. will join in a minute or so)



Instant Message to back to caller is text that user has entered.

IM option is provided only if a CLID Number to IM account lookup

is successful. Not all users/systems convey the user’s contact

phone numbers. Yahoo Messenger apparently does not.



If the call was for an adhoc conference call (see immediately

above) then the response IM will be conveyed to the conference

initiator. Eg. “I’ll join your adhoc conference in a minute”



The caller who declines the conference call will be sent an IM

with the conference DN to call. Eg. “if you wish to join later,

call XXX-YYYY-ZZZZ, 33423”

[this is an IM screen pop where the user can either just answer

the call or respond with a quick IM. This is quite different

from call screening since the caller is ringing at your set at

this point. Indeed if the call was already screened then the PA

would not send this IM.



IM reply option is provided for callers who are Sipx users since

PA cannot send an IM to someone that is not in its roster. As

well, may public IM systems do not convey user contact number

information via vCard or some other mechanism.



Command syntax/semantics

- help

- status

- at {until } - system will present user’s incoming

calls to this number instead of desktop set and find me/follow me

numbers

- accept {until } – don’t screen calls

- voicemail {until } – send all calls to voicemail

- announce {IM} {no | until } - screen calls. If “IM” included

then calls will be “announced” via IM otherwise announced by

calling the user.

- history - responds with last 30 calls originated or

received. If a number is provided than that number of calls is

presented to user

- find - searches directory for prefix matches (based on

last or first name) and presents those matches. Eg. entering find

fowl will find the “Peter Fowler” entry. Find Pete

will find perhaps two entries “Peter Fowler”, “Peter Smith”. If no

matches found find will use the same algorithm to search user’s

call history list

- call me | number | name {} – name will be searched

using the find command. If more than one match found all matches

will be displayed and user asked to add more letters to resolve the

ambiguity. Call will be made to the user’s desktop set or the

number specified using the “at” command. If the called party is a

sipX user and also uses a personal assistant then the IM screen pop

will include the call subject.

- call number | name, number | name, number | name .. {} – initiate an adhoc conference call with the specified

subject. Each name is resolved to a phone number via the find

command. Each party is called and presented with a voice prompt

announcing the conference, subject and option to accept or decline.

For each accept, call is transferred to initiators MeetMe

conference bridge. Initiator is also called and then transferred to

his/her MeetMe conference bridge.



While on a conference call or a MeetMe conference call, user can

add more participants by using the call command again. If a

conference reason is not specified then the previous reason will be

used.



A high runner case would involve turning a simple two party call

into a conference call .. hmmmm not sure how to do this since SipX

can’t control either end of the call unless the PA stays in the

call as a silent participant (three way call).

- block - blocks the number of any prefix match. Eg

block 1-800 will send all 1-800 calls to voicemail.





If My Assistant doesn’t understand an IM it responds “I don’t

understand” followed by a help IM.



If a caller has selected option to “have return my call”

My Assistant sends IM to regardless of his presence indicating

Who called, when and that he/she wishes to call them back.



User can enter short forms for commands as long as there is no ambiguity. Eg. “f” can be entered

instead of “find”



Flexible call routing



Users want preferential routing for close friends. To achieve this today, a user would give out

his/her cell phone number or cottage number or home number only to select people. Then these

people end up calling the office phone number, give up, then call the cell phone etc. The user

may not want to include his/her cell phone or home phone in his/her call forwarding rules.



The most flexible approach would have the user specify call forwarding rules based on IM groups.

Clearly this is too complex for an IM interface. Even for the user portal it is perhaps too much

trouble and complexity.



The higher case is you want to specific additional calling number targets for close friends in your

call routing rules.



So, within the user portal, the user defines a list of CLID numbers that represent close friends.

User can add to this list by optionally defining the IM group name(s) that represents his/her close

friends (default would be “Close Friends”). Sipx can determine who is in these groups since the

OpenFire data base stores the roster and group information on a per user basis.



In the Call Forwarding phone number setup page add an additional check box titled “Only if close

friend”. By default this is unchecked. If checked then for the rule to trigger it needs to match both

the time (when) criteria AND the close friend criteria (who). Implementation of this would require

some SipX proxy work to determine if the caller is a close friend based on the CloseFriends.xml

file stored on a per user basis.



Open question: should the Personal Assistant screen calls from close friends?



Future extensions



Google Calendar supports CalDav (RFC 4791) for querying and updating calendar information.

A caldav4j opensource java library exists that uses this protocol to provide a high level calendar

API that the Personal Assistant could use to see if the called user is in a meeting and if so

announce to the caller “In a meeting until 3pm”.



Related docs
Other docs by peng xuebo
ALEPH SUB-LIBRARY AND COLLECTION CODES
Views: 8  |  Downloads: 0
SMOKING CESSATION TREATMENT INTERVENTIONS
Views: 6  |  Downloads: 0
BRAIN DRAIN OR TAP THE STRENGTHS
Views: 4  |  Downloads: 0
MOTHER HEN MUSIC lnsfrucfional Videos DVDs
Views: 3  |  Downloads: 0
Microsoft Word - General Rules.doc
Views: 6  |  Downloads: 0
rec_m0009
Views: 2  |  Downloads: 0
Ch. 7
Views: 9  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!