当前位置:首页 >> 信息与通信 >>

sip.conf


1. 介绍
extensions.conf 中使用 sip 设备的语法是 SIP/devicename,devicename 名在下一节 中说明。 如果用户在 Internet 上,可以使用 SIP/username@domain 形式,同时不要忘记打开 DNS SRV 功能。 如果定义了一个 SIP 代理,可以使用 SIP/proxyhostname/user 或者

SIP/user@proxyhostname 形式,proxyhostname 的定义在下面的章节说明。

2.

在 CLI 中的查询命令:
sip show peers sip show users sip show registry sip debug
显示所有的 SIP peers(包括 friends)

显示所有的 SIP users(包括 friends) 显示注册到的主机状态

显示所有的 Sip 信息 重新装载 sip 的配置文件

module reload chan_sip.so

3.

设备命名
命名一个设备之前,要先理解 Asterisk 是怎么处理呼入电话的:

1)

Asterisk 取出 SIP From: address 中的 username,使用它来匹配系统中定义的

type=user 的的设备名。 2)
Asterisk 检查 INVITE 请求中的 IP 地址和端口号,使用它来匹配系统中定义的

type=peer 的设备。
不要混淆 extensions 和设备名的概念。设备需要一个唯一的名字。设备名不能用于电 话号码。电话号码是拨号计划中的声明的一个 extension。 注意:参数 username 并不是用户名的意思,在大多数情况下,它根本不是必须的。在后边, 我们把它重命名做 defaultuser,因为他与 defaultip 合并使用。

4. 通用属性说明
[general] ;通用属性

1

context=default
allowguest=no allowoverlap=no allowtransfer=no

;呼入电话默认使用的 context ; 允许或拒绝客户呼叫 (默认 yes) ; 允许重叠拨号(默认 yes) ; 允许呼叫转接(默认 yes)

realm=mydomain.tld
设置了系统名称,

; 认证的领域。 默认是 asterisk,如果在 asterisk.conf 中

;该值就会默认成系统的名称,Realms 设置必须全局唯一。 一般可以设置 ;为主机名或域名。

bindport=5060 bindaddr=0.0.0.0 srvlookup=yes
记录中的第一

;asterisk 监听的本地端口号。(SIP 标准端口号 5060) ; 绑定的 IP 地址 (0.0.0.0 所有地址) ; 打开外呼的 DNS SRV 查找。注意,asterisk 仅使用 SRV

;个主机。该功能可以在拨号计划中使用 SIP/username@domain 形式通过 ;域名拨打 Internet 上的 SIp 电话。

pedantic=yes
字符转换等

URIs 和多行格式化头信息中国际 ; 打开头信息中 tags 值检测,

;严格的 SIP 兼容性问题。(默认是 no)

下面是关于 TOS 参数,可以参考 doc/ip-tos.txt tos_sip=cs3 tos_audio=ef tos_video=af41 ; Sets TOS for SIP packets. ; Sets TOS for RTP audio packets. ; Sets TOS for RTP video packets.

2

maxexpiry=3600 minexpiry=60 defaultexpiry=120 t1min=100

; 注册和订阅的最大间隔-秒 ; 注册和订阅的最大间隔-秒(默认 60) ; 默认注册间隔的时长 ; 消息到达录音服务器的最小折返时间,默认 100 ms ; 修改在通知中消息 MWI NOTIFY 的 mime 类型

notifymimetype=text/plain checkmwi=10 buggymwi=no

; peer 检测语音邮箱的时间间隔 ; 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 处理
3

trustrpid = no sendrpid = yes progressinband=never

; 是否信任远端 ID(Remote-Party-ID) ; 是否发送远端 ID(Remote-Party-ID) ; 是否产生呼入铃音。Never 表示从来不适用呼入信号。

可选值:yes, no, never 。默认值 never。

useragent=Asterisk PBX promiscredir = no
址。注意,对本地

; 修改 user agent 字符串 ; 如果设置为 yes, 允许 302 或 REDIR 非本地 SIP 地

;系统做重定向操作会导致循环调用,asterisk 并不支持
这种操作。

usereqphone = no
uri 中包含一个合法

; 如果设置为 yes, 会在 uri 中增加";user=phone",使

;的电话号码。

dtmfmode = rfc2833
;其他选项:

; 设置发送 DTMF 模式。默认:rfc2833

; info : SIP INFO messages ; inband :按键的设备产生拨号音 (需要 64 kbit 编码 -alaw, ulaw) ; auto : 默认使用 rfc2833,如果远端不支持时会使用
inband

compactheaders = yes

; 发送压缩的 SIP 头.

