ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Вызов абонента через sip и ami python

Проблемы и их решения Asterisk как такового

Модераторы: april22, Zavr2008

Вызов абонента через sip и ami python

Сообщение nonadminus » 10 мар 2021, 14:12

Добрый день! Появилась задача написать скрипт для обзвона клиентов.

Суть задачи:
1. запускается python скрипт, который читает файл с номерами. каждый номер - это номер кому следует позвонить
2. скрипт отдает этот номер на астер через ami
3. asterisk в свою очерередь должен позвонить клиенту через sip задармы и проиграть подготовленную запись с интерачтивным меню

Так вот, с IVR меню я могу разобраться, но вот с написанием dialplan возникли трудности..

Что имеем

sip.conf c настройками zadarma (в настройках callerid у zadarma указан мобильный телефон)
Код: выделить все
[zadarm]
type = peer
defaultuser = 214181
secret = secret
host = sip.zadarma.ru
context = zvonar
fromuser = 214181
fromdomain = sip.zadarma.com
disallow=all
allow = alaw
allow = ulaw
nat = force_rport,comedia
canreinvite = no
dtmfmode = rfc2833
qualify = yes


manager.conf c юзером для таких дел
Код: выделить все
[zvonar]
secret = 9008
permit = 0.0.0.0/0.0.0.0
read = system,call,log,verbose,command,agent,user,originate
write = system,call,log,verbose,command,agent,user,originate


extensions.conf контекст для обработки исходящего звонка
Код: выделить все
[zvonar]
exten => s,1,NoOp(Звонок через zadarma на номер +7${EXTEN:1})
same => n,Dial(SIP/zadarm/+7${EXTEN:1},60)
same => n,Hangup


python скрипт для передачи номера в asterisk на который нужно позвонить
Код: выделить все
#!/usr/bin/python
# -*- codding: utf-8 -*-

from asterisk.ami import AMIClient
from asterisk.ami import SimpleAction

client = AMIClient(address='192.168.0.6',port=5038)
client.login(username='zvonar',secret='secret')

action = SimpleAction(
    'Originate',
    Channel='SIP/zadarm',
    Exten=89039904644,
    Priority=1,
    Context='default',
    CallerID='+79520031967',
)
client.send_action(action)
client.logoff()



При запуске скрипта получаю
Код: выделить все
== Manager 'zvonar' logged on from 192.168.0.99
  == Using SIP RTP CoS mark 5
    -- Called zadarm
    -- Got SIP response 486 "Busy" back from 185.45.152.161:5060
    -- SIP/zadarm-00000114 is busy
  == Manager 'zvonar' logged off from 192.168.0.99


Подскажите плиз как приготовить dialplan чтобы астериск звонил через sip на указанный номер
nonadminus
 
Сообщений: 9
Зарегистрирован: 30 сен 2020, 06:35

Re: Вызов абонента через sip и ami python

Сообщение nonadminus » 11 мар 2021, 10:56

Спасибо, разобрался уже) Сделал по другому
nonadminus
 
Сообщений: 9
Зарегистрирован: 30 сен 2020, 06:35

Re: Вызов абонента через sip и ami python

Сообщение larens53 » 25 май 2023, 13:41

Здравствуйте! Абсолютно аналогичная ситуация, генерирую с помощью YC текст в .wav, в Action передаю номере телефона, на который нужно позвонить, указал SIP. В extensions.conf указал аудиофайл для воспроизведения, но звонок не совершается. Документацию к ami читал, пробовал по разному, но всё не выходит. Может кто подскажет, как реализовать подобное или в чем допускать могу ошибку?

Код: выделить все
def make_call(phone_numbers):
    try:
            action = SimpleAction(
                'Originate',
                Channel='SIP/мойсип',
                Context='debt_autodial',
                Exten=phone_numbers,
                Priority='1',
                Callerid='1234'
            )
            response = ami_client.send_action(action)


extension.conf
Код: выделить все
[debt_autodial]
exten =>s,1,Answer()
same => n,Wait(1)
same => n,Playback(/home/alpha/debt_audio)
same => n,Hangup()


manager.conf
Код: выделить все
[autodial_usr]
secret = 12345
deny = 0.0.0.0/0.0.0.0
permit = 192.168.1.0/255.255.255.0
read = system, call, log, verbose, command, agent, user, originate
write = system, call, log, verbose, command, agent, user, originate
larens53
 
Сообщений: 7
Зарегистрирован: 25 май 2023, 13:25

Re: Вызов абонента через sip и ami python

Сообщение ded » 25 май 2023, 15:45

ded
 
Сообщений: 15803
Зарегистрирован: 26 авг 2010, 19:00

Re: Вызов абонента через sip и ami python

Сообщение Zavr2008 » 26 май 2023, 13:10

Неблагодарная тема, правильнее грохнуть ее.
Российские шлюзы E1 Alvis-GW. Модернизация УПАТС с E1, Установка FreePBX, Системы антифрод "в разрыв" потоков E1 PRI / SS#7 ISUP.
Аватар пользователя
Zavr2008
 
Сообщений: 2161
Зарегистрирован: 27 янв 2011, 01:35


Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH