2012-04-17 88 views
1

我需要以編程方式與國外IVR進行交互。需要與國外IVR交互

我遇到的問題是,一旦進入外部IVR,如果外部IVR的後端綁定,我偶爾會收到特定功能的忙信號。

據我所知,如果不使用EAGI並在Perl中編寫定製的DSP,我可以做的並不多,對吧? Dial()應用程序會認爲它成功了,因爲它(在最初的出局撥號上)。

我有點卡住思考如何檢查我是否目前獲得一個忙碌的信號,即使原始撥號()成功。

回答

1

您可以使用AMI界面控制撥號後的呼叫流程。

您還可以使用audiohooks(以c/C++)創建應用程序以在後臺執行任何操作。

使用perl唯一的方法獲取語音是EAGI或JACK。

+0

是的,我認爲這是唯一的方法。我希望有一種方法(無需攻擊Asterisk)能夠在任何給定的時間使用dsp代碼。儘管我的客戶並不需要走得太遠。 – gnxtech3 2012-04-17 20:56:52

+0

您可以使用JACK進行處理。或者你可以要求某人爲你創建事件處理程序(〜1000成本任務)。你的任務是非標準的,並且沒有默認的方式,對不起。要了解如何編寫類似的代碼,請參閱chan_dahdi.c中的busy detect以及BackgroundDetect的代碼 – arheops 2012-04-18 05:51:31