videosupport=yes maxcallbitrate=384 callevents=no alwaysauthreject = yes
时,总会使用同一

;打开视频支持。 ; 视频呼叫的最大速率 (默认 384 kb/s) ; sip ua 执行事件时产生管理事件 ; 一个 INVITE 或 REGISTER 请求由于任何原因被拒绝

;个原因,用户名合法但密码不正确。而不会告诉请求者是 否有这个
4

;user 或 peer。这样会减少攻击者扫描 SIP 账户的可能性。

g726nonstandard = yes
RFC3551(需要

; 是否使用 G726-32 协商,使用 AAL2 包次序来替代

;Sipura 和 Grandstream ATAs)的次序。AAL2 与 RFC3551 的规则相反, ;会使用 AAL2-G726-32 协商。

matchexterniplocally = yes
externhost.

; 如果本地设置与外部设置相同, 仅替代 externip 或

dynamic_exclude_static = yes
这将避免使用相同

; 不允许动态主机使用静态主机的 IP 地址注册。

;IP 注册的错误。

contactdeny=0.0.0.0/0.0.0.0

; 拒绝所有主机的联络 ; 只能有一部分 IPs 可以注册到该服务

contactpermit=172.16.0.0/255.255.0.0


如果设置了 regcontext,将会为一个是有 us 注册和反注册并且有 regexten=配置项目的用户 动态创建和销毁一个 NoOp priority1extension。可以使用&指定多个 context。如果没有 指定'regexten' ,将会使用注册 peer 的 regexten 或名字。如果指定了多个 context,则 必须在 regexten 中使用@来指定。在 regexten 中也可以使用'&'来指定多个。Regexten 中 也可以使用模式匹配。

regcontext=sipregistrations

5.

RTP 定时器

5

这些是当前音频和视频流使用的定时器。RTP 超时仅仅应用于音频通道。该属性可以全局设 置,也可以对每一个设备设置。

rtptimeout=60

;如果 60 秒之内音频通道没有 RTP 或 RTCP 活动,将挂断电话。 ;主要使用在通话中对方掉电或是老人忘记挂电话的情

况。

; ; 如果 300 秒之内音频通道没有 RTP 或 RTCP 活动,将挂

rtpholdtimeout=300
断电话。

; 主要使用在我方等待时间过长的情况 rtpkeepalive=<secs> ;在 RTP 流中发送保活信息, 保持 NAT 开放。 默认是关闭(0)

6. SIP 调试信息
sipdebug = yes recordhistory=yes dumphistory=yes ;打开 SIP 调试信息 ; 默认记录 SIP 历史 ; 在对话结尾丢且 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) ;为订阅请求设置 context。用来限制订阅到本地

subscribecontext = default
extensions。

6

;可以对每个 peer/user 进行设置。

notifyringing = yes
RINGING (默认 no)

;当发起其他呼叫时,INUSE 状态的订阅者是否会发送

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
7

register => 1234:password@mysipprovider.com
extension

;将把呼叫传递给's'

register => 2345:password@sip_proxy/1234

在代理 10.0.2.252 上注册 serverB。如果你在下面定义了一个 section 叫做 serverA,则

呼叫会转到 serverA 中定义的 context 中。否则呼叫将会从这个代理上链接到本地
extension serverA (定义在 extensions.conf 中), 使用默认的 context。 技巧 1:尽量避免在 sip.conf 中设置主机名作为 section,如[provider.com] 技巧 2:如果有双向呼叫时,在代理中分开定义 type=peer 和 type=user,避 免使用 type=friend

registertimeout=20 registerattempts=10

; 注册间隔 20 秒(默认) ; 注册尝试次数, ; 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 的时间间隔。

8

可以有多个本地配,设置一个合理的就可以。(RFC 1918--私有地址分配 )

localnet=192.168.0.0/255.255.0.0 networks localnet=10.0.0.0/255.0.0.0 localnet=172.16.0.0/12

; All RFC 1918 addresses are local

; Also RFC1918 ; 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。

9

; 如果所有的客户端都在 NAT 内,或其他原因想让媒体流通 过服务器,需要关闭该选择。

directrtpsetup=yes
流直接

; 打开新的实验性的直接 RTP 建立,建立一个呼叫,媒体

; peer-to-peer 传递,而不是使用 re-invites 方式。视频 不支持该方式。 ; 被叫方发送 RTP 载荷和收到 200OK 响应的 fmtp 头信息不能 与主叫的 ; INVITE 请求匹配。 ; 如果 NAT 后边的设备设置了 canreinvite=yes,传输也会 失败。

canreinvite=nonat
不在 ;

