SKYPE AUTO DIAL

This forum is for programmers who have questions about the source code.
Post Reply
clivejbennett
Posts: 15
Joined: Thu Nov 20, 2008 8:24 pm

SKYPE AUTO DIAL

Post by clivejbennett » Fri Nov 21, 2008 12:10 am

I am a very newbie - still in data conversion in fact (EX-DentrixG3)... but
I wanted to integrate an AUTODIAL from say the appt book.
It occurred to me that there is a possibility of a fast and dirty (and very simple) dialout to SKYPE, simply by parsing the phone number to Skype.
I wondered if there had been any mischief in this direction?

It can be is done in the comand line in windows by...

cd\program files\skype\phone
skype /callto:number

This cranks out a call in skype

Now I haven't really played with the Skype API and SDK but it occurred to me that it may be an easier and simpler option for CTI outgoing call automation and dial on demand for dental offices than an asterix situation.
I apologise in advance if this has already been investigated
Is this of interest?
cheer
Clive

User avatar
jordansparks
Site Admin
Posts: 5744
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: SKYPE AUTO DIAL

Post by jordansparks » Fri Nov 21, 2008 7:38 pm

It has not been discussed. Sounds easy. So as an example, you would run:
skype
with a command line of:
/callto:5033635432
Is that correct?

We would need to discuss a little bit how to trigger it. Right click on an appointment, dial Home. Or dial Work, etc. There would have to be some thought about what would happen in situations where the preferred contact method was different.
Jordan Sparks, DMD
http://www.opendental.com

clivejbennett
Posts: 15
Joined: Thu Nov 20, 2008 8:24 pm

Re: SKYPE AUTO DIAL

Post by clivejbennett » Fri Nov 21, 2008 9:43 pm

To use a single line example

C:\Program FIles\Skype\phone\skype /callto:+61428258258

This would dial say my mother-in-law in Australia, on a standard skype windows install.

It would be a ridiculously simple solution to low cost dial-on-demand calls. Very simple for dental Offices
If you haven't got Skype running at the time it fires it up, but, doesn't dial out unless your logged-in [usually automatic dependant on your settings]. (This is to prevent war-dialing scripts.)
Most people have skype running in the background anyway online but appearing offline.

Skype also has a DotNet API and SDK

Clive

clivejbennett
Posts: 15
Joined: Thu Nov 20, 2008 8:24 pm

Re: SKYPE AUTO DIAL

Post by clivejbennett » Fri Nov 21, 2008 10:06 pm

Interface Integration:
That sounds great...
You could have a little Phone Icon on thr prefered method
Or straight from the Appt Book
Right-Click>>> dial

SENDING SMS for Appt Confirmation
actually you can even send SMS (text) messaging to their cell VIA skype API
(very unobtrustive - we use this for our reminders for our patients)

They have a public API and examples of sending SMS via the API (dotNet)
http://forum.skype.com/index.php?showtopic=62040

cheers
Clive

User avatar
jordansparks
Site Admin
Posts: 5744
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: SKYPE AUTO DIAL

Post by jordansparks » Sat Nov 22, 2008 6:32 am

I looked for quite a while and could not find documentation for the command line interface you initially posted.
Jordan Sparks, DMD
http://www.opendental.com

clivejbennett
Posts: 15
Joined: Thu Nov 20, 2008 8:24 pm

Re: SKYPE AUTO DIAL

Post by clivejbennett » Sat Nov 22, 2008 3:51 pm

Yes, they are not too forthcoming in their documentation.... but I came accross what we would need for SMS
The Command line for dialing a call (as posted) works great. In fact I use it currently. No Probs
The SMS (messaging) side I think requires using their API -using Skype4COMLib which is in versions after skype 3 (we are currently on 4)

Here is a VBS example from their code examples: https://developer.skype.com/Docs/Skype4COMLib/Sms_vbs

