asterisk sip配置說明

1.       介紹數據庫

extensions.conf中使用sip設備的語法是SIP/devicename,devicename名在下一節中說明。緩存

若是用戶在Internet上,可使用SIP/username@domain形式,同時不要忘記打開DNS SRV功能。服務器

若是定義了一個SIP代理,可使用SIP/proxyhostname/user或者SIP/user@proxyhostname形式,proxyhostname的定義在下面的章節說明。併發

2.        在CLI中的查詢命令dom

u      sip show peers                    顯示全部的SIP peers(包括friends)ide

u      sip show users                    顯示全部的SIP users(包括friends)編碼

u      sip show registry          顯示註冊到的主機狀態spa

u      sip debug                     顯示全部的Sip信息.net

u      module reload chan_sip.so  從新裝載sip的配置文件debug

 

3.         設備命名

命名一個設備以前,要先理解Asterisk是怎麼處理呼入電話的:

1)        Asterisk取出SIP From: address中的username,使用它來匹配系統中定義的type=user的的設備名。

2)        Asterisk檢查INVITE請求中的IP地址和端口號,使用它來匹配系統中定義的type=peer的設備。

不要混淆extensions和設備名的概念。設備須要一個惟一的名字。設備名不能用於電話號碼。電話號碼是撥號計劃中的聲明的一個extension。

注意:參數username並非用戶名的意思,在大多數狀況下,它根本不是必須的。在後邊,咱們把它重命名作defaultuser,由於他與defaultip合併使用。

4.       通用屬性說明

[general]                      ;通用屬性

 

 

 

context=default            ;呼入電話默認使用的context

allowguest=no               ; 容許或拒絕客戶呼叫 (默認 yes)

allowoverlap=no            ; 容許重疊撥號(默認yes)

allowtransfer=no           ; 容許呼叫轉接(默認yes)

                              

realm=mydomain.tld           ; 認證的領域。默認是asterisk,若是在asterisk.conf中設置了系統名稱,

;該值就會默認成系統的名稱,Realms設置必須全局惟一。通常能夠設置

;爲主機名或域名。

bindport=5060            ;asterisk監聽的本地端口號。(SIP標準端口號5060) bindaddr=0.0.0.0          ;綁定的IP地址 (0.0.0.0全部地址)

srvlookup=yes            ; 打開外呼的DNS SRV查找。注意,asterisk僅使用SRV記錄中的第一

;個主機。該功能能夠在撥號計劃中使用SIP/username@domain形式經過

;域名撥打Internet上的SIp電話。

                                

                               

pedantic=yes               ; 打開頭信息中tags值檢測,URIs和多行格式化頭信息中國際字符轉換等

;嚴格的SIP兼容性問題。(默認是no)

 

下面是關於TOS參數,能夠參考doc/ip-tos.txt

tos_sip=cs3              ; Sets TOS for SIP packets.

tos_audio=ef             ; Sets TOS for RTP audio packets.

tos_video=af41           ; Sets TOS for RTP video packets.

 

 

maxexpiry=3600          ; 註冊和訂閱的最大間隔-秒

minexpiry=60             ; 註冊和訂閱的最大間隔-秒(默認 60)

defaultexpiry=120         ; 默認註冊間隔的時長

t1min=100               ; 消息到達錄音服務器的最小折返時間,默認100 ms

notifymimetype=text/plain   ; 修改在通知中消息MWI NOTIFY 的mime類型

checkmwi=10             ; peer檢測語音郵箱的時間間隔

buggymwi=no             ; Cisco SIP防火牆不徹底支持MWI RFC。打開該選項時,向電話發送MWI時,也不會收到錯誤信息。

                              

vmexten=voicemail         ; 語音郵箱在撥號計劃中的extension。用來設置MWI通知消息中的

;Message-Account信息,默認是asterisk。

disallow=all               ; 先屏蔽掉全部的編碼

allow=ulaw                ; 打開容許的編碼,按順序引用

allow=ilbc                 ; 更多的選項,看文檔 doc/rtp-packetization

 