; 允许媒体路径重定向的另一个选项,告诉发送媒体流的 peer

NAT 里边, (RTP 核心可以决定使用收到媒体的 from 地址).

;canreinvite=update
可以和'nonat'

; 允许媒体路径重定向的第三个选项, UPDATE 替代 INVITE,

; 合并成'canreinvite=update,nonat'. 相当于 'yes'.

12. REALTIME 支持
关于 ARA(Asterisk Realtime Architecture)结构的更多信息,可以看源代码中/doc 目录 下的 realtime.txt 和 extconfig.txt 文件。

rtcachefriends=yes
friends。

; 通过把 realtime friends 加入到一个内部列表中来缓存

;就好像是把 friends 从配置文件中加载一样。(yes|no)
10

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 域名支持
11

收到的 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 allowexternaldomains=no ; 使用 IP 地址作为本地域,可以同时又几个域设置。 ; 不允许 INVITE 和 REFER 请求非本地域,默认 yes。

autodomain=yes

; 自动把本地主机名和 IP 地址加入域名列表。

fromdomain=mydomain.tld
主域而不是 IP

; 当进行外呼 SIP INVITEs 到一个非 peers 时,使用

; 地址来识别 From: headers 头信息。这是一个礼貌的用法,它可 ; 能对一些在你的服务器上没有优先账号的目的地址是必须的。

12

抖动缓存( 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 也可以使用其他的挑战码对外呼进行 认证。我们挑战代理上的认证码,从认证码列表中选择一组证书。
13

语法:

; ;
例子:

auth = <user>:<secret>@<realm> auth = <user>#<md5secret>@<realm>

;

auth=mark:topsecret@digium.com

也可以增加认证配置到 peer 的定义中。该配置将覆盖其他的认证设置。

16. User peer friend

Users 和 peers 有不同的设置,Friends 有 Users 和 peers 的所有功能。

; User 配置选项: ; -------------------Context Callingpres Permit Deny Secret md5secret dtmfmode canreinvite nat callgroup pickupgroup language allow disallow nat

Peer 配置: -------------------

context callingpres permit deny secret md5secret dtmfmode canreinvite

callgroup pickupgroup language allow disallow
14

insecure trustrpid progressinband promiscredir useclientcode accountcode setvar callerid amaflags call-limit allowoverlap allowsubscribe allowtransfer subscribecontext videosupport maxcallbitrate rfc2833compensate

insecure trustrpid progressinband promiscredir useclientcode accountcode setvar callerid amaflags call-limit allowoverlap allowsubscribe allowtransfer subscribecontext videosupport maxcallbitrate mailbox username template fromdomain regexten fromuser host port qualify defaultip rtptimeout rtpholdtimeout sendrpid
15

t38pt_usertpsource

outboundproxy rfc2833compensate t38pt_usertpsource contactpermit Contactdeny
相同的 IP 地 ; 址注册,呼叫自己,会被重定向到同一位置。 ; 限制主机注册地点。

; 一个小窍门,作为一个 SIP 提供者在

在 Asterisk 中对某个 peer 的类型分为 3 种:peer, user 和 friend,在 asterisk 中是这样解 释的:

type=peer 定义对方是一个服务提供者, 它允许你的 Asterisk 通过这里定义的服务商打电 话; 而 user 则定义对方是你的一个客户端, 允许对方通过你的 Asterisk 打电话. friend 就是两者兼有。

但 type 的真正意义在于 Asterisk 怎么去处理发往外部和来自外部的请求. 如果 type 是 peer,有两层含义. 可以将对方作为一个 SIP Service Provider, 允许你的 Asterisk 通过对方进行 呼出. 如果对方在逻辑上是一个客户端, asterisk 将根据传入的 Invite 请求来对对方 进行身份验证, 但需要注意的是这里的验证不是通过 username 和 secret, 而是通 过对方的 address 和 port. 这里分两种情况: 对方的 address 和 port 没有匹配到你在 sip.conf 中对任何一个 peer 的设置, 如果你的 Asterisk 允许匿名呼入(allowguest=yes), 那么, 该呼入将被传到 在 sip.conf 的 general 配置中的 context 上. 如果不允许匿名呼入, 直接拒绝 该呼入. 对方的 address 和 port 匹配到了任何一个 sip.conf 种的 peer 设置, 那么改 呼入将被传到该 peer 指定的 context 上 Asterisk 还提供了一个 insecure 参数来配置对 peer 呼入的身份验证方式.
16

insecure=port|invite port: Asterisk 忽略对方的 port, 只根据对方的 address 来验证某个 peer, Asterisk 收到对方的 Invite 后, 会发送 SIP/2.0 401 Unauthorized 到对方, 要 求对方发送认证信息, 但事实上对方返回回来的认证信息不会被真正使用. 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]
17

type=peer secret=guessit username=yourusername fromuser=yourusername

; 仅想做外呼

; 外呼代理的认证用户 ; 一些 SIP 提供端(代理)需要该配置

fromdomain=provider.sip.domain host=box.provider.com usereqphone=yes call-limit=5
peer 不存 ; 储在内存中,所以 realtime 时不能强制使用 Call-limits

; 这个代理的 URI 中需要;user=phone ; 允许同时 5 个外呼到这个 peer,由于 realtime 的

outboundproxy=proxy.provider.domain
接到 peer

; 发送外呼信号到这个代理,而不是直

port=80

; 需要连接到的远程的端口号, 也可以使用 defaultip 配
; 置中的 defaultport

18. SIP 设备本地连接的定义
type = user place calls
; 一个设备,使用 from 字段认证到服务器,发起呼叫。

; a device that authenticates to us by "from" field to

type = peer match by host

; a device we place calls to or that calls us and we

; 服务器呼该该设备,或者设备呼叫服务器并且服务器使用 host 字段来匹配 type = friend ; two configurations (peer+user) in one ; 上面两个配置的和(peer+user)
设备名我们推荐使用字母(a-z), 数字 (0-9) 和下划线

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

18

如果你的电话只能单向听到声音,应该是 NAT 配置的问题。如果 asterisk 在公网上,客户 端在一个 NAT 设备内部,你必须配置 nat,同时打开 qualify=yes 属性,保持 nat 连接处于 开放状态。

19. 配置实例
;[grandstream1] type=friend context=from-sip callerid=John Doe <1234> host=192.168.0.23 nat=no canreinvite=yes dtmfmode=info call-limit=1
呼出 ; 相当于是一个 peer 和一个 user, 加起来是一个 friend。 这也会影 由于没有 friend 的联合的呼叫计数器, ; 响到订阅。 所以当前没有

; 呼叫进入拨号计划的位置 ; 全 caller ID,来修改呼入电话的 callerid 信息 ; 有一个静态私有 IP 地址。允许非注册时使用。 ; 表示服务器和客户端之间没有 NAT 设备 ; 允许 RTP 数据流不经过服务器 ; either RFC2833 or INFO for the BudgeTone ; 同一时刻在服务器和客户端之间只允许一个呼入和一个

; 办法在 sip.conf 中限制每个客户端的内呼或外呼
的数量。可以在 ; 拨号计划中用组计数器来达到这个目的。

mailbox=1234@default disallow=all allow=ulaw allow=alaw allow=g723.1
( pass-thru)

; 语音信箱 1234,context "default" ; 先要屏蔽掉所有的 ; 再按使用顺序打开允许的

; Asterisk 仅支持 g723.1 直通寄存器

19

allow=g729
( pass-thru)

; 如果没有获得 g729 许可,仅支持直通寄存器

callingpres=allowed_passed_screen
doc/callingpres.txt

; 设置显示 caller ID,更多信息参考

;[xlite1]
关闭 X-Lite 的安静压缩 ("Transmit Silence"=YES)! 注意,Xlite 发送 NAT 保活数据包,因此 qualify=yes 不是必须的。

type=friend regexten=1234 callerid="Jane Smith" <5678> host=dynamic nat=yes canreinvite=no
过服务器

; 当他们注册时,创建 extension 1234

; 这个设备必须注册才能使用 ; X-Lite 在一个 NAT 路由器后边 ; 如果使用了 NAT,该项须设为 NO,使媒体流经

disallow=all allow=gsm allow=ulaw allow=alaw mailbox=1234@default,1233@default ; 订阅多个邮箱 ; GSM 比 ulaw 消耗带宽小

;[snom] type=friend context=from-sip secret=blah subscribecontext=localextensions language=de ; 仅允许订阅本地 localextensions ; 接收和发起呼叫

; 该用户使用德语提示
20

host=dynamic dtmfmode=inband defaultip=192.168.0.59

; 必须注册到服务器 ; 可选 inband, rfc2833, 或 info ; 在 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 secret=blahpoly host=dynamic dtmfmode=rfc2833 username=polly disallow=all allow=ulaw progressinband=no ; dtmfmode=inband 仅支持 ulaw 或 alaw ; 宝利通(Polycom)电话在"never"时不能很好的工作 ; 该用户需要注册 ; 可以选择 inband, rfc2833, or info ; 用户注册前使用的,该参数不是必须的 ; 可以呼出和接听电话 ; 呼入电话进入的 Context

