标签: SIP

SIP重定向服务器设计

如何利用OpenSIPs快速搭建一个重定向服务器
利用OpenSIPs自带的脚本处理可以实现重定向服务器,例如通过脚本接口函数调用进行,但是在大多数
重定向服务器开发通常需自行编码实现,本文介绍通过:sl模块+mysql实现的一种重定向服务器方式。
实现如下:
1.在sl模块中增加db_mysql模块的加载处理,并在脚本中增加db_mysql.so的load;
2.当有新的呼叫或查询报文,在调用w_sl_send_reply处将从mysql localtion表中加载的AOR对应信息
存放在已经定义的类对象或结构体中,以便传入至w_sl_send_reply函数;
3.修改sl模块导出的sl_send_reply函数:在sl模块中定义了
{“sl_send_reply”, (cmd_function)w_sl_send_reply, 2, fixup_sl_send_reply, 0,
REQUEST_ROUTE | ERROR_ROUTE }
此时修改w_sl_send_reply函数使其能够兼容发送响应报文中,在msg_translator.c函数中有构造响应
报文的处理,可在对应增加contact字段,并将重定向结果通过contact字段携带给业务发起端。

%title插图%num

SIP消息类型简介

1.请求消息:用于客户端为了激活按特定操作而发给服务器的SIP消息,包括INVITE, ACK,OPTIONS,BYE,CANCEL和REGISTER消息等。

请求消息 消息含义
INVITE 发起会话请求
ACK 证实已收到对于INVITE请求的*终响应。该消息仅和INVITE消息配套使用
BYE 结束会话。
CANCEL 取消未完成的请求,对于已完成的请求(既已收到*终响应的请求)则没影响。
REGISTER 注册
OPTIONS 查询服务器的能力

2. 响应消息: 用于对请求消息进行响应,指示呼叫的成功或失败状态。不同类的响应消息由状态码来区分。状态码包含三位整数,状态码的*位用于定义响应类型,另外两位用于进一步对响应进行更加详细的说明。

(1)1xx:信息响应(呼叫进展),表示已经接收到请求消息,正在对其进行处理;

序号 状态码 消息功能
1xx 100 正在处理中(Trying)
180 振铃(RINGING)
181 呼叫前转(call being forwarder)
182 排队(queue)
181* 会话进行(session progress)

(2)2xx:成功响应,表示请求已被成功接收、处理;

序号 状态码 消息功能
2xx 200 会话成功(OK)

(3)3xx:重定向响应,表示需要采取进一步动作,以完成该请求;

序号 状态码 消息功能
3xx 300 表示多重选择(multiple)
301 表示永久迁移(moved permanently)
302 表示临时迁移(moved temporaily)
303 见其它
305 用户代理(user proxy)
380 代换服务(alternative service)

(4)4xx:客户端出错,表示请求消息中包含语法错误或SIP服务器不能完成对该请求的处理;

序号 状态码 消息功能
4xx 400 错误请求(bad request)
401 无权(unauthorized)
402 要求付款(payment required )
403 禁止(forbidden)
404 没有发现(not found)
405                      不允许的方法(method no allowed)
406 不接受(not acceptable)
407 代理需要验证(proxy authentication required)
408 请求超时(request timeout)
410 消失(gone)
413 请求实体太大( request entity too large)
414 请求URI太大(request-url too long)
415 不支持的媒体类型(unsupported media type)
              416 不支持的URI方案(unsupported url scheme)
420 分机无人接听(bad extension)
421 要求转接( extension required)
423 间隔太短( interval too brief)
480 临时失效(temporarily unavailable)
481 呼叫/事务不存在(call/transaction does not exist)
482 发现环路(loop detected)
483 跳数太多(too many hops)
484 地址不完整(address incomplete)
485 不明朗(ambiguous)
486 这里忙(busy here)
487 请求终止(request terminated)
488 这里请求不可接受(not acceptable here)
491 未决请求(request pending)
493 不可辨识(undecipherable)

(5)5xx:服务器出错,表示SIP服务器故障不能完成对正确消息的处理。

序号 状态码 消息功能
5xx 500 服务器内部错误( server internal error)
501 不可执行(not implemented)
502 坏网关(bad gateway)
503 服务器无效(service unavailable)
504 服务器超时(server time-out)
505 版本不支持(version not supported)
513 消息太大(message too large)

(6)6xx:全局错误,表示请求不能在任何SIP服务器上实现。

序号 状态码 消息功能
6xx 600 全忙(busy everywhere)
603 丢弃(decline)
604 都不存在(does not exist anywhere)
606 不接受(not acceptable)
友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速