下面參數設置了呼叫等待音樂的默認項,若是沒有在撥號計劃中使用Set(CHANNEL(musicclass)=whatever) 指定通道的呼叫等待音樂首選項,將會使用該值。這個選項可使指定爲全局的,也能夠對單個user或peer設置。

mohinterpret=default

 

呼叫等到時,建議通道播放的等待音樂。這個選項可使指定爲全局的,也能夠對單個user或peer設置。

mohsuggest=default

 

language=en                ; 設置全部users/peers的語言,也能夠對單個users/peers設置。

relaxdtmf=yes            ; 寬鬆dtmf處理

trustrpid = no             ; 是否信任遠端ID(Remote-Party-ID)

sendrpid = yes            ; 是否發送遠端ID(Remote-Party-ID)

progressinband=never      ; 是否產生呼入鈴音。Never表示歷來不適用呼入信號。可選值:yes, no, never。默認值never。

useragent=Asterisk PBX    ; 修改user agent 字符串

promiscredir = no          ; 若是設置爲yes, 容許302 或 REDIR非本地SIP地址。注意,對本地

                        ;系統作重定向操做會致使循環調用,asterisk並不支持這種操做。

usereqphone = no          ; 若是設置爲 yes, 會在uri 中增長";user=phone",使uri中包含一個合法

;的電話號碼。

dtmfmode = rfc2833       ; 設置發送DTMF模式。默認:rfc2833

                            ;其餘選項:

                            ; info : SIP INFO messages

                        ; inband :按鍵的設備產生撥號音 (須要64 kbit 編碼 -alaw, ulaw)

                        ; auto : 默認使用rfc2833,若是遠端不支持時會使用inband

                       

 

compactheaders = yes        ; 發送壓縮的SIP頭.

 

videosupport=yes          ;打開視頻支持。

maxcallbitrate=384        ; 視頻呼叫的最大速率 (默認 384 kb/s)

callevents=no             ; sip ua執行事件時產生管理事件

alwaysauthreject = yes      ; 一個INVITE 或 REGISTER請求因爲任何緣由被拒絕時,總會使用同一

;個緣由,用戶名合法但密碼不正確。而不會告訴請求者是否有這個

;user或peer。這樣會減小攻擊者掃描SIP帳戶的可能性。

 

g726nonstandard = yes       ; 是否使用G726-32 協商,使用AAL2包次序來替代RFC3551(須要

;Sipura 和 Grandstream ATAs)的次序。AAL2與RFC3551的規則相反,

;會使用AAL2-G726-32協商。

 

matchexterniplocally = yes  ; 若是本地設置與外部設置相同,僅替代externip 或 externhost.

 

dynamic_exclude_static = yes   ; 不容許動態主機使用靜態主機的IP地址註冊。這將避免使用相同

;IP註冊的錯誤。

 

contactdeny=0.0.0.0/0.0.0.0     ; 拒絕全部主機的聯絡

contactpermit=172.16.0.0/255.255.0.0  ; 只能有一部分IPs能夠註冊到該服務器

 

 

若是設置了regcontext,將會爲一個是有us註冊和反註冊而且有regexten=配置項目的用戶動態建立和銷燬一個NoOp priority1extension。可使用&指定多個context。若是沒有指定'regexten' ,將會使用註冊peer的 regexten或名字。若是指定了多個context,則必須在regexten中使用@來指定。在regexten中也可使用'&'來指定 多個。Regexten中也可使用模式匹配。

regcontext=sipregistrations

 

5.        RTP定時器

這些是當前音頻和視頻流使用的定時器。RTP超時僅僅應用於音頻通道。該屬性能夠全局設置,也能夠對每個設備設置。

 

rtptimeout=60                     ;若是60秒以內音頻通道沒有RTP或RTCP活動,將掛斷電話。

                        ;主要使用在通話中對方掉電或是老人忘記掛電話的狀況。         ;