;[pingtel] type=friend secret=blah host=dynamic insecure=port insecure=invite ; 允许 peer 值匹配 IP,不用匹配端口 ; INVITEs 呼入请求不需要认证
21

insecure=port,invite qualify=1000

; ; 如果一秒钟后答复,认为已经关闭 ; 用于 NAT 连接的保活,qualify=yes 使用默认值.

呼叫组和接听组范围应该在 0 到 63

callgroup=1,3-4 pickupgroup=1,3-5 defaultip=192.168.0.60 deny=0.0.0.0/0.0.0.0

; 呼叫组 1,3,4 ; 接听组 1,3,4,5 ; 如果 peer 没有注册,默认使用的 IP ; 拒绝所有的 ip 的访问 ;

permit=192.168.0.60/255.255.255.0

;[cisco1] type=friend secret=blah qualify=200 nat=yes
包到收到包 ; 的原 IP 地址,而不是信任的 SIP 头中的地址。

; 保活间隔 200ms ; 电话可能在一个 NAT 设备后边,发送 SIP 和 RTP

host=dynamic canreinvite=no
话两端传递。但如果

; 该设备必须注册 ; Asterisk 默认是重定向媒体流,使之直接在电

; 设备在 NAT 设备后边时,会不支持直接传递。所以此时需要设 ; 置该项为 no。

defaultip=192.168.0.4 username=goran
不必设

; 注册前使用的 IP 地址 ; 该设备注册前呼叫服务器使用的 Username,正常情况下,

; 置这个参数.

setvar=CUSTID=5678

; 为经过这个设备的所有呼叫设置通道变量。
22

;[pre14-asterisk] type=friend secret=digium host=dynamic rfc2833compensate=yes
打开这个选 ; 项,否则 DTMF 接收将不会正常工作。

; 是补偿两个 asterisk 服务器之间 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
23

[6001](sip) username = 6001 secret = 6001 context=phones

24


相关文章:
asterisk中sip.conf配置文件详解
l 安装完 asterisk 配置 sip.conf 文件 [8001] type=friend username=8001 accountcode=8001 secret=8001 context=from-exten-sip ;followed advance settings ...
sip.conf
sip.conf_信息与通信_工程科技_专业资料。asterisk中sip.conf文件配置1. 介绍 extensions.conf 中使用 sip 设备的语法是 SIP/devicename,devicename 名在下一节...
SIP服务器安装配置
确认是否安装成功命令行里有 xltsipserver 的命令 1.5. sipserver 的配置 1.5.1. 基本配置打开 xltsip.conf 进行配置,如下图: 添加或者修改相应配置: [PSS] ...
Asterisk常用调试命令
SIP 配置 /etc/asterisk/sip.conf 文件中: [general] srvlookup=yet [10000] type=friend ;可以定义用户\端\朋友 asterisk 常用命令 1. 运行调试常用命令 ./...
asterisk配置小结
vax:/home/ailantian# apt-get install asterisk 2:帐户设置 sip 的帐户设置 vax:/home/ailantian# cd /etc/asterisk/ vax:/etc/asterisk# ls adsi.conf ...
Asterisk SIP type的说明
这 里分两种情况: * 对方的 address 和 port 没有匹配到你在 sip.conf 中对任何一个 peer 的设置, 如果你的 Asterisk 允许匿名呼入(allowguest=yes), 那么...
chan_sip-register(用户注册)
问题分析: 1)用户的基本的信息放在了 sip.conf 里 2)用户发送注册消息携带详细的客户端信息。 代码中是如何做的: 简述: 在客户端注册之前,asterisk 会将所有...
asterisk sip配置说明
asterisk sip配置说明_计算机硬件及网络_IT/计算机_专业资料。sip 配置 asterisk sip 配置说明 1. 介绍 extensions.conf 中使用 sip 设备的语法是 SIP/devicename,...
用freeswitch配置一些有用的功能
修改 ip:进入 freeswitch/conf/sip_profiles 目录:打开 internal.xml 文件。然后定位到: <!-- ip address to use for rtp, DO NOT USE HOSTNAMES ONLY IP ...
asterisk dialplan学习笔记
Asterisk 在/etc/asterisk/sip.conf 中查找主机分机 2000 的 context=my-phones ,Asterisk 使用此 context,在/etc/asterisk/extensions.conf 中查看其内容。 2. ...
更多相关标签:
asterisk sip.conf | sip.conf位置 | sip.conf callerid | sip.conf 中tlsenable | sip.conf 来电显示 | sip.conf quality | disconf | autoconf |