'// Create a Skype4COM object:
Set oSkype = WScript.CreateObject("Skype4COM.Skype", "Skype_")

'// Start the Skype client:
If Not oSkype.Client.IsRunning Then oSkype.Client.Start() End If

'// Send SMS:
Set oSMS = oSkype.SendSms("+1234567890", "Hello!")

WScript.Sleep(60000)

'// Message event handler:
Public Sub Skype_SmsMessageStatusChanged(ByRef aSms, ByVal aStatus)
WScript.Echo ">Sms " & aSms.Id & " status " & aStatus & " " & oSkype.Convert.SmsMessageStatusToText(aStatus)
End Sub

'// Target event handler:
Public Sub Skype_SmsTargetStatusChanged(ByRef aTarget, ByVal aStatus)
WScript.Echo ">Sms " & aTarget.Message.Id & " target " & aTarget.Number & " status " & aStatus & " " & oSkype.Convert.SmsTargetStatusToText(aStatus)
End Sub
-------------------------------------------------------------------------------------
There is even a blog posting I found of a VB interface done by someone with code:
http://conradsharry.blogspot.com/2007/0 ... ype-3.html


Is this what you would need?
Clive

User avatar
jordansparks
Site Admin
Posts: 5744
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: SKYPE AUTO DIAL

Post by jordansparks » Sun Nov 23, 2008 7:26 am

You realize that this request needs to be submitted just like any other, right? If/when we attempt it, we will refer back to this discussion. I would also want to explore a more general SMS solution that would not require installation of skype.
Jordan Sparks, DMD
http://www.opendental.com

clivejbennett
Posts: 15
Joined: Thu Nov 20, 2008 8:24 pm

Re: SKYPE AUTO DIAL

Post by clivejbennett » Sun Nov 23, 2008 12:39 pm

My bad... I assumed you were already underway with demand-dial
(and maybe SMS) with some sort of asterix solution.
The reason I submitted to the forum was I thought that the 'command line' might simplify an otherwise potentially tricky telephoney quagmire
When I finally get up and running with OD I will submit a specific request.

Incidentally, why I suggest 'Skype' is because:
1. SMS varies hugely between countries and networks (CDMA,GSM,HSPA etc) -Skype seems to already span these with limited grief.

