日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

发布一个C#实现的Asterisk的管理系统

發(fā)布時間:2024/4/14 C# 127 豆豆
生活随笔 收集整理的這篇文章主要介紹了 发布一个C#实现的Asterisk的管理系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

協(xié)議:Apache License Version 2.0

svn:https://smark.svn.codeplex.com/svn/Smark/Smark.Asterisk.Services

l??????? 主要功能

?????? 通過AMIAGI來接管Asterisk的拔打控制,實現(xiàn)多臺asterisk網(wǎng)內(nèi)拔打可配置、對接電信移動可配置、回拔和預(yù)約回拔、拔打記錄和費用結(jié)算等功能。
進行程序測試的
asterisk版本是:1.6.2

?

?

???????AMI的主要實現(xiàn)是監(jiān)控用戶登陸所在的服務(wù)器并登記處理和向asterisk發(fā)起回拔功能。

AGI的主要實現(xiàn)是接管用戶拔打規(guī)則,根據(jù)配置來處理用戶當拔打的號碼是網(wǎng)內(nèi)拔打還是對接到電信或移動的落地接口服務(wù)器、登記用戶拔打信息和費用計算等功能。

l??????? 配置AMI服務(wù)

AMI服務(wù)主要是連接Asterisk后接讀取Asterisk的處理信息或執(zhí)行對Asterisk的管理操作。程序會根據(jù)AMINet表的記錄來連接相關(guān)服務(wù)器。

IPAddress

Asterisk IP地址

Port

服務(wù)端口

UserName

登陸用戶

UserPWD

登陸密碼

Asterisk的管理服務(wù)配置在:/etc/asterisk/manager.conf

l??????? 配置AGI服務(wù)

AGI是程序本地監(jiān)聽的服務(wù),主要是接管Asterisk的拔號處理。程序根據(jù)AGINet表的記錄來啟動AGI服務(wù)。

IPAddress

監(jiān)聽的IP地址

Port

監(jiān)聽的端口

?

l??????? 拔號規(guī)則流程

AGI直接收用戶拔號后先查詢號碼是否本網(wǎng)號碼,根據(jù)號碼登陸的IP來查找對接的AsteriskIP地址,當找不到的情況下就去查找號碼對應(yīng)描述的電信或移動對接服務(wù)器,如果以上都不能找到的情況返回本網(wǎng)內(nèi)對接。

?

?

?????? 配置/etc/asterisk/extensions.conf把特定的號碼規(guī)則轉(zhuǎn)發(fā)到AGI來處理。

l??????? 配置asterisk網(wǎng)內(nèi)對接描述

用于存在多臺Asterisk的時候描述相關(guān)對接的用戶,可以在AsteriskTRUNK中添加相關(guān)信息。

IPAddress

AsteriskIP地址

TRUNK

轉(zhuǎn)接用戶

Format

號碼格式化描述;:0-1就是把開頭01代替后再對接過去

DialTimeOut

對接等待超時時間

DialMusic

對接等待時所播放的彩鈴

注意:asterisk必須存在對應(yīng)TRUNK用戶

l??????? 配置電信或移動對接描述

配置和外網(wǎng)對接的用戶信息,可以在PhoneTRUNK中添加相關(guān)信息。

Prefix

號碼前綴

Enabled

是否有效

Format

號碼格式化

TRUNK

轉(zhuǎn)接用戶

DialTimeOut

對接等待超時時間

DialMusic

對接等待時所播放的彩鈴

注意:asterisk必須存在對應(yīng)TRUNK用戶

l??????? 用戶信息

用戶費用信息表Accounts,只是實現(xiàn)簡單的費用所以表結(jié)構(gòu)非常簡單。

AccountID

帳號名

Amount

金額

可以根據(jù)自己需要添加一些字段;如果用戶無效,當用戶使用該帳號拔的時候根據(jù)有效性來提示用戶。

l??????? 費用

Fee是用來描述拔打費用單價的。

Prefix

計費前綴

Price

單價

Second

單位時間(秒為單位)

?

l??????? 發(fā)起回拔

只需要向表CallBack添加相關(guān)記錄,系統(tǒng)就自動發(fā)起回拔。

ID

?

Account

計費帳號

Callerid

?

FromPhone

主叫號

ToPhone

被叫號

Context

拔號規(guī)則類別

Priority

拔號規(guī)則類別的第X的規(guī)則

Codes

編碼:ulaw,alaw,g729等,具體情況

State

記錄狀態(tài)

CreateTime

創(chuàng)建時間

?

?

?

l??????? 語音回拔服務(wù)的IVR

asterisk發(fā)起回拔給主叫用戶,主叫用戶接聽后進行語音提示用戶輸出需要拔打的號碼,輸入#后進行轉(zhuǎn)呼。

[smark]

exten => 99999999,1,Goto(CallBack,s,1)

exten => _.,1,AGI(agi://192.168.1.128:9001,${EXTEN},"HENRY")

?

[CallBack]

exten => s,1,Answer()

exten => s,2,Set(TRY=0)

exten => s,3,set(CALLPHONE=)

exten => s,4,Background(InputCalled)

exten => s,5,Set(TRY=$[${TRY}+1])

exten => s,6,GotoIf($[${TRY}<3]?8)

exten => s,7,Goto(smark,cberror,1)

exten => s,8,Noop()

exten => s,9,WaitExten(10)

exten => s,10,Goto(3)

exten => #,1,Goto(smark,${CALLPHONE},1)

exten => *,1,Goto(s,3)

exten => i,1,Set(CALLPHONE=${CALLPHONE}${INVALID_EXTEN})

exten => i,2,NoOp(${CALLPHONE})

exten => i,3,Goto(s,8)

exten => h,1,Goto(smark,cberror,1)

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的发布一个C#实现的Asterisk的管理系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。