功能模块 | 描述 |
---|---|
请求路由 (request_route) | 主要处理进入的SIP请求,包含初步检查、NAT检测、CANCEL请求处理、重传处理等。处理通过REQINIT 、NATDETECT 、RELAY 等子模块的调用。 |
CANCEL处理 | 对CANCEL请求进行处理,包括更新对话状态并检查事务。如果事务检查通过,转发请求。 |
重传请求处理 | 对非ACK请求的重传进行处理。 |
SIP对话处理 (WITHINDLG) | 处理SIP对话中的请求(如INVITE、BYE、ACK等)。根据对话状态进行分支转发。 |
认证 (AUTH) | 处理请求的认证,包括注册请求和对本地发起的请求进行认证检查。如果认证失败,返回挑战。 |
用户位置服务 (LOCATION) | 处理SIP请求的路由查找,查找本地用户并决定如何将请求路由到适当的目的地。如果目标用户不在本地,则将其路由到语音邮件服务器。 |
路由到外部域 (SIPOUT) | 处理非本地请求,将请求转发到外部域。 |
PSTN网关路由 (PSTN) | 路由以+ 或00 开头的号码到PSTN网关,包含号码的国际化处理和网关地址拼接。 |
注册处理 (REGISTRAR) | 处理注册请求并保存位置(用户位置),包括NAT检测和相关的处理。 |
NAT检测 (NATDETECT) | 检测源IP是否在NAT环境中,并执行相关的NAT穿透处理。 |
RTP管理 (NATMANAGE) | 管理RTP流的传输及其在NAT环境中的信令更新,处理会话连接和源地址替换。 |
响应路由 (reply_route) | 处理SIP响应,检查是否有异常响应并做相应的处理。 |
故障处理 (failure_route) | 处理SIP事务失败的情况,检查特定的SIP错误码(如3xx、401、407等),根据需要进行重定向或终止呼叫。 |
分支路由 (MANAGE_BRANCH) | 处理分支路由,在多个分支请求时进行管理和信令更新。 |
回复处理 (MANAGE_REPLY) | 管理从上游返回的回复,确保响应符合预期的状态,并进行NAT管理。 |
语音邮件路由 (TOVOICEMAIL) | 处理语音邮件路由,在忙线或无应答时将请求转发到语音邮件服务器。 |
JSONRPC路由 | 处理通过HTTP(S)发送的JSON-RPC请求,提供RPC接口来处理特定功能。 |
速度拨号 (WITH_SPEEDDIAL) | 支持通过简短拨号号码(如2位数字)进行呼叫,如果匹配到本地的简短拨号,进行相应的路由处理。 |
别名数据库 (WITH_ALIASDB) | 根据数据库中定义的别名来处理SIP请求,支持别名路由功能。 |
IP授权 (WITH_IPAUTH) | 检查请求的源IP是否被授权,可以用于限制仅允许特定IP范围的请求。 |
抗洪检测 (WITH_ANTIFLOOD) | 防止来自同一IP的请求洪水攻击,监控并封锁恶意IP。 |
这个表格概述了配置文件中各个功能模块及其描述。每个模块都有其特定的作用,并通过不同的路由和子路由进行处理。