rtpholdtimeout=300        ; 若是300秒以內音頻通道沒有RTP或RTCP活動,將掛斷電話。

                        ; 主要使用在我方等待時間過長的狀況

rtpkeepalive=<secs>          ;在RTP流中發送保活信息,保持NAT開放。默認是關閉(0)

 

6.       SIP調試信息

sipdebug = yes            ;打開SIP調試信息

recordhistory=yes         ; 默認記錄SIP歷史

dumphistory=yes          ; 在對話結尾丟且SIP歷史,被寫到DEBUG日誌

 

7.        狀態通知STATUS NOTIFICATIONS (SUBSCRIPTIONS)

 

可使用"hint" priority來訂閱extensions的狀態 (見extensions.conf.sample) 。

chan_sip支持兩種通知的格式:dialog-info 和 SIMPLE 。

若是你爲一個設備設置了呼叫限制,就能夠獲得更多的細節報告(好比busy)。當呼叫限制時,會被告知忙。爲了可以轉接,你至少須要設置限制級別爲2。

對於隊列,你須要狀態報告達到這個細節的界別。無論怎麼樣,若是你使用Sip訂閱,隊列和管理會爲讀狀態信息使用相同的內部接口。

注意,若是設置了一個realtime的撥號計劃,而且使用了realtime switch,訂閱不會工做。

 

allowsubscribe=no              ;不支持訂閱 (默認yes)

subscribecontext = default  ;爲訂閱請求設置context。用來限制訂閱到本地extensions。

;能夠對每一個peer/user進行設置。

notifyringing = yes        ;當發起其餘呼叫時,INUSE狀態的訂閱者是否會發送RINGING (默認no)

notifyhold = yes         ;處於HOLD 狀態時,通知訂閱者。(默認no)

                            ;若是在使用realtime時,打開了notifyringing 和 notifyhold,將會增長很

                            ;多的數據庫的傳輸。

limitonpeers = yes         ;僅對peers進行呼叫限制。

 

8.       傳真T.38

該項目既能夠在[general]中設置, 也能夠對每一個設備進行配置。設置爲yes,表示容許在SIP到Sip的模式下傳輸傳真,傳輸的兩端都必須配置爲支持T38。T.38 僅工做在SIP到SIP 呼叫中。

 

 t38pt_udptl = yes             ; 默認false

9.       外呼SIP註冊

 

Asterisk能夠把本身做爲一個SIP ua註冊到一臺SIP代理上。註冊格式以下:

register => user[:secret[:authuser]]@host[:port][/extension]

 

 

 

若是沒有指定extension,將使用's' extension。該extension必須在extensions.conf中定義,以便於能夠從SIP代理上接收呼叫。

Host便可以是DNS中定義的一個主機名,也能夠是在下面定義的一個section名,如serverA,見本文最後部分。

 

例子:

register => serverB:1111@10.0.2.252/serverA

register => 1234:password@mysipprovider.com         ;將把呼叫傳遞給's' extension      

 

register => 2345:password@sip_proxy/1234

 

在代理10.0.2.252上註冊serverB。若是你在下面定義了一個section叫作serverA,則呼叫會轉到serverA中定義的 context中。不然呼叫將會從這個代理上連接到本地extension serverA (定義在extensions.conf中), 使用默認的context。

u       技巧1:儘可能避免在sip.conf中設置主機名做爲section,如[provider.com]

u       技巧2:若是有雙向呼叫時,在代理中分開定義type=peer 和 type=user,避免使用type=friend

 

registertimeout=20              ; 註冊間隔20秒(默認)

registerattempts=10            ; 註冊嘗試次數,

; 0 一直嘗試,直到接受了註冊。默認值0

10.  NAT支持

若是Asterisk在一個NAT設備內部與外部的一個服務通信,須要設置externip, externhost 和 localnet。

 

externip = 200.201.202.203      ; 在公網上的一箇中間人地址,處理SIP消息。當註冊和與一個代理通信

;時,須要設置externip和localnet

 

                             

externhost=foo.dyndns.net         ; 也能夠配置一個域名,Asterisk 將會執行DNS查詢。不推薦這

