Author Message
AlbertoMolinero
Joined: Feb 10, 2014
Messages: 8
Offline
Hi. I am newbie in this area and i´m trying to implement a softphone using CMAPI.As far as i know, this would not be a problem, but i would like to use Internet explorer embeded application. The scenario is like:
1. An agent login using IE in application area.
2. The application embeded in IE (as thin client) get device, register, etc. and it is used as a softphone (the agent just have to make a call and disconnect)
Is that possible? Could i find code some code or example in this line?

thanks in advance!
DaveBurritt
Joined: Dec 19, 2005
Messages: 0
Offline
Alberto:

The .NET SDK will provide the capability for a web developer to develop a softphone which runs in Internet Explorer. In fact, I demo'd that capability in a webinar last April (perhaps May). I think the webinar is posted on the DevConnect site so yo can view it if you wish (the IE demo is towards the end of the webinar).

The current version (pre GA) of the .NET SDK that we are making available to DevConnect does not yet have that capability exposed though.

We are still working on the IE interface and also some sample applications which will demonstrate the capability.

If & when we releae another pre GA version of the SDK which exposes this capability then that will be announced in this forum.

I do have one other question regarding the application you are thinking about designing. If you want the media to be routed to the PC running the browser (i.e., VOIP to the PC) then you will need to provide the codec because the .NET SDK does not provide and media processing ability. Just the ability to receive the media pakets. If you want the media to be routed to a physical phone then you won't need to provide a codec.

Dave
AlbertoMolinero
Joined: Feb 10, 2014
Messages: 8
Offline
Hi Dave, nice about the demo in the webinar, nice.
About the codec use, if i implement just a thick client (.net application outside of IE) without a physical phone, just VoIp to PC, will i need provide a codec and so on? Is there any example of softphone using .net sdk available?

thanks in advance!
DaveBurritt
Joined: Dec 19, 2005
Messages: 0
Offline
Alberto:

The short answer is yes, you will need to provide your own codec even for a thick client.

There is a sample application in the SDK which is a simple call recorder. You can record the call either in Server media mode (where the call is recorded on the DMCC server) or in client media mode. In client media mode the application receives the RTP media and processes it and save it in a .wav file.

From looking at that example it should be pretty obvious on what you need to do to make a softphone thick client application. The only trick will be that if you want to send the media to the speakers and receive the media from the PC microhpone you will have to provide that code or use a third party component to do it. We don't provide any source code for this. If you are going to write you own media component then realize it is not trivial because you will have to deal with jitter (network delays in receiving the media).

The sample call recording application does not need to deal with jitte becaues the data is just being saved to a .wav file and not being sent immediately to the PC's speaker.
AlbertoMolinero
Joined: Feb 10, 2014
Messages: 8
Offline
uhmm...so, as far as i understand, there is no an example of softphone application usinf .net sdk (do you know someone who programmed this?). I am worried about the treatment of media (from and to) and jitter. Will you provide your softphone for IE soon? Will you provide the code? What do you recommend me to implement the softphone?
What about the dash board application? Could i use as a softphone in this way? Is it would be possible to get the code?

thanks a lot Dave
AlbertoMolinero
Joined: Feb 10, 2014
Messages: 8
Offline
Hi again,
nobody has an example how to implement a softphone using cmapi?

thanks,
Alberto
DaveBurritt
Joined: Dec 19, 2005
Messages: 0
Offline
I think the Java SDK has an example of a softphone.

Writing a codec which handles jitter is no small task (I did it on another project). I think you will either have to write it yourself or purchase it from a third party.


Regarding the dashboard, yes the dashboard does have softphone capabilities (with no media being sent to the speaker on your PC). It can be used to demonstrate a softphone in that it handles lamp, display, and ringer updates. It also allows you to push buttons on the phone and go on and off hook.

There are no plans to release the source code to the dashboard at this time.

To implement a softphpone via .NET, here are the steps you have to do.

1. Start the application session.
2. Get the Device Id for the extension.
3. Register the Device Id
4. Create the monitors for getting things like Lamp, Display, and Ringer updates.

That is pretty much it. Obviously, you have to add the code for the UI.

You can use the dashboard to manually do these steps.

You can use the supplied Visual Studio code snippets to help you write the actual code for these steps.

You can also look at the sample call recording application which also does these steps.

I don't know when we are going to make the IE version available on a Pre GA basis.
AlbertoMolinero
Joined: Feb 10, 2014
Messages: 8
Offline
The example of Java SDK of softphone , does include the sending of media to and from the speaker?
For your comments, it is not usual to use dmcc to make a soft (only soft) phone, similar than ip agent or ip softphone. Is there any other possibility? Maybe other product?
DaveBurritt
Joined: Dec 19, 2005
Messages: 0
Offline
The Java example shows simple media processing and does not handle any jitter.

I don't know of any free product which provides source code for a full blown media codec which handles jitter.

I assume you are aware of the other media modes that a softphone can be in. which would not require a codec. Specifically, a phone registered in telecommuter mode or shared control.

Dave
AlbertoMolinero
Joined: Feb 10, 2014
Messages: 8
Offline
I downloaded java examples, which is the name of the example showing media processing? It is not possible to use telecommunter mode (just soft, not hw phone) in this project. What i do not understand it is nobody has programmed a softphone (no telecommuter, no phisical phone, only soft) and no examples. I have found some interesting about media processing: http://www.live555.com/liveMedia/ . Do you think is the right direction to the implementation?
thanks you so much
DaveBurritt
Joined: Dec 19, 2005
Messages: 0
Offline
I took a very quick look at that site. It appears it mainly deals with receiving streaming audio and not with two way live calls. Therefore, I doubt if they have much logic around jitter.

Dave
AlbertoMolinero
Joined: Feb 10, 2014
Messages: 8
Offline
Agree with you. At last, i understand DMCC it is not the best way to implement a (only soft, not telecommuter) softphone. As far as i know, there is no other tool to design this kind of application (as ipAgent and IpSoftPhone in roadwarrior mode). Is there any api or sdk for IPAgent or IpSoftPhone to use their functionalities?
DaveBurritt
Joined: Dec 19, 2005
Messages: 0
Offline
Regardig the sample applications.

The next release of DMCC will have a Java softphone which handles Media (no jitter buffer though).

The current version of the DMCC Java SDK does have a telecommuter softphone. It also has a ClientMedia sample application (no jitter buffer). One should be able to combine these two applications to get a sample softphone with simple media processing.

DaveBurritt
Joined: Dec 19, 2005
Messages: 0
Offline
I am not sure, you might be able to control IPSoftphone via TAPI.
AlbertoMolinero
Joined: Feb 10, 2014
Messages: 8
Offline
This example application does not handle the jitter so,probably, it will not useful in production enviroment.
About tapi, i can use it for monitor a device, make call, transfer and so on, but,obviously, i cannot use to register/unregister the softphone (and that is final objective of this project: register a station, make a call and unregister at the end of this call, to save licenses).
thanks for your help, really.
Go to:   
Mobile view