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

yipeiwu_com6年前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快速制作可视化报表的方法

我们可以试用可视化包——Pyechart。 Echarts是百度开源的一个数据可视化JS库,主要用于数据可视化。 pyecharts是一个用于生成Echarts图标的类库。实际就是Ech...

python更新列表的方法

本文实例讲述了python更新列表的方法。分享给大家供大家参考。具体如下: aList = [123, 'abc', 4.56, ['inner', 'list'], (7-9j)]...

python常规方法实现数组的全排列

本文实例讲述了常规方法实现python数组的全排列操作。分享给大家供大家参考。具体分析如下: 全排列解释:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元...

Python中定时任务框架APScheduler的快速入门指南

前言 大家应该都知道在编程语言中,定时任务是常用的一种调度形式,在Python中也涌现了非常多的调度模块,本文将简要介绍APScheduler的基本使用方法。 一、APScheduler...

详解在Python程序中解析并修改XML内容的方法

需求 在实际应用中,需要对xml配置文件进行实时修改, 1.增加、删除 某些节点 2.增加,删除,修改某个节点下的某些属性 3.增加,删除,修改某些节点的文本 使用xml文档 &l...