;種方式,儘可能使用IP,配置externip。

externrefresh=10                ;更新externhost的時間間隔。

 

能夠有多個本地配,設置一個合理的就能夠。(RFC 1918--私有地址分配 )                             

localnet=192.168.0.0/255.255.0.0   ; All RFC 1918 addresses are local networks

localnet=10.0.0.0/255.0.0.0         ; Also RFC1918

localnet=172.16.0.0/12                 ; Another RFC1918 with CIDR notation

localnet=169.254.0.0/255.255.0.0 ;Zero conf local network

 

 

nat=設置用於Asterisk在一個公網地址上,須要和一個NAT設備後的設置通信。若是出現音頻問題,通常是NAT配置或防火牆屏蔽了SIP+RTP端口。RTP端口配置在rtp.conf中。

 

nat=no                        ; 全局NAT 配置,(影響全部的peers和users),取下列值:

; yes 老是忽略信息,假定使用NAT

; no 基於RFC3581使用NAT模式(;rport)

; never 從不嘗試使用NAT模式或RFC3581支持

; route假定使用NAT,不發送rport

                             

11.  媒體流處理

 

默認狀況下,Asterisk會盡可能使音頻流走最優的路徑(re-invite)。若是沒有特別設置媒體流須要經過服務器的話,Asterisk會 把媒體流重定向。當Asterisk在NAT外部,客戶端在NAT內部時,上述功能不能工做,這時必須配置canreinvite=nonat。

 

canreinvite=yes            ; 默認狀況下,RTP媒體流會不通過服務器,在呼叫兩端直接傳遞。

; 一些設備不支持這種方式(特別是一端在NAT內)。默認設置yes。

; 若是全部的客戶端都在NAT內,或其餘緣由想讓媒體流經過服務器,

;須要關閉該選擇。

 

directrtpsetup=yes              ; 打開新的實驗性的直接RTP創建,創建一個呼叫,媒體流直接

; peer-to-peer 傳遞,而不是使用re-invites 方式。視頻不支持該方式。

; 被叫方發送RTP載荷和收到200OK響應的fmtp頭信息不能與主叫的

; INVITE請求匹配。

; 若是NAT後邊的設備設置了canreinvite=yes,傳輸也會失敗。

                      

 

canreinvite=nonat         ; 容許媒體路徑重定向的另外一個選項,告訴發送媒體流的peer不在

                            ;  NAT裏邊, (RTP核心能夠決定使用收到媒體的from地址).

 

;canreinvite=update             ; 容許媒體路徑重定向的第三個選項, UPDATE替代INVITE,能夠和'nonat'

                            ; 合併成'canreinvite=update,nonat'. 至關於 'yes'.

 

12.  REALTIME支持

關於ARA(Asterisk Realtime Architecture)結構的更多信息,能夠看源代碼中/doc 目錄下的realtime.txt和extconfig.txt文件。

 

rtcachefriends=yes              ; 經過把realtime friends加入到一個內部列表中來緩存friends。

                            ;就好像是把friends從配置文件中加載同樣。(yes|no)

 

rtsavesysname=yes             ; 註冊時保存systemname到realtime數據庫,默認no

                       

rtupdate=yes               ; 註冊時更新數據庫(yes|no)

; 若是設置爲yes,當SIP UA 註冊成功時,IP、原始端口、註冊期間和用

; 戶名會被更新到realtime數據庫。默認是yes。

; 若是設置爲no,realtime功能可能會執行錯誤。

                             

rtautoclear=yes            ; 自動失效已經建立的friends (yes|no|<seconds>)。

; 若是設置爲yes,當註冊預期時,friend將從註冊信息中清除。

; 若是設置爲一個整數,friends 會在這個秒數內過時,而不是在註冊時間

; 間隔內過時。

                              

 

ignoreregexpire=yes            ; 打開這個設置有兩個功能:

; 對於非realtime peers,註冊過時時,註冊信息也不會從內存或asterisk數

