如何利用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