如何解决Kamailio 5:KEMI 和 Python - 导入 KSR
我目前在生产中使用旧版本的 Kamailio。我希望能够编写一些自定义逻辑,而 v5 允许我使用 KEMI 解释器在 Python 中执行此操作 - 所以我对升级感兴趣。然而,我遇到了一些我以前从未见过的东西..
Kamailio 网站上的示例脚本显示了这个示例 .py 脚本:
import sys
import KSR as KSR
def dumpObj(obj):
for attr in dir(obj):
KSR.info("obj.%s = %s\n" % (attr,getattr(obj,attr)))
def mod_init():
KSR.info("===== from Python mod init\n")
# dumpObj(KSR)
return kamailio()
class kamailio:
def __init__(self):
KSR.info('===== kamailio.__init__\n')
def child_init(self,rank):
KSR.info('===== kamailio.child_init(%d)\n' % rank)
return 0
def ksr_request_route(self,msg):
KSR.info("===== request - from kamailio python script\n")
KSR.setdsturi("sip:alice@127.0.0.1:5080")
KSR.tm.t_on_branch("ksr_branch_route_one")
KSR.tm.t_on_reply("ksr_onreply_route_one")
KSR.tm.t_on_failure("ksr_failure_route_one")
KSR.sl.send_reply(100,"Trying")
if KSR.tm.t_relay() < 0 :
KSR.sl.send_reply(500,"Server error")
return 1
def ksr_reply_route(self,msg):
KSR.info("===== response - from kamailio python script\n")
return 1
def ksr_onsend_route(self,msg):
KSR.info("===== onsend route - from kamailio python script\n")
return 1
def ksr_branch_route_one(self,msg):
KSR.info("===== branch route - from kamailio python script\n")
return 1
def ksr_onreply_route_one(self,msg):
KSR.info("===== onreply route - from kamailio python script\n")
return 1
def ksr_failure_route_one(self,msg):
KSR.info("===== failure route - from kamailio python script\n")
return 1
所以我的问题是:“KSR”从何而来?似乎 Kamailio 神奇地将这个库挂在那里,以便 Python 导入。我找不到任何 pip 安装它的方法,所以我很想知道交易是什么,如果有人知道的话。
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。