l 安裝完asterisk 配置sip.conf文件
[8001]
type=friend
username=8001
accountcode=8001
secret=8001
context=from-exten-sip
;followed advance settings
host=dynamic
nat=yes
qualify=2000
canreinvite=no
callgroup=0,
pickupgroup=0,
setvar=
call-limit=1
說明:(1)type:sip的類型。格式:type =user|peer|friend 。
peer用於認證呼出呼叫,如果想要一個用戶(extension)中有多個電話,定義可以呼叫兩個SIP peer 的extension。user用於認證呼入呼叫,用戶通過上下文鑒定到達服務器。friend用於認證呼入呼出,相當於(peer+user)。
(2)username :格式:username =<username[@realm]>。如果Asterisk接受來自遠程SIP的SIP INVITE請求的客戶端,這字段指定驗證的用戶名。
(3)accountcode:格式:accountcode =<string>。此字段,是用來填充“accountcode“領域的CDR(呼叫詳細記錄)。
(4)secret:用於認證的密碼。如果Asterisk是作為一個SIP代理服務器,那么這個SIP客戶端必須使用此密碼登錄(一個共享密碼)。如果Asterisk是一個SIP客戶端作為一個遠程SIP的SIP INVITE的服務器要求身份驗證,那么這個字段是用來驗證該Asterisk的SIP協議提請發送到遠程SIP服務器。
(5)context:格式:context = <context_name>定義了指令的地點,用於控制電話的權限,以及如何處理此號碼的呼入呼叫。如果類型為用戶,上下文定義呼入呼叫使用。如果類型為節點,上下文定義呼出呼叫使用。如果類型為friend通過SIP實體定義呼入和呼出所使用的上下文。
(6)host:格式:host =dynamic|hostname|IPAddr。host參數指定了用戶的主機名或SIP端點IP地址。配置host=dynamic將要求號碼注冊,可以讓Asterisk知道如何找到電話。
(7)nat:格式:nat =yes|no。這個變量改變了Asterisk的防火牆后面客戶端的行為。配置nat=yes,強迫Asterisk忽略號碼的聯系信息,使用收到的包的地址信息。
(8)qualify:格式:qualify =yes|no|milliseconds。檢查客戶端是否可到達,我們可以監視Asterisk服務器和電話之間的延時,使用qualify=yes,確認遠端設備是否可達。qualify=yes可以用於監視任何遠端設備,包括其它的Asterisk服務器。默認情況是Asterisk認為時延在2,000 ms (2 seconds)以內的設備可達。你可以配置Asterisk判斷對端是否可達的時間,通過將yes替換為毫秒。
(9)canreinvite:格式:canreinvite =update|yes|no|nonat。在SIP協議,邀請用於發起呼叫,重定向媒體。在初始邀請后相同對話中發起的任何邀請都被視作重邀請(reinvite)。配置canreinvite=no讓Asterisk媒體通道經過自己,而不允許RTP信息直接在端點之間傳送。Asterisk在以下的任何情況下都不會發起重邀請:如果客戶端的任何一方配置為canreinvite=no;如果客戶端不能協商編碼,Asterisk需要執行語音編碼轉換;如果客戶端的任何一方配置為nat=yes;如果Asterisk在呼叫中需要監聽雙音多頻(DTMF)音(用於呼叫前轉或者其他功能)。配置canreinvite=yes“允許RTP媒體直接” 。canreinvite = nonat“允許reinvite當本地,否認reinvite當NAT” 。配置canreinvite=update“使用UPDATE,而不是邀請” 。配置canreinvite = nonat“更新時使用的地方,否認當NAT” 。
(10)callgroup:格式:callgroup =num1,num2-num3。定義了此分機的電話組。
(11)pickupgroup:同組可以接電話,按*8應用。
(12)setvar:格式:setvar = variable=value。通道變量被設置為從該節點/用戶的所有通話
(13)call-limit :格式call-limit = number 。同時呼叫的數量
2. 此外除了自動生成的配置還有其他的配置
(1)allow:格式:allow =<codec>。按優先級的順序允許編解碼器。
(2)disallow :格式:disallow =all。不允許這個peer或用戶定義的所有編解碼器。
(3)allowguest :格式:allowguest = yes|no 。拒絕或允許來電。
(4)amaflags:分類的CDR記錄。選擇是默認情況下,省略,計費,文件。
(5)astdb:向Asterisk 的數據庫里插入值。
(6)auth :格式:auth =<authname>。
(7)callerid :格式:callerid = <string>。當沒有可用信息時使用call ID信息
(8)busylevel:格式:busylevel= number。同時通話的數量,直到用戶/同行正忙
(9)callingpres:格式:callingpres =number|descriptive_text。設置電話的來電顯示,有效描述的值是allowed_not_screened, allowed_passed_screen, allowed_failed_screen,allowed,prohib_not_screened,prohib_passed_screen, prohib_failed_screen, prohib, and unavailable.
(10)?cid_number :格式:cid_number = <string>。設置對外顯示的字符串
(11)defaultip:格式defaultip =Dotted.Quad.IP.Addr。默認的IP地址,如果客戶端指定host=dynamic。如果客戶端沒有使用任何其他的IP地址注冊使用此項。只適用於type=peer
(12)directrtpsetup:格式directrtpsetup =yes|no。類似canreinvite,可以馬上把媒體傳遞給像SIP代理器的另一方。
(13)dtmfmode:格式:dtmfmode =inband|info|rfc2833。客戶如何對DTMF信令處理。默認rfc2833。配置dtmfmode = rfc2833,允許在呼叫中監聽雙音多頻(DTMF)音(用於呼叫前轉或者其他功能)
(14)fromuser :格式:fromuser =<from_ID>。指定用戶輸入“from”來代替$CALLERID(number)。
(15)???fromdomain:格式:fromdomain = <domain>。
(16)fullcontac:格式:fullcontact = <sip:uri_contact>。 SIP URI的聯系,實時同行。只適用於實時同行
(17)fullname :格式:fullname = "FullName"。設置對外來電顯示(姓名)。
(18)incominglimitand outgoinglimit:格式:incominglimitand outgoinglimit = Number。限制同時呼叫SIP客戶端的數量,僅僅適用於type=peer。
(19)insecure: very|yes|no|invite|port 。指定如何處理與peers的連接。
(20)language:這對於一個在Asterisk SIP帳戶配置選項指定語言設置為這個客戶端使用。通過使用此設置,您可能會得到本地化的聲音在為不同的用戶不同的語言提示。
(21)mailbox:格式 mailbox =mailbox。語音信箱。
(22)musicclass:在musiconhold.conf指定的類
(23)musiconhold:保持音樂。
(24)subscribemwi:指示Asterisk 在等待信息的時候不要發送NOITFY信息。確定Asterisk如何通知SIP客戶端關於語音信箱的信息
(25) permit, deny , mask格式:permit=<ipaddress>/<network mask> deny=<ipaddress>/<network mask>
IP地址和網絡限制。允許或限制到達某些特定的網絡。
(26)port:SIP端口的客戶端
(27)progressinband:格式:progressinband =never|no|yes。
(28)promiscredir :格式:promiscredir = yes|no。是否允許支持302重定向。
(29)regseconds :格式:regseconds = seconds。SIP注冊的秒數。
(30)sendrpid:格式:sendrpid =yes|no。確定是否發送Remote-Party-IDSIP header
(31)subscribecontext:格式:subscribecontext =<context_name>。為SIP SUBSCRIBE設置特殊的context
(32) trunkname:為中繼定義一個名字
(33)trustrpid:格式:trustrpid =yes|no。設置Remote-Party-IDSIP header是否被信任。
(34)vmexten :格式vmexten = <string>撥號規則擴展到郵箱