; 據庫移除。若是有電話呼叫這個peer時,該註冊信息會一直可使用,

; 無論這個peer是否已通過期。

; 對於realtime peers, 不管是否過時,從數據庫獲得的註冊信息仍然能夠

; 使用。若是過時,realtime peer信息仍然在內存(因爲緩存或其餘緣由),

; 該信息不會從realtime數據庫移除。

13.  SIP域名支持

 

收到的INVITE 和 REFER 消息能夠和一系列的被容許的域名匹配。每個域名可以直接呼入他們描述的特定context.。默認狀況下, 全部的域都會接收呼叫,併發送呼叫到指定的context或者user/peer指定的Context。若是配置了域列表,REGISTER請求的域不在 其中,呼叫將會被拒絕。

 

使用以下方式使用域:

 domain=<domain>[,<context>]

例如:

domain=myasterisk.dom

domain=customer.com,customer-context

 

另外,若是須要過濾呼入請求時,應該增長一個服務器的默認域設置。

 autodomain=yes

 

 

allowexternaldomains=no           ;不容許請求非本地域

 

domain=mydomain.tld,mydomain-incoming

; 爲一個呼入呼叫配置域和context

domain=1.2.3.4                  ; 使用IP地址做爲本地域,能夠同時又幾個域設置。

allowexternaldomains=no           ; 不容許INVITE和REFER請求非本地域,默認yes。

                            

autodomain=yes                 ; 自動把本地主機名和IP地址加入域名列表。

 

fromdomain=mydomain.tld         ; 當進行外呼SIP INVITEs 到一個非peers時,使用主域而不是IP

                                   ; 地址來識別From: headers頭信息。這是一個禮貌的用法,它可

                                   ; 能對一些在你的服務器上沒有優先帳號的目的地址是必須的。

 

14.  抖動緩存(jitterbuffer)配置

 

jbenable = yes                           ; 打開SIP通道接收端的抖動緩衝。默認no。在接收端不能接收

                                   ; 抖動的狀況下,可使用抖動緩存來接收抖動。

 

jbforce = no                       ; 強迫在SIP通道的接收端使用抖動緩存,默認no。

 

jbmaxsize = 200                 ; 抖動緩存大小(毫秒)

 

jbresyncthreshold = 1000          ; 跳過抖動緩存的幀的時間長度,再同步緩存的幀。能夠用來提升

                                   ; 語音的質量。外部設備和程序常常會形成大的跳動或中斷。默認

                                   ; 設置爲1000。

 

jbimpl = fixed                            ; SIP通道接收端抖動緩存的實現,當前有兩種形式:

                                   ; fixed 緩存大小等於jbmaxsize,大小固定。

                                   ; adaptive 可變大小,實際上用於IAX2的一個新的抖動緩存。

                                   ; 默認是fixed。

 

jblog = no                           ; 對抖動緩存幀記錄日誌,默認是no。

;-----------------------------------------------------------------------------------

15.  認證

[authentication]

外呼的全局證書。當一個代理挑戰認證您的asterisk服務器,若是挑戰經過,這些證書將覆蓋peer/register中定義的證書。另外,asterisk也可使用其餘的挑戰碼對外呼進行認證。咱們挑戰代理上的認證碼,從認證碼列表中選擇一組證書。

 

語法:

;        auth = <user>:<secret>@<realm>

;        auth = <user>#<md5secret>@<realm>

例子:

;         auth=mark:topsecret@digium.com

 

也能夠增長認證配置到peer的定義中。該配置將覆蓋其餘的認證設置。

 

16.  User peer friend

 

Users和peers有不一樣的設置,Friends有Users和peers的全部功能。

 

; User 配置選項:        Peer 配置:

; --------------------        -------------------

Context                context

Callingpres                  callingpres

Permit                         permit

Deny                           deny

Secret                         secret

md5secret                   md5secret

dtmfmode                    dtmfmode

canreinvite                   canreinvite

nat                        nat

callgroup                     callgroup

pickupgroup                pickupgroup

language               language

