首頁(yè)>>廠商>>IVR系統(tǒng)平臺(tái)廠商>>Pronexus

[英文]多線程IVR開(kāi)發(fā)
Multithreading in IVR Development

Fouad Jennawi 2010/10/29

Multithreading is one of the very interesting subjects of programming; end users know it as the reason that keeps their computers highly responsive, and developers use it as one of the techniques to improve the performance of the products that they are developing.


Pronexus VBVoice™ Interactive Voice Response (IVR) software is multi-threaded by design. It separates, on one hand, processing channels from each other and, on the other hand, from the application code. However, the IVR application code is usually done on one thread; the thread that instantiated the VBVoice controls which is called the main thread. This same thread also instantiates and handles the GUI (Graphical User Interface) code.

As application developers started doing more asynchronous coding using multithreading, Pronexus was asked to simplify this process. This is when the WorkerThread control was added to the VBVoice’s collection of controls. WorkerThread not only offers management of a pool of user threads but it also synchronizes them with both the main thread (the thread that all application code is executing) and the particular channel thread.

Simplicity is the key here; the IVR solution developer wraps his code to be executed in a worker thread in a class that implements IVBVRunnable interface. During a call, in the WorkerThread Enter event, the application creates an object that contains the set of parameters to be passed to the worker thread and an instance of wrapper class. VBVoice will kick in the worker thread with the custom code while playing music to the caller and listening to actions, such as hanging up or keying in digits. Later, when the custom code is done, the control exits by firing its Exit event and providing any results from the worker thread plus some useful flags.

The key benefits of the WorkerThread control are:

1.IVR developers don't need to have extensive knowledge of multithreading programming and sophisticated thread synchronization which can get tricky.
2.WorkerThread suggests the recommended way of writing custom thread code which saves time.
3.It offers the best synchronization to telephony functionality.
4.It simplifies debugging, as you only have to set the WorkerThread timeout to a high value and put a break point in your custom code.
5.It is extensible, as application developers can add more threads if they need to and implement other ways of synchronization to the worker thread as well as the main thread.

Responses to “Multithreading in IVR Development”
1.Sean says:
October 28, 2010 at 1:17 pm
In my experience, IVR programmers should consider multithreading for example for any applications which will do database lookups. In particular with high-density IVR systems, channel stability can be impacted by blocking the main thread. In a telephony platform, milliseconds count, and delays on the main thread cause instability. A multithread approach in application design will ensure you have the foundation of a robust IVR.

2.KO says:
October 28, 2010 at 2:34 pm
There is a case study that talks to some of the benefits that you mention. Check out http://tinyurl.com/callcenter-casestudy. To give you an idea, a large call center was able to reduce code lines (and therefore time and costs) by 50% using multithreading to develop their dialer application.

CTI論壇報(bào)道



相關(guān)閱讀:
Pronexus推出VBVoice7 免費(fèi)提供IVR開(kāi)發(fā)工具包 2010-09-08
Pronexus推出IVR解決方案定位器 2010-08-17
Vocantas采用VBVoice為大型公共事業(yè)機(jī)構(gòu)開(kāi)發(fā)IVR 2010-03-16
CabCALL采用支持HMP的VBVoice開(kāi)發(fā)IVR訂車方案 2010-03-15
VBVoice 5.6構(gòu)建強(qiáng)有力的電話和語(yǔ)音解決方案 2010-01-27

分類信息:  CTI文摘_與_IVR技術(shù)
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 东城区| 桐柏县| 科技| 黔南| 梁平县| 睢宁县| 贺州市| 来安县| 临安市| 肥城市| 盐亭县| 锦州市| 天津市| 贵溪市| 梁山县| 延庆县| 江山市| 娄底市| 泸水县| 融水| 招远市| 太原市| 鄄城县| 菏泽市| 九江市| 伊春市| 丘北县| 平乡县| 二手房| 根河市| 三原县| 肥城市| 惠东县| 湖北省| 衡东县| 东乌珠穆沁旗| 平远县| 武清区| 江永县| 雷波县| 凤山市| http://444 http://444 http://444 http://444 http://444 http://444