简介这份PDF文档是Avaya Aura™ Communication Manager 5.2版官方新增功能说明面向统一通信管理员、SIP运维工程师及Avaya系统实施人员用于快速了解5.2版本在呼叫排队自动回叫、安装向导增强、呼叫记录增强、SIP路由优化、改址通知及Extension to Cellular等方面的技术更新。整个下载包仅含1个PDF文件体积399KB内容来自Avaya支持网站的正式文档目录涵盖Communication Manager、SIP Enablement Services、Avaya Servers与Media Gateways等模块结构清晰便于定位查阅。目前已有559人浏览学习可作为实施与排障场景下的轻量参考手册。读者可从中掌握被叫方排队自动回叫、记录转送呼叫、链路呼叫转送、编辑拨号、增强型呼叫代答警报、SIP增强型改变路由指示等关键功能的具体含义与实际使用场景帮助理解系统升级后带来的行为变化并为日常运维配置和故障排查提供官方依据。1. Avaya_SIP_设置说明.pdf这份文档到底在解决什么拿到《Avaya_SIP_设置说明.pdf》的工程师多半卡在同一道坎上SIP 不像以前的 TDM 中继那样插上 E1 就能通它把信令、认证、端口、编解码全部揉在一起任何一个参数没对齐电话就是不响。这份设置说明的核心价值不是教你 SIP 协议本身而是告诉你 Avaya 这一侧哪些参数必须改、哪些保持默认就行。目标读者很明确给 Avaya Communication Manager 或者 IP Office 开局、要接运营商 SIP trunk或者要接 SIP 软电话的运维和网络工程师。照着这份说明你可以把信令组、中继组、路由、软电话注册一次性配出来而不是在 Web 管理面里来回试。下面我把这类设置说明里最常见、也最容易被忽略的步骤拆开并把容易翻车的地方单独拎出来做成可以直接复现的操作路径。2. 动手之前先理清信令与媒体流Avaya 的 SIP 不是简单换个端口很多第一次接触 Avaya SIP 的工程师第一反应是把原来模拟中继、数字中继的配置思路平移过来——哪个槽位插了什么板卡、哪个 trunk 组对应哪个物理端口。结果在 SIP 配置界面里找了半天也没找到“端口”这个概念因为 SIP 链路本来就是逻辑的。在 Avaya Communication ManagerCM里SIP trunk 由三样东西组合出来signaling group 负责信令通道trunk group 负责话路资源route pattern 负责把拨号计划送进 trunk。它们不是物理实体但你必须按顺序建好缺一个后面那个表单里就选不到对应项。2.1 三条链路信令流、媒体流、管理流不要混在一张网里Avaya SIP 开局最忌讳的就是把三股流量全塞进同一段网络却不在参数上做区分。这里说的三条链路分别是信令流走 SIP 协议。CM 侧默认监听 UDP/TCP 5060signaling group 里可以单独指定 near-end listen port 和 far-end listen port。对端可能是运营商 SBC也可能是另一个 Avaya 系统信令口必须双向可达。媒体流走 RTP。Avaya 实际用的媒体端口范围由 network region 里的 IP Codec Set 和媒体端口范围决定常见做法是限制在 10000~20000 或者 20000~30000方便防火墙放行和抓包过滤。如果信令通了但媒体端口被挡就会出现“能响铃但拿起电话听不见声音”的诡异现场。管理流走 SSH、HTTP(S)、服务端口。这部分千万别和信令端口混在一起做 NAT 或端口映射否则经常会出现一种很玄学的故障信令看着正常但 Avaya 的 License 或者 feature 激活就是起不来。流向协议/端口在 Avaya 侧主要配置位置常见误区信令流SIP over UDP/TCP 5060signaling group只开 UDP 不放 TCP媒体流RTP建议限定一个范围ip-network-region 的 codec set用出厂默认 2048~65534管理流SSH 22 / HTTP 80 / HTTPS 443系统管理面和信令共用公网映射我一般会建议在开局之前先画一张简单的拓扑图标清楚对端 IP、本端 IP、信令端口、媒体端口范围、管理口 IP然后把这个图贴在配置记录里。等后面真出了故障这张图能省下至少半天排查时间。值得提醒的是媒体端口范围不要只放 UDP有些对端和软电话实现会协商 TCP 的 RTP 封装。端口范围收得越窄越要确认两边都支持同样的传输方式。否则你防火墙开得再漂亮RTP 流照样被对端丢弃。2.2 SIP trunk 与 SIP endpoint两种不同的配置逻辑Avaya 里 SIP 分两类很多人设置说明读到一半开始迷糊一类是 SIP trunk用来连接运营商、SBC 或者另一套 PBX另一类是 SIP endpoint也就是常说的 SIP 软电话比如安卓上的 SIP 软电话应用或者 Avaya 自家的 SIP 话机。SIP trunk 的核心是“中继资源”。在 CM 上你要先建 signaling group再建 trunk group然后把 route pattern 指过去。运营商把你看成一个“客户”你在它那边注册一个 trunk 账号呼叫由 PBX 选择走哪条 trunk。SIP endpoint 的核心是“用户”。每个软电话对应一个扩展号Avaya 侧要有一个 SIP user 或者叫 station并且把该用户和实际的 SIP 终端绑定。认证信息不在 trunk 里而是在这个 SIP user 上。如果拿 trunk 的认证信息去配软电话结果必然是注册失败因为 Avaya 两边用的 digest 用户名和密码不是同一套。如果你是给 IP Office 做配置对应关系也类似SIP Line 相当于 trunkSIP Extension 相当于 endpoint。设置说明里最容易翻车的点就是没分清自己当前在配置哪一个。用同一个思路去套两种对象最后只能得到一堆互相矛盾的参数。2.3 开局前参数表这是最容易变成黑匣子的环节设置说明的 PDF 正文里给了一堆参数真正动手前你要做的第一件事是先填一张“开局参数表”。我就按这类说明最常见的顺序列在这里参数建议值/填写内容不填会有什么后果本端 IP/节点名与 ip node-names 一致signaling group 里选不到节点对端 IP/域名运营商 SBC 的公网地址或内网地址信令根本发不出去信令端口大多 5060个别大客户用 5061端口不一致直接无响应TransportUDP/TCP/TLS 三选一写死 UDP对端改 TCP 就翻车Realm/Domain运营商给出的认证域REGISTER 被 403 拒绝认证用户名/密码运营商或 Avaya 侧创建的用户407 和 401 轮着来编解码G.711A/U、G.729、G.722双方只剩一个交集通话效果差DTMF推荐 RTP-NTERFC2833/4733拨号音传不过去IVR 失灵媒体端口范围比如 10000~20000防火墙不好开抓包也不好抓这张表不是文档里现成印好的是实际开局过程里从各种邮件、工单、截图里抠出来的。填好之后配置就不是“看着说明一条条敲”而是“对着参数表填进对应表单”。哪个参数找不到位置就先查不要跳过去。后面百分之八十的故障本质上都是这张表里某一行没填对。3. 照设置说明配置 Avaya SIP trunk从 signaling group 到 route pattern 的完整命令这一章按最常见的 Avaya Communication Manager 环境写如果你用的是 IP Office表单名称会有点差别但思路是一模一样的。关键是不要跳步signaling group、trunk group、route pattern 这三层必须按顺序落。3.1 建 signaling groupSIP trunk 的“第一块骨头”进入 CM 的 SAT 终端首先确认节点名已经存在change node-names ip在这个界面里你要有本端节点名比如avaya-cm和对端节点名比如sbc-carrier分别对应各自的管理 IP。如果没有先add node-names补上。然后创建 signaling groupadd signaling-group 12进去之后主要改这几个字段Group Type选 near-end。near-end 意思是本端主动向外发起信令对大多数运营商 trunk 都适用。Near-end Node Name选刚才建好的本端节点。Far-end Node Name选对端节点如果对端不是 Avaya可以选一个近似的名字然后在 IP 地址上改。Far-end Network Region填对端电话资源所在的 network region。如果两端媒体要互通这个区域必须和本端区域有 codec 交集。Transport Method和运营商确认是 UDP 还是 TCP。不要默认很多运营商只开放 TCP/TLS。DTMF over IP选 rtp-payload等于走 RFC2833这是和 IVR 对接的关键。这些字段填错任何一个signaling group 建完也只是“存在”并不代表能用。我见过不止一次 far-end node name 选错结果信令包是从本端某个完全无关的 VLAN 发出对端抓包永远看不到。所以在建完之后第一时间status signaling-group 12确认状态不是 idle这是一个很低成本的自检动作。3.2 建 trunk group 和 route pattern把拨号计划接到 SIP 上signaling group 建好后建 trunk groupadd trunk-group 12Trunk Group Number 保持和 signaling group 一致是可读性更好的习惯Group Type 选 sip然后往下找 Signaling Group 这一项填 12。其他字段按运营商要求填COR呼叫权限等级确认已经允许拨打外线。Trunk Access Code (TAC)这个是后续 route pattern 要引用的号码比如 812。Number of trunksSIP 中继不是按物理路数算的是按同时呼叫数。按并发量填通常 30~120 之间。Directiontwo-way。Caller ID 相关内容有的运营商要求匿名有的要求透传按实际填。trunk group 建完还没有拨号能力必须挂一个 route patternchange route-pattern 1Route Pattern Number 编号随意关键是 Pattern Name 写清楚用途比如CARRIER-SIP-IMS。Grp No 填 12然后设置 FRLFacility Restriction Level和 Prefix 字段。很多人忘了在这个 pattern 里有 FRL 和 COR 两套权限体系如果 pattern 的 COR 比 trunk group 的 COR 更严格呼叫会直接被拒绝连拨号音都听不到。之后把路由指向路由模式在 ARS 表里完成change ars analysis 9这里把前缀 9 或者具体号段指向刚才的 route pattern 1拨号计划才算真正和 SIP trunk 接通。改完先别急着拨号回到 SAT 里list trace在 trace 界面下拨一个测试号码确认呼叫确实进了 trunk 12这一步能帮你把配置错误和运营商问题尽快切开。3.3 在路由器上做 IMS/运营商对接dial-peer 与 set sip voice trunk 的对应写法很多运营商送过来的对接文档里Avaya 对端是路由器或者 SBC而不是另一台 Avaya。这时候我们要在路由器或边界网关上配置 SIP trunk 来对接 IMS。对应的思路和上面一样但落点是路由器的 dial-peer。以下是一份常见的思科风格配置对接运营商 IMS 中继voice service voip sip session transport udp early-media bypass no sip-serverdial-peer voice 100 voip description IMS-SIP-Trunk-to-Carrier session protocol sipv2 session target ipv4:10.20.30.40:5060 destination-pattern ^9011...... codec g711ulaw dtmf-relay rtp-nte no vad配置里有两段逻辑需要说明。第一段voice service voip下的sip进到 SIP 子模式session transport udp告诉路由器用 UDP 往对端发信令early-media bypass允许在没有完成被叫侧应答时就先送媒体这对某些 IMS 网络很重要不关掉会导致环路摘机音。第二段dial-peer voice 100 voip是真正的拨号出口。session target指定 IMS SBC 的 IP 和端口destination-pattern决定了哪些号码会走到这条中继上例用^9011......表示匹配 9 开头然后 011 加 6 位号码的形式dtmf-relay rtp-nte让 DTMF 以 RTP 带内事件发送而不是走带外交互。如果你在路由器操作手册上看到set sip voice trunk ims on router这类描述它指的就是这一整套逻辑先在全局把 SIP 语音服务打开再针对 IMS 网络定义特定的 destination-pattern、codec、dtmf-relay 策略。Avaya 侧只需要把 signaling group 指向这台路由器剩下的让路由器的 dial-peer 去对接运营商。注意不要在 Avaya 和路由器两侧重复做 NAT 或端口映射。很多设置说明里没写这句话但实际排查时发现两边同时做了代理SIP 消息里的 SDP 地址就对不上媒体流必然单通。遇到这种环境我的处理原则是只在一侧做地址改写另一侧全部用真实 IP避免 SDP 里的 c 和 o 字段被改得没法看。4. 避坑Avaya SIP 设置里最容易翻车的 5 个现场这一章写的都是真实开局里反复出现的故障不一定都写在官方设置说明里但不处理它们配置再标准也跑不通。4.1 REGISTER 发出去没有回应现象Avaya 侧看到 REGISTER 已经发出但运营商 SBC 或者对端设备毫无反应抓包也看不到任何回包。这个时候不是协商问题是信令根本没到达对端。原因最常见的是 transport 不匹配。Avaya signaling group 里写 UDP对端 SBC 只监听 TCP或者对端监听端口是 5061本端还在发 5060。另一个常见原因是中间防火墙把大于 1024 的源端口过滤了SIP 的源端口经常是随机高端口而不是 5060。解决先在 Avaya 侧用ping和telnet确认到对端 IP 的网络可达性再从对端侧抓包确认是否收到 UDP 或 TCP 报文。如果包到了但没响应基本可以断定 transport 或端口写错。改完 signaling group 的 Transport Method 后记得release并重新add有些参数在运行中改不生效。4.2 能注册但一打电话就单通现象REGISTER 正常呼叫也能建立但通话只有一路有声音或者两边都听不见媒体指示灯在抓包里能看到 RTP 流发送但方向不对。原因RTP 流没有走对网段。最常见的是 network region 配置不对Avaya 不知道应该用哪个 IP 地址去和对方通信或者本端配置的媒体端口范围与防火墙放行范围不一致。另一个容易被忽视的原因是编解码协商不完整比如 Avaya 只协商出 G.729但对端设备不支持。解决先确认 network region 的 IP 地址映射change ip-network-map里把本端 IP 段对应到正确的 region。然后status trunk 12查看媒体端口是否落在设定的范围内再抓包看 RTP 的源地址到底是哪个接口发出的。编解码问题就直接查list trace里的 codec 字段看双方最终选中的编码是什么。这个坑几乎每个项目都会踩一次属于 Avaya SIP 的血泪经验。4.3 安卓 SIP 软电话一直 407/403认证信息放错了位置现象安卓上的 SIP 软电话比如 Zoiper、Linphone 或者运营商定制的软电话注册 Avaya 时一直报 407 Proxy Authentication Required 或者 403 Forbidden换了密码也没用。原因软电话是 SIP endpoint不是 trunk。你在 Avaya 侧创建了一个 SIP user但软电话里填的认证用户名是 trunk 的 digest 用户名或者反过来。Avaya 用的认证域和运营商 SBC 的认证域不同软电话把 407 响应里的 realm 一股脑收下再按错的 realm 重新计算 digest结果永远是认证失败。解决确认这个软电话对应的是 extension 而不是 trunk。登录 Avaya 系统管理面找到该用户的 Digest Authentication 用户名和密码软电话里要填的认证名就是这个 digest 用户名不是分机号也不是 SIP 注册的全地址。然后确认软电话设置的 domain 和 Avaya 侧 user 的 domain 一致。配完后先抓包看 INVITE 还是 REGISTER 失败REGISTER 失败优先查 digestINVITE 失败查号码权限。4.4 呼叫一接通就被挂断抓包看到 488 Not Acceptable Here现象呼叫能建立但刚接通或者刚响铃就被释放抓包看到对端回 488 Not Acceptable Here。这种情况在 IMS 对接场景尤其常见。原因488 的核心是 SDP offer 里没有对端可接受的媒体。可能是 codec 交集为空也可能是 Avaya 只送了带 SRTP 的加密媒体而对端只支持明文 RTP。还有一类隐蔽情况Avaya 默认在信令里带 100relPRACK对端不支持虽然没有直接报 488但会卡在 Early Media 阶段。解决在 signaling group 里把 100rel 设为 disabled 或者按对端要求设置然后检查 codec set。change ip-codec-set 1里确认 G.711 和 G.729 都启用并把对端首选编解码放在列表靠前位置。如果运营商要求明文 RTP把 Media Encryption 相关的 H.235 参数关掉。这里建议每次只改一个因素不要同时改 100rel、codec 和加密否则你根本不知道是哪一项生效的。4.5 list trace 显示 far-end disconnect但对端说没问题现象Avaya 侧 list trace 里看到far-end disconnect通话被释放但运营商侧查看 SBC 日志显示一切正常两边对不到账。原因这个问题常常和 session timer 有关。SIP 会话定时器RFC 4028如果两边配置不对称某一侧的 refresh 消息没有及时收到就会先挂断。另一个常见原因是过于敏感的 NAT keepalive 超时Avaya 与路由器之间的地址映射在空闲几秒后被拆除对端再发 INVITE 就找不到了。解决在 signaling group 里开启或关闭 Session Refresh Timer并确认对端配置一致。如果走的是路由器 NAT把 NAT keepalive interval 缩短到 30 秒以内并确保 SIP 的 NAT 映射用同一个外部地址。排查这类问题最好在 Avaya 侧和对端 SBC 同时抓包对比挂断前最后几条消息。单侧抓包很容易把问题归结到对方但实际两边都没做错什么只是超时参数没对齐。5. 验证与排查用 list trace 和抓包确认 SIP 真的通了配置做完真正的工作才刚开始。SIP 这东西不像模拟中继摘机听个拨号音就知道通不通。它需要验证注册、呼叫保持、RTP 双向流、DTMF 透传、挂机释放完整闭环。5.1 用 list trace 看每通呼叫的信令轨迹Avaya 自带的 trace 工具比抓包更直观因为它能直接告诉你 Avaya 侧对每通呼叫的判断。进入 SAT 终端敲list trace进去后建议打开trace状态然后让同事拨一个测试号码。trace 输出里会显示每通呼叫经过的 trunk group、被叫号码、主叫号码、放音信息。再配合下面的命令看 trunk 和 signaling group 的运行状态status signaling-group 12 status trunk 12看 signaling group 时重点看状态是不是 active以及当前有没有存量呼叫。看 trunk 时重点看 usage 和 codec 两列。如果 usage 一直为零route pattern 大概率没挂好如果 codec 显示为空说明媒体协商还没有完成这个问题比号码没通更隐蔽因为有些计费系统已经会显示呼叫成功。5.2 用 tcpdump 和 sngrep 把黑匣子打开Avaya 侧不方便装抓包工具的话可以在接入交换机上做端口镜像或者直接在边缘接一台 Linux 主机做串接抓包。我常用的抓包命令是tcpdump -i eth0 -s 0 -w avaya_sip.pcap port 5060 or portrange 10000-20000这个命令把信令端口和媒体端口一起抓到文件里。端口范围要和你设置的 media port range 对应否则 RTP 流不在包里。抓完之后用 sngrep 打开可以按通话维度过滤 SIP 消息比 Wireshark 里一条条翻效率高很多sngrep -I avaya_sip.pcapsngrep 里按呼叫流程看四件事INVITE 的 SDP 里 codec 列表、183/180 里对端选的媒体地址和端口、ACK 和 BYE 的发起方、任何非 200 的响应码。很多时候单通问题用 sngrep 看 SDP 就能定位不需要再猜。5.3 用软电话做端到端呼叫验证配置全做完建议用一台安卓上的 SIP 软电话做最终验证而不是直接拿话机打。原因很简单软电话的 SIP 配置全暴露在界面上出了问题可以看到注册状态、域名、端口和认证信息比 Avaya 话机好排查。验证流程我一般按这个顺序走一遍软电话注册到 Avaya 扩展号确认注册状态 active。软电话拨打本系统另一部分机确认内线通话双向语音正常。分机呼叫软电话确认来电显示和振铃路径正常。通话中按软电话 DTMF 键确认对方能识别尤其要打运营商 IVR 验证。执行一次呼叫保持和恢复然后做一次盲转。这几步跑完SIP 配置基本就算闭环了。很多项目只看注册成功就宣布上线结果第一天就被用户打爆—能注册不代表能通话能通话不代表 DTMF 和转接没问题。软电话测试就是一个低成本后悔药花十分钟省掉上线后一整天的投诉。6. 把设置说明变成自己的配置基线一条值得长期坚持的习惯很多人拿到《Avaya_SIP_设置说明.pdf》之后的做法是照着配一遍配通就算完。我的做法是把这份 PDF 当成一份“配置基线”的骨架每次开局前先把 2.3 节里的参数表填好然后把所有改动过的字段记录在案形成一份单独的变更记录而不是直接改动 PDF 或者系统默认配置。具体操作是每配置完一个环节用list configuration导出一次对照文件标明改动时间和改动人。等整条链路调通后把 signaling group、trunk group、route pattern 这三段配置导出连同开局参数表放进同一个目录用日期命名归档。下次项目直接复制这份基线来改而不是把官方的设置说明重新读一遍。这里有一个我长期坚持的习惯每次上线后都会保留一份status signaling-group和list trace的成功输出截图。不是给领导看是给三个月后的自己看因为那会儿你已经忘了当时的 codec 是什么、support 100rel 是开还是关。等出了问题拿当前状态和基线一对比差异项就是问题候选就不用从零开始抓包了。真正让我养成这个习惯的事故是一次半夜割接Avaya SIP trunk 在凌晨突然批量释放通话当时没有任何基线可对比只能一边抓包一边翻历史配置浪费了将近两个小时。后来发现只是一个同事在测试时把 network region 改错了但因为没有任何基线连这个改动都差点没查到。从那以后所有 Avaya SIP 相关项目我都强制保留配置基线并且每次变更前先备份、变更后立刻导出一份新基线。做 SIP 这个领域最大的敌人不是复杂协议而是没有记录的随意改动。希望帮到你。本文还有配套的精品资源点击获取