allow                           allow

disallow                disallow

insecure                insecure

trustrpid                trustrpid

progressinband            progressinband

promiscredir                promiscredir

useclientcode               useclientcode

accountcode                accountcode

setvar                          setvar

callerid                 callerid

amaflags               amaflags

call-limit                call-limit

allowoverlap                allowoverlap

allowsubscribe             allowsubscribe

allowtransfer                allowtransfer

subscribecontext          subscribecontext

videosupport               videosupport

maxcallbitrate                     maxcallbitrate

rfc2833compensate            mailbox

t38pt_usertpsource             username

template

fromdomain

regexten

fromuser

host

port

qualify

defaultip

rtptimeout

rtpholdtimeout

sendrpid

outboundproxy

rfc2833compensate

t38pt_usertpsource

contactpermit         ; 限制主機註冊地點。

Contactdeny           ; 一個小竅門,做爲一個SIP提供者在相同的IP地

                                                 ; 址註冊,呼叫本身,會被重定向到同一位置。

 

在Asterisk中對某個peer的類型分爲3種:peer, user和friend,在asterisk中是這樣解釋的:

 

type=peer定義對方是一個服務提供者, 它容許你的Asterisk經過這裏定義的服務商打電話;

而user則定義對方是你的一個客戶端, 容許對方經過你的Asterisk打電話.

friend就是二者兼有。


但type的真正意義在於Asterisk怎麼去處理髮往外部和來自外部的請求.

若是type是peer,有兩層含義.

n         能夠將對方做爲一個SIP Service Provider, 容許你的Asterisk經過對方進行呼出.

n         若是對方在邏輯上是一個客戶端, asterisk將根據傳入的Invite請求來對對方進行身份驗證, 但須要注意的是這裏的驗證不是經過username和secret, 而是經過對方的address和port. 這裏分兩種狀況:

u       對方的address和port沒有匹配到你在sip.conf中對任何一個peer的設置, 若是你的Asterisk容許匿名 呼入(allowguest=yes), 那麼, 該呼入將被傳到在sip.conf的general配置中的context上. 若是不容許匿名呼 入, 直接拒絕該呼入.

u       對方的address和port匹配到了任何一個sip.conf種的peer設置, 那麼改呼入將被傳到該peer指定的context上

Asterisk還提供了一個insecure參數來配置對peer呼入的身份驗證方式.

insecure=port|invite

n         port: Asterisk忽略對方的port, 只根據對方的address來驗證某個peer, Asterisk收到對方的Invite後, 會發送SIP/2.0 401 Unauthorized到對方, 要求對方發送認證信息, 但事實上對方返回回來的認證信息不會被真正使用.

n         invite: Asterisk對初始Invite不進行驗證. 這意味着Asterisk直接使用客戶端傳入的Invite包中的信息嘗試進行驗證而不會發送SIP/2.0 401 Unauthorized包到對方

type=user

根據來源Invite包中的用戶和密碼信息來認證,因此對方不能也不須要Register到你的Asterisk服務器上.

須要額外說明一點的是Register, 若是某個peer的host設置爲dynamic, 那麼Asterisk容許客戶端經過Register的方式來告訴Asterisk對方的地址和端口.

特別注意:經網友證明,以上細節僅限於SIP協議,對於IAX協議,在IAX裏那個from驗證IP是沒有用的,形同虛設,必需使用上面的兩行代碼 驗證對方的IP才行,要沒有這兩行,任何的asterisk只要知道你的服務器的IP均可以經過你的asterisk進行呼出,若是須要杜絕這個隱患,需 要修改/etc/asterisk/manager.conf文件,增長相似下面的例句:

deny=0.0.0.0/0.0.0.0

permit=122.227.22.22/255.255.255.0

 

17.  SIP代理例子

;[sip_proxy]

僅用於呼入。使用代理的IP地址來匹配呼入,由於咱們不能使用username (caller id)匹配。

type=peer

context=from-fwd

host=fwd.pulver.com

 

;[sip_proxy-out]

