Author |
|
LPaiva Intermediate
Joined: February 16 2005 Posts: 2
|
Posted: February 16 2005 at 8:04am | IP Logged
|
|
|
I am looking at LanScape with the intent of possibly using it to develop a
small auto-attendant application. However, the OpenRxIVR API description
has me a little confused.... Is there an API for receiving out-of-band DTMF?
A more specific outline of my question is attached. Please let me know if I
am thinking about this correctly and LanScape will work for what I need.
Also...just to make sure I understand... I have a few questions:
1) If I start out with an inexpensive 1 or 4 line license and do my
development and testing with it, can I just buy an upgraded license later
and just switch out the Micropersonal Profile file before deploying?
2) I am a small software developer and I am looking at using Lanscape Media
Engine to build an application that I intend to sell more than one copy of.
Am I correct in thinking that it works like Visual Studio and that if I buy
a license and build my application that I can redistribute my compiled
application with whatever underlying Lanscape componenets/DLLs it needs to
run without buying a seperate Lanscape license for each customer I sell my
application to?
3) Are there limited-function or time-bomb versions available that I could
use to to play with for a while. So, I could see if this is something that
makes sense for us before we start buying licenses?
4) I think I understand, but just to be sure... Does Lanscape include
complete SIP Proxy and Registrar functionality, or do applications built
with Lanscape need to be run with a SIP Server from radvision or someone
else to do all the end-point registration and call control/proxy funtions?
5) I want to make sure I understand what "network phone lines" means...
Assuming applications developed with Lanscape do not require a separate SIP
Server, do calls already connected between a PSTN Gateway and an internal
SIP phone use a "network phone line"? In other words, if my customer has
100 telephones and 46 telephone lines (twp PRIs) they may have 60 people on
the phone at one time (46 talking to outside people and 14 talking to each
other on internal phone-to-phone conversations). However, they may only
have 13 calls in the auto-attendant and 3 checking their voicemail. So
would they be using 16 "network phone lines" because the application would
only have 16 open SIP sessions, or, would they need 60 "network phone lines"
(even though those other 44 users are not actually using the application in
any way (because at that point the conversation is directly from the SIP
PSTN Gateway ot the SIP Telephone)? I am assumning the answer is 16 just
because if the application were using a third party SIP Proxy, unless the
application uses the "subscribe" API, I don't know how the application would
have any way of even knowing those other conversations were in progress? I
just want to be sure though.
Thanks in advance for your help.
Sincerely,
Joe P.
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: February 16 2005 at 10:39am | IP Logged
|
|
|
Hello Joe,
The information you submitted with your questions was very good and concise. We can see that you have reviewed our material and you have done your preliminary homework. Thank you, very good.
The LanScape VOIP Media Engine ships with a 2-line IVR reference application that does almost exactly what you are describing – less transferring calls. It answers incoming VOIP calls, plays IVR response audio to the user, detects in-band DTMF and allows you to navigate through its menus. It’s a simple C++ example application. It is a canned example application that is intended to show what is possible for IVR applications. It might be a good idea to use this reference design as a starting point for your design.
Additionally, you might want to go to our customer service ftp site located at:
lanscapecorp.dnsalias.com
Username: anonymous
password: guests
And download the current compiled HTML help file that we ship with the LanScape VOIP Media Engine. FTP to the above location and look for the file named:
VoipMediaEngine\LanScape_Software_Developer's_Reference.chm
It is more up to date than the web information and contains additional development information.
About your diagram:
The Power Point diagram you submitted with the section you classified as “unclear” is 99.5% correct. From your diagram, I see you have the following questions:
A) How to have the IVR app receive in-band DTMF from the caller?
B) When do you call the OpenRxIvrChannel() API procedure?
C) How to have the IVR app transfer the caller to a new VOIP destination?
Items A+B: Receiving in-band DTMF, calling OpenRxIvrChannel() API procedure.
Your application would startup and instantiate the VOIP Media Engine and perform a normal initialization sequence (for this sequence, you would refer to LanScape example applications and API documentation that come with the product).
At the very end of the VOIP Media Engine startup sequence, your application would call the OpenRxIvrChannel() API procedure to establish a callback procedure for each phone line you want to receive sampled data from. Because you are developing an IVR auto attendant application, you would want to receive audio data from all of the network phone lines your media engine supports. Once you do this, anytime a phone call is answered by your IVR app, it will receive all incoming audio from the far end IP phone, soft phone or SIP/RTP device. You can do whatever you want with this incoming audio data stream such as in-band DTMF decoding, voice recognition, etc. NOTE: All DTMF decoding/detection is the responsibility of your application code. Under some circumstances, we are able to make available to you our LanScape DTMF detection support libraries if required.
Items C: IVR app transfers the caller to a new VOIP destination.
When your IVR app answers a VOIP phone call, the far end user could navigate through your application supplied DTMF menus and press a DTMF key, your application performs DTMF decoding and determines that the call is to be transferred to a new location. At this time your application would call either the TransferLine() or the TransferLineUri() API procedures. When the call gets transferred, the call is terminated at your IVR app and is forwarded to the new VOIP location.
Now we will try to answer the rest of your questions:
Item 1:
You>>>
If I start out with an inexpensive 1 or 4 line license and do my development and testing with it, can I just buy an upgraded license later and just switch out the Micropersonal Profile file before deploying?
You are exactly correct. Just change the Personality MicroCode information you either compile in or link with your application and you are ready to go. Customers have 12 months from the original date of purchase to upgrade for the price difference.
Item2:
You>>>
I am a small software developer and I am looking at using Lanscape Media
Engine to build an application that I intend to sell more than one copy of.
Am I correct in thinking that it works like Visual Studio and that if I buy
a license and build my application that I can redistribute my compiled
application with whatever underlying Lanscape componenets/DLLs it needs to
run without buying a seperate Lanscape license for each customer I sell my
application to?
Yes. You purchase your license from us one time only and distribute your end user application as many times as you want. Note: We license our technology on a per application/executable basis. If you develop more than one VOIP application, you must purchase a development license for each application you develop. A single license cannot be used to develop multiple applications. Also, we do not allow the VOIP Media Engine’s API to be wrapped by a customer’s API to be sold as a VOIP development library without prior authorization.
Item 3:
You>>>
Are there limited-function or time-bomb versions available that I could use to to play with for a while. So, I could see if this is something that makes sense for us before we start buying licenses?
We are sorry. At the moment we do not offer this capability. The only thing we can do for you is give you adequate pre sales support and get all of your questions answered before you purchase.
Item 4:
You>>>
I think I understand, but just to be sure... Does Lanscape include complete SIP Proxy and Registrar functionality, or do applications built with Lanscape need to be run with a SIP Server from radvision or someone else to do all the end-point registration and call control/proxy funtions?
We can see that you know VOIP your technology. Very good. The short answer is yes. You should deploy your VOIP media Engine based application with other SIP proxy, SIP registrar and RTP media proxy support if required by your network envoronment. The VOIP media Engine will allow your IVR app to register with a sip proxy/registrar (radvision, IPTEL SIP Express Router, Cisco SIP Proxy, Open Source ASTERISK, etc). Your app can not function however as a SIP proxy itself using the Media Engine..
The long answer is: The LanScape Media Engine can be considered a “drop in” call engine that gives your application SIP/RTP User Agent (UA) capabilities plus much, much more. It supports strict peer-to-peer deployments (no SIP proxies, registrars or RTP media proxies) in addition to VOIP deployments where SIP proxy, SIP registrar and RTP Media proxies are deployed in the VOIP network environment. The LanScape VOIP Media Engine is designed for any client or server application that needs both SIP session and RTP media support. In addition, it could be used to develop a stand-alone Registrar server if you wanted but it cannot be used to develop a SIP Proxy server.
To deploy a proper VOIP network that can deal with the current hostile network environments brought on by network address translation (NAT), port address translation (PAT) and router/firewall issues, LanScape and our customers most often deploy VOIP Media engine based applications using SIP Proxy servers, SIP registrar servers and RTP Media proxies where appropriate. For our own use, LanScape uses our own LanScape Centrex Proxy Server (that includes SIP proxy, registrar functions and call routing like a PBX in a single software app) and our own LanScape Media Proxy to resolve NAT router/firewall media issues.
Item 5:
You>>>
I want to make sure I understand what "network phone lines" means...
You submitted a large question. We will have to take it one piece at a time.
You>>>
Assuming applications developed with Lanscape do not require a separate SIP
Server, do calls already connected between a PSTN Gateway and an internal
SIP phone use a "network phone line"?
No. At that point, your IVR auto attendant would not be in the call path.
The best way to think of “network phone lines” is this: The number of network phone lines your VOIP Media Engine supports (lest say 32) gives your IVR application the ability to handle up to 32 simultaneous calls. Another way to think about it is each “network phone line” is considered an active media stream once SIP session initiation has done its job.
The number of lines your IVR auto attendant will need depends on how many people you want to service at the same time. If you only want to allow 8 people to have access to your IVR app, then you need an 8 line media engine. If you want to allow your IVR application to handle 64 simultaneous individuals, then a 64 line version would be requird.
You>>>
I am assumning the answer is 16 just because if the application were using a third party SIP Proxy, unless the application uses the "subscribe" API, I don't know how the application would have any way of even knowing those other conversations were in progress?
Yes. Exactly. :)
This post intended to get your questions answered accurately. If you have further pre-sales questions, please do not hesitate to post back to this forum.
Best regards,
LanScape Support Staff
|
Back to Top |
|
|
LPaiva Intermediate
Joined: February 16 2005 Posts: 2
|
Posted: February 16 2005 at 8:26pm | IP Logged
|
|
|
Great answers. Thank you very much.
JP
|
Back to Top |
|
|
|
|