作者: jiaxin_liu88 和linux相关
我多网守GateKeeper的理解:GK已监听端口方式等待用户注册,SjPhone可以使用任用username/password注册。GK记录注册的用户和其IP,这样下次如果有人播打某个电话时,比如h323-phone,则去查找有无这样的用户注册,如果有则进行地址翻译,转到其IP,进行呼叫,没有则返回无用户错误。
ooh323.conf配置如下:
[general]
port=1720
bindaddr=0.0.0.0
dtmfmode=rfc2833
gatekeeper=125.216.242.166
#配置网守地址
[h323-phone]
type=peer
h323id=h323-phone
#h323id用于网守进行地址翻译,比如别人使用H323:GK:H323ID:h323-phone就可以打给你
e164=19870704
#同理,e164也是用于网守进行地址翻译使用,别人使用H323:GK:E164:19870704可以打给你
context=h323-phone
ooh323.conf这样配置完成,之后asterisk重启时,会自动向网守注册h323-phone用户
extension.conf配置如下
[general]
static=yes
writeprotect=no
autofallthrough=no
clearglobalvars=no
[globals]
TRUNKMSD=1
[default]
exten => 19870704,1,Dial(SIP/usera,20);
[internal]
exten => 1000,1,Dial(SIP/usera,20);
exten => 7000,1,dial(OOH323/1999);
#这种是使用网守的OOH323拨号方式,拨打给网守的h323id为1999的用户
[h323-context]
exten => 8888,1,Dial(SIP/usera,20);
sjphone支持的h323高级地址拨号格式
SJphone™ supports the advanced H.323 address syntax. No service profiles are required for this call.
H.323 Address Examples
If you want to call
• A host jd.bigcom.com (192.168.1.12)
Type in the Call To: field: H323:IP:jd.bigcom.com or H323:IP:192.168.1.12
• A phone number 135-7975 through the H.323 Gateway h323gateway.com
Type in the Call To: field: H323:GW:h323gateway.com:1357975
• A user with the nickname doe registered with the H.323 Gatekeeper
Type in the Call To: field: H323:GK:H323ID:doe
A phone number 135 registered with the H.323 Gatekeeper
Type in the Call To: field: H323:GK:E164:135
An external phone number 9-1357975 through the H.323 Gatekeeper
Type in the Call To: field: H323:GK:E164:91357975
asterisk支持的OOH323拨号方案
呼出
通过网守呼出
Dial(OOH323/${alias},,o)
* ${alias} 表示被叫的 H.323 别名,包括 H.323 标识或 E.164 号码
呼出到定义的 peer/friend
Dial(OOH323/${peer},,o)
* ${peer} 表示 peer/friend 的名称
呼出到定义的 peer/friend 上的分机
Dial(OOH323/${exten}/${peer},,o)
Dial([email=OOH323/${exten}@${peer},,o]OOH323/${exten}@${peer},,o[/email])
* ${peer} 表示 peer/friend 的名称
* ${exten} 表示 peer/friend 上的分机号码
呼出到任意的 H.323 对端
Dial(OOH323/${ip},,o)
* ${ip} 表示 H.323 对端的 IP 地址
呼出到任意的 H.323 对端上的分机
Dial(OOH323/${exten}/${ip},,o)
Dial([email=OOH323/${exten}@${ip},,o]OOH323/${exten}@${ip},,o[/email])
* ${ip} 表示 H.323 对端的 IP 地址
* ${exten} 表示 H.323 对端上的分机号码
OOH323 配置文件详细说明
[general]常规配置
port
H.323 监听端口(缺省是 1720)
bindaddr
H.323 监听 IP 地址(缺省是 0.0.0.0 表示本地所有 IP)
h323id
H.323 标识(缺省是 Asterisk PBX)
e164
E.164 号码
callerid
呼出时如果没有主叫名称则使用它作为主叫标识(缺省和 h323id 相同)
gateway
作为网关或终端向网守注册
gatekeeper
网守,IP 地址或 DISCOVER 自动发现 或 DISABLE 不使用网守(缺省是 DISABLE)
faststart
是否使用快速连接(缺省是 yes)
h245tunneling
是否使用隧道机制,将 H.245 消息封装在 H.225 呼叫信令消息中(缺省是 yes)
setformat
是否在快速连接时设置发送语音编码,否则将在收到对端 RTP 后才更改语音编码(缺省是 no)
mediawaitforconnect
快速连接呼叫是否在 CONNECT 消息之后才启动发送通道(缺省是 no)
logfile
H.323 日志文件(缺省是 /var/log/asterisk/h323_log)
context
呼入的拨号方案上下文(缺省是 default)
rtptimeout
RTP 超时,单位是秒,超时时间内若无 RTP 则结束呼叫(缺省是 60 秒)
tos
服务类型,Type of Service,指明 H.323 所需的服务质量(缺省是 none)
可以设置为: lowdelay, thoughput, reliability, mincost, none
amaflags
CDR 的 AMA 标志,可以设置为: default, omit, billing 或 documentation
accountcode
所有客户端的缺省帐号,用于 CDR 计费(缺省是 ast_h323)
disallow
allow
启用/禁用的语音编码,包括: gsm, ulaw, alaw, g729, g723.1, g726, speex, ilbc 等
dtmfmode
DTMF 模式,可以设置为: rfc2833, q931keypad, h245alphanumeric, h245signal
注:
* 使用 NetMeeting 或某些终端时,必须设为 h245signal
* 参见 "Problems with chan_ooh323" (http://www.voip-info.org/wiki-Asterisk+H323+channels)
用户配置(user/peer)
type
对端类型,可以设置为: user, peer, friend
注:
* user 用于验证呼入
* peer 用于呼出
* friend = user + peer
context
(仅 user)呼入的拨号方案上下文
disallow
allow
启用/禁用的语音编码,包括: gsm, ulaw, alaw, g729, g723.1, g726, speex, ilbc 等
accountcode
客户端帐号,用于 CDR 计费
amaflags
CDR 的 AMA 标志,可以设置为: default, omit, billing 或 documentation
dtmfmode
DTMF 模式,可以设置为: rfc2833, q931keypad, h245alphanumeric, h245signal
rtptimeout
RTP 超时,单位是秒,超时时间内若无 RTP 则结束呼叫(缺省是 60 秒)
ip
IP 地址
port
(仅 peer)端口
h323id
(仅 peer)对端的 H.323 标识,Asterisk 将其注册到网守
e164
(仅 peer)对端的 E.164 号码,Asterisk 将其注册到网守
email
(仅 peer)对端的 E-mail 地址,Asterisk 将其注册到网守
url
(仅 peer)对端的 URL 地址,Asterisk 将其注册到网守