type=peer                                  ; 僅想作外呼

secret=guessit                                  

username=yourusername                   ; 外呼代理的認證用戶

fromuser=yourusername                    ; 一些SIP 提供端(代理)須要該配置

fromdomain=provider.sip.domain       

host=box.provider.com

usereqphone=yes                       ; 這個代理的URI中須要;user=phone

call-limit=5                                ; 容許同時5個外呼到這個peer,因爲realtime的peer不存

                                          ; 儲在內存中,因此realtime時不能強制使用Call-limits

outboundproxy=proxy.provider.domain    ; 發送外呼信號到這個代理,而不是直接到peer

port=80                              ; 須要鏈接到的遠程的端口號,也可使用defaultip 配

                                          ; 置中的defaultport

 

 

18.  SIP設備本地鏈接的定義

type = user           ; a device that authenticates to us by "from" field to place calls

; 一個設備,使用from字段認證到服務器,發起呼叫。

type = peer           ; a device we place calls to or that calls us and we match by host

                     ; 服務器呼該該設備,或者設備呼叫服務器而且服務器使用host字段來匹配

type = friend         ; two configurations (peer+user) in one

; 上面兩個配置的和(peer+user)

設備名咱們推薦使用字母(a-z), 數字 (0-9) 和下劃線

 

本地呼叫,最常使用的是type=friend

 

若是你的電話只能單向聽到聲音,應該是NAT 配置的問題。若是asterisk在公網上,客戶端在一個NAT設備內部,你必須配置nat,同時打開qualify=yes屬性,保持nat鏈接處於開放狀態。

 

19.  配置實例

;[grandstream1]

type=friend                        

context=from-sip                ; 呼叫進入撥號計劃的位置

callerid=John Doe <1234>        ; 全caller ID,來修改呼入電話的callerid信息

host=192.168.0.23                    ; 有一個靜態私有IP地址。容許非註冊時使用。                            

nat=no                                ; 表示服務器和客戶端之間沒有NAT設備

canreinvite=yes                   ; 容許RTP數據流不通過服務器

dtmfmode=info                   ; either RFC2833 or INFO for the BudgeTone

call-limit=1                         ; 同一時刻在服務器和客戶端之間只容許一個呼入和一個呼出

                                   ; 至關因而一個peer和一個user,加起來是一個friend。這也會影

; 響到訂閱。因爲沒有friend的聯合的呼叫計數器,因此當前沒有

; 辦法在sip.conf中限制每一個客戶端的內呼或外呼的數量。能夠在

; 撥號計劃中用組計數器來達到這個目的。

                             

mailbox=1234@default             ; 語音信箱1234,context "default"

disallow=all                        ; 先要屏蔽掉全部的

allow=ulaw                         ; 再按使用順序打開容許的

allow=alaw

allow=g723.1                   ; Asterisk僅支持g723.1直通寄存器( pass-thru)

allow=g729                     ; 若是沒有得到g729 許可,僅支持直通寄存器( pass-thru)

callingpres=allowed_passed_screen  ; 設置顯示caller ID,更多信息參考doc/callingpres.txt

                              

 

;[xlite1]

關閉X-Lite的安靜壓縮 ("Transmit Silence"=YES)!

注意,Xlite 發送NAT保活數據包,所以qualify=yes不是必須的。

type=friend

regexten=1234                  ; 當他們註冊時,建立extension 1234

callerid="Jane Smith" <5678>

host=dynamic                   ; 這個設備必須註冊才能使用

nat=yes                        ; X-Lite在一個NAT路由器後邊

canreinvite=no                  ; 若是使用了NAT,該項須設爲NO,使媒體流通過服務器

disallow=all

allow=gsm                     ; GSM比ulaw消耗帶寬小

allow=ulaw

allow=alaw

mailbox=1234@default ,1233@default  ; 訂閱多個郵箱

 

 

;[snom]

type=friend                         ; 接收和發起呼叫

context=from-sip              

secret=blah

subscribecontext=localextensions      ; 僅容許訂閱本地localextensions

language=de                       ; 該用戶使用德語提示

host=dynamic                            ; 必須註冊到服務器

dtmfmode=inband               ; 可選inband, rfc2833, 或 info

defaultip=192.168.0.59             ; 在peer註冊以前使用的IP

mailbox=1234@context ,2345   ; 語音郵箱

subscribemwi=yes                     ; 電話點閱了郵件通知時,發送通知

vmexten=voicemail                    ; 語音郵箱在撥號計劃中的extension,設置MWI通知消息中的

                                   ; Message-Account,默認是vmexten,vmexten默認爲"asterisk"

disallow=all

allow=ulaw                     ; dtmfmode=inband 僅支持ulaw 或 alaw

 

;[polycom]

type=friend                         ; 能夠呼出和接聽電話

context=from-sip                ; 呼入電話進入的Context

secret=blahpoly

host=dynamic                            ; 該用戶須要註冊

dtmfmode=rfc2833                    ; 能夠選擇 inband, rfc2833, or info

username=polly                  ; 用戶註冊前使用的,該參數不是必須的                            

disallow=all

allow=ulaw                         ; dtmfmode=inband僅支持ulaw 或 alaw

progressinband=no                    ; 寶利通(Polycom)電話在"never"時不能很好的工做

 

 

;[pingtel]

type=friend

secret=blah

host=dynamic

insecure=port                            ; 容許peer值匹配IP,不用匹配端口

insecure=invite                    ; INVITEs 呼入請求不須要認證

insecure=port,invite                    ;

qualify=1000                      ; 若是一秒鐘後答覆,認爲已經關閉

; 用於NAT鏈接的保活,qualify=yes使用默認值.

                       

呼叫組和接聽組範圍應該在0 到 63

 

callgroup=1,3-4                  ; 呼叫組1,3,4

pickupgroup=1,3-5                   ; 接聽組1,3,4,5

defaultip=192.168.0.60             ; 若是peer沒有註冊,默認使用的IP

deny=0.0.0.0/0.0.0.0                 ; 拒絕全部的ip的訪問

permit=192.168.0.60/255.255.255.0      ;

 

;[cisco1]

type=friend

secret=blah

qualify=200                    ; 保活間隔200ms

nat=yes                        ; 電話可能在一個NAT設備後邊,發送SIP和RTP包到收到包

                                   ; 的原IP地址,而不是信任的SIP頭中的地址。                            

host=dynamic                   ; 該設備必須註冊

canreinvite=no                 ; Asterisk默認是重定向媒體流,使之直接在電話兩端傳遞。但若是

                                   ; 設備在NAT設備後邊時,會不支持直接傳遞。因此此時須要設

                                   ; 置該項爲no。

defaultip=192.168.0.4        ; 註冊前使用的IP地址

username=goran                 ; 該設備註冊前呼叫服務器使用的Username,正常狀況下,沒必要設

                                   ; 置這個參數.

setvar=CUSTID=5678              ; 爲通過這個設備的全部呼叫設置通道變量。

 

;[pre14-asterisk]

type=friend

secret=digium

host=dynamic

rfc2833compensate=yes            ; 是補償兩個asterisk服務器之間DTMF 傳輸。必須打開這個選

                                   ; 項,不然DTMF接收將不會正常工做。

t38pt_usertpsource=yes             ; 若是nat開啓時,使用RTP 包的原IP地址做爲UDPTL 包的目

                                   ; 的地址。若是接收到一個簡單的RTP包,Asterisk 將會知道遠端

                                   ; 設備的公網IP地址。若是客戶端設置了端口映射,UDPTL 會發

                                   ; 送到遠端設備。

 

[serverA]

type=friend

secret=1111

context=serverA_incoming

host=dynamic

disallow=all

allow=ulaw

 

[sip](!)

nat = yes

allow = g729

type = friend

host = dynamic

canreinvite = no

context = from-pstn

 

[6001](sip)

username = 6001

secret = 6001

context=phones

相關文章
相關標籤/搜索