zoukankan      html  css  js  c++  java
  • freeswitch嵌入python脚本

     

    操作系统:debian8.5_x64

    freeswitch 版本 : 1.6.8

    python版本:2.7.9

    开启python模块

    安装python lib库

    apt-get install python-dev

    编辑modules.conf,开启python模块:

    languages/mod_python

    编译安装:

    ./configure && make && make install

    在modules.conf.xml中开启python支持;

    启动freeswitch;

    测试脚本

    API测试

    添加测试脚本:

    文件路径:/usr/local/freeswitch/scripts/test1.py

    文件内容:

    import freeswitch
    
    def fsapi(session,stream,env,args):
        stream.write("hello")
        freeswitch.consoleLog("info","test")

    控制台测试

    复制代码
    freeswitch@debian8> python test1
    hello
    2016-09-06 23:06:09.069753 [NOTICE] mod_python.c:212 Invoking py module: test1
    2016-09-06 23:06:09.069753 [DEBUG] mod_python.c:283 Call python script
    2016-09-06 23:06:09.069753 [INFO] switch_cpp.cpp:1360 test
    2016-09-06 23:06:09.069753 [DEBUG] mod_python.c:286 Finished calling python script
    freeswitch@debian8>
    复制代码

    APP测试

    文件路径: /usr/local/freeswitch/scripts/testCall.py

    文件内容:

    复制代码
    import freeswitch
    def handler(session, args):
        session.answer()
        freeswitch.console_log("info","testCall")
        session.streamFile("local_stream://moh")
        freeswitch.msleep(3000)
        session.hangup()
    复制代码

    在dialplan中加入如下配置:

    <extension name="python test script">
            <condition field="destination_number" expression="^400123456$">
                <action application="python" data="testCall"/>
            </condition>
    </extension>

    注册话机,拨打400123456号码即可听到moh声音,同时看到freeswitch控制台日志。

     
  • 相关阅读:
    面试基础知识文档
    敏捷式开发
    redis总结
    自我介绍的问题
    面试2
    唐巧的iOS技术博客选摘
    IOS开发中滑动页面时NSTimer停止的问题
    iOS多线程GCD(转)
    iOS 用instancetype代替id作返回类型有什么好处?
    C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)
  • 原文地址:https://www.cnblogs.com/fire909090/p/6845295.html
Copyright © 2011-2022 走看看