Telephony integration - URL use case

If you think that something doesn't work in Aware IM post your message here
Post Reply
pixerp
Posts: 180
Joined: Sun Jan 28, 2007 7:12 pm

Telephony integration - URL use case

Post by pixerp »

SNOM ip telephone offers an easy way to interface with using :

http://PhoneIPAddress/command.htm?DIAL=PhoneNumber

for instance, will dial the given number. Other commands are available.

I define a Process - Action with rule "DISPLAY URL 'http://....as above' and use it in Operations from Contact main form. When I click on the "Link", the phonecall is placed on my snom. But, of course, the display url command blanks out the UI panels !

How should I issue the URL command ?
aware_support
Posts: 7525
Joined: Sun Apr 24, 2005 12:36 am
Contact:

Post by aware_support »

At the moment the only other option is to use special menu command of the "URL" type - you define this command when defining a menu in the visual perspective. When you select the URL type for the command there are options whether to display the URL in a new window, the same window or inside the main area of Aware IM screen.
Aware IM Support Team
pixerp
Posts: 180
Joined: Sun Jan 28, 2007 7:12 pm

Post by pixerp »

Calling URL thru the Menu is not pratical if I want to stay in the context of the application. Here is the use case (Library sample app) :

Menu - Place a Phone call

. display Pick Member
select Member to call
. prepare and send URL (no display)
. CreateMember PhonecallNote

As far as I can see, we would need a new action NODISPLAY URL ...?

Thanks

PS. Next question could be how do I integrate Incoming Phonecalls using Asterisk ... But it's clearly another question !
aware_support
Posts: 7525
Joined: Sun Apr 24, 2005 12:36 am
Contact:

Post by aware_support »

So you actually want to CALL the URL rather than display a page?

In this case what you are actually doing is calling a service provided at some URL. This means that you have to define an intelligent business object representing the telephony service provider, define a URL channel for this provider and define a service available through this channel. Please see how it is done in the Library sample application for credit card payments using PayPal. PayPal is defined as an intelligent business object with URLChannel and some services.
Aware IM Support Team
pixerp
Posts: 180
Joined: Sun Jan 28, 2007 7:12 pm

Post by pixerp »

I've looked at the PayPal example but I don't see how I can build a dynamic URL as described in my 1st post above :

assume the staffmember login has a field to enter the phone#

in a BO, the phone# refers to the IPAddress of the Snom phoneset (running its webserver)

Now, in a form, I should be able to a select phonenumber (hyperlink ?) and that sould "generate" the following URL

http://IPAddress/command.htm?DIAL=phonenumber

What do I miss ?[/u]
aware_support
Posts: 7525
Joined: Sun Apr 24, 2005 12:36 am
Contact:

Post by aware_support »

URL parameters are automatically and dynamically added to the URL of the service provider from the attributes of a business object that is defined as a parameter of the service. For example, if you define a URL channel with the URL of the provider http://provider and then you define a business object ServiceParams with attributes A1 and A2 being a parameter of a particular service of the provider, Aware IM will automatically form the following URL:

http://provider?A1=valueOfA1&A2=valueOfA2

In your case you have to define the URL of the provider in the settings of the URL Channel as
http://IPAddress/command.htm

Then you need to define a service of the telephony provider (called, for example, TelephonyService) and define a business object TelephoneParams with an attribute DIAL (check the PayPalParameters object). At run time make sure that the value of the DIAL attribute of this object is set to the appropriate phone number and call the service. For example:

TelephoneParams.DIAL='1234-5678'
REQUEST SERVICE TelephonyService OF TelephonyProvider USING TelephoneParams

This is very similar to what is being done with PayPal
Aware IM Support Team
pixerp
Posts: 180
Joined: Sun Jan 28, 2007 7:12 pm

Post by pixerp »

Sorry, but I don't see how the channel URL will change the IPAddress to reach the phoneset of the user initiating the call ...

I still feel that a command like SEND URL or NODISPLAY URL that we could use in a process action would be easier, no ???
aware_support
Posts: 7525
Joined: Sun Apr 24, 2005 12:36 am
Contact:

Post by aware_support »

I didn't realize that IPAddress is a dynamic parameter as well.

In this case, you are right - it won't work with the URL channel approach. It's a very strange situation - when the IP address of the URL is determined dynamically. Are you sure this is how it works?

If so, then we can recommend a function that sends the info via URL and reads the HTTP response - a bit like your SEND URL suggestion. This function is not part of the product yet but we have the code of it written already for some other customer, so we can give it to you as well.
Aware IM Support Team
pixerp
Posts: 180
Joined: Sun Jan 28, 2007 7:12 pm

Post by pixerp »

The Ip address refers to the internal web server running on the Snom phones. In a company, you'll have :

User1 with Snom phone on his desk having IPAddrxx
User2 with Snom's IPAddryy
etc.

So, e.g. in CRM app., when User1 wants to place a call to numberA the URL dial command must be issued to IPAddrxx and when User2 .....

Action SEND URL with url address being prepared on-the-fly using context data would do the job. Of course, in that case, there isn't any http response. The Snom web server just goes OffHook, dials the number and you ear (in Handset or Headset) the ringing tones waiting for the called party to answer.

Can I get the piece of code you mentionned to give it a try ?
aware_support
Posts: 7525
Joined: Sun Apr 24, 2005 12:36 am
Contact:

Post by aware_support »

The appropriate files have been sent to you.
Aware IM Support Team
Post Reply