python 控制Asterisk AMI接口外呼电话的例子

yipeiwu_com7年前Python基础

Asterisk 是一个开放源代码的软件VoIP PBX系统,我们用Asterisk 搭建企业内部电话系统。

Asterisk AMI的Asterisk管理接口。可以实现对Asterisk系统的监控和控制。

安装 asterisk-ami

pip install asterisk-ami

pip install git+https://github.com/ettoreleandrotognoli/python-ami

源码

#!/usr/bin/env python
#-*- coding: utf-8 -*-
from asterisk.ami import AMIClient
from asterisk.ami import SimpleAction
 
 
def CallSip(exten,ponebind,callid):
 client = AMIClient(address='10.200.22.79', port=5038)
 client.login(username='lucal',secret='test')
 sip='SIP/%s'%ponebind
 print (sip)
 action = SimpleAction(
  'Originate',
  Channel=sip,
  Exten=callid,#目标电话
  Priority=1,
  Context='MAIN_OUTGOING',#呼叫规则
  CallerID=exten,#来自电话
 )
 client.send_action(action)
 future = client.send_action(action)
 response = future.response
 
 
if __name__ == '__main__':
 exten='2100'
 ponebind='2100'
 callid='2101'
 CallSip(exten, ponebind, callid)

以上这篇python 控制Asterisk AMI接口外呼电话的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 专题四 文件基础知识

前面讲述了函数、语句和字符串的基础知识,该篇文章主要讲述文件的基础知识(与其他语言非常类似). 一. 文件的基本操作 文件是指存储在外部介质(如磁盘)上数据的集合.文件的操作流程为: 打...

举例详解Python中threading模块的几个常用方法

threading.Thread Thread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另...

python中ASCII码和字符的转换方法

将ASCII字符转换为对应的数值即‘a'-->65,使用ord函数,ord('a') 反之,使用chr函数,将数值转换为对应的ASCII字符,chr(65) 可以同时使用这两个函数...

pybind11和numpy进行交互的方法

使用一个遵循buffer protocol的对象就可以和numpy交互了. 这个buffer_protocol要有哪些东西呢? 要有如下接口: struct buffer_i...

python mysql断开重连的实现方法

python mysql断开重连的实现方法

后台服务在运行时发现一个问题,运行约15分钟后,接口请求报错 pymysql.err.InterfaceError: (0, '') 这个错误提示一般发生在将None赋给多个值,定...