2. a. A lot of networks do not allow external sumbission hooks into their SMS without a huge amount of pain (tried this). Skype has this pain barrier sorted already and the desktop interface with record keeping/audit trail.
b. CTI comes in so many different flavours and protocols - getting a solution that would work for everyone in all countries would be nie on impossible to impliment and maintain. Make the CTI component someone elses problem (skype's) :-)

3. Cost - SMS is not free in many countries - you can pay 25c per msg in Australia but Skype=8c especially significant if you are doing 600 messages a week. Skype is free, now high quality, and Adware free.

4. Simplicity - elegant in that Skype is finally a mature app and in fact complete and the barriers to implimentation can be counted on the palm of your hand. There is really very little to do to get it working.

I hope this was of some value (or added flavour) in helping you decide what sort of CTI integration you want to do

cheers
Clive

User avatar
jordansparks
Site Admin
Posts: 5744
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: SKYPE AUTO DIAL

Post by jordansparks » Sun Nov 23, 2008 8:36 pm

Yes, that is helpful. We built an Asterisk interface because we use it for the phone system for our customers. In other words, it was built out of absolute necessity rather than as a nice add-on. It has reduced our phone bill by roughly $1500 per month, and we're just getting started with the possibilities of the interface.
Jordan Sparks, DMD
http://www.opendental.com

clivejbennett
Posts: 15
Joined: Thu Nov 20, 2008 8:24 pm

Re: SKYPE AUTO DIAL

Post by clivejbennett » Sun Nov 23, 2008 9:25 pm

Thankyou for your patience.
Frankly I am amazed you get time to answer - you must be one seriously efficient (and busy) guy.

I will prepare a detailed description (including hopefully a useful spec) and submit it for voting.

cheers
Clive

jhkings
Posts: 4
Joined: Mon Nov 24, 2008 6:06 pm

Re: SKYPE AUTO DIAL

Post by jhkings » Mon Nov 24, 2008 6:11 pm

There's an API for Skype, even for .Net. Why are you going through the command line?
Wouldn't it be nice to have a button next to the phone number, and just clicking on the button to launch Skype and dials?
Sorry, I'm new here. But I have many years of development under my belt and I specialize in user interface. I'll try to help out where I can.

And thank you Jordan for getting the ball rolling.

User avatar
jordansparks
Site Admin
Posts: 5744
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: SKYPE AUTO DIAL

Post by jordansparks » Tue Nov 25, 2008 2:14 pm

Because command line is always easier than an API. With an API, we have to have a dll. We have to worry about possibly distributing that dll, increasing our distribution size. And if we don't have to distribute it, we still have to create objects and references. C# does not do this as easily as the old VB did. In fact, for a few bridges, we have had to write them in VB. My point is that, in my experience, command line interfaces are ALWAYS the easiest type to write. If the bridge becomes popular and we want more features, then more complex interfaces might make sense.
Jordan Sparks, DMD
http://www.opendental.com

enamelrod
Posts: 462
Joined: Tue Jul 24, 2007 9:51 am

Re: SKYPE AUTO DIAL

Post by enamelrod » Mon Jan 12, 2009 6:52 am

if we have an interest in your asterisk interface how would we get a copy to further develop it?

prav_n
Posts: 5
Joined: Mon Jan 12, 2009 7:37 pm
Contact:

Re: SKYPE AUTO DIAL

Post by prav_n » Mon Jan 12, 2009 8:02 pm

Firstly, Let me state we like the opendental software you are providing. Thanks for the hardwork and look forward to assisting in whatever way we can!

I would love to integrate into non-SKYPE VOIP software also..we may need some sort of "generic solution" for any third party communication interface.
There are potentially hundreds of different types of direct communication interfaces for outbound voice and data that are used in offices.
For example autodial via
a) PABX or digital land line phones
b) integrate with automatic voice services such
c) mobile phones (cable,bluetooth,wifi,gprs)
d) soft phones (via SIP)
e) yahoo VOIP service (via yahoo messenger), gchat, msn chat, aim chat etc. (there are lots of competitors to Skype these days)

If I could build a plugin for each of these on a case by case basis, i would need
a) opendental providing a core Communication API that could be exposed in a safe way to this plugin,
b) provide xml file that opendental uses to register new plugins

Iam new to .net and i have written plugins for java products...java standards such as OSGi standards plugin framework are helping to standardise plugin frameworks.

A quick search for .net brings me to this sample http://msdn.microsoft.com/en-us/library/ms972962.aspx.
Ideally would be good if we can run any OSGi compliant plugins in .net..but not sure if someone has written an OSGi.net framework that could be easily moved into opendental.
Regards,
pn

User avatar
jordansparks
Site Admin
Posts: 5744
Joined: Sun Jun 17, 2007 3:59 pm
Location: Salem, Oregon
Contact:

Re: SKYPE AUTO DIAL

Post by jordansparks » Tue Jan 13, 2009 4:28 am

Yeah, I think I read that article 5 years ago, or something similar to it. But because OD is open source, and because we put out releases so frequently, it's easier to just get the specs and hard code each situation. That's how we do our bridges http://www.open-dent.com/manual/programlinks.html. Why bother building a framework? Just add another class to the source code.
Jordan Sparks, DMD
http://www.opendental.com

prav_n
Posts: 5
Joined: Mon Jan 12, 2009 7:37 pm
Contact:

Re: SKYPE AUTO DIAL

Post by prav_n » Tue Jan 27, 2009 12:49 pm

I see. Thanks for the insight into your processes.
Regards,
pn

Post Reply