Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / звонок к сайта

звонок к сайта

1 234>
Откуда: PutinsBurg
Сообщений: 107

звонок к сайта

приветствую.

возникла необходимость на внутренних нужн на сайте сделать формочку, где бы можно было ввести два номера телефона и астериска бы сделала звонки на них и объединила разговоры...

с формой - понятно.

вопрос, как из perl\php скрипта дать команду астериску на выполнение некоторого макроса?

может уже есть какие нибудь решения?

спасибо.
2009-01-13 14:11

Avatara of Alekz
Откуда: Санкт-Петербург
Сообщений: 931

Re: звонок к сайта

call-файл, как самый очевидный вариант?
Создам аварийную ситуацию. Дорого. На долго =)
2009-01-13 14:12

Откуда: PutinsBurg
Сообщений: 107

Re: звонок к сайта

можно поподробней?
или где почитать можно?
2009-01-13 14:16

Avatara of Alekz
Откуда: Санкт-Петербург
Сообщений: 931

Re: звонок к сайта

http://www.voip-info.org/tiki-index.php?page=Asterisk+auto-dial+out
Появление файла в директории заставляет * совершать вызов на определенные exten. Это если в двух словах.
Создам аварийную ситуацию. Дорого. На долго =)
2009-01-13 14:21

Avatara of line24
Откуда: Санкт-Петербург
Сообщений: 568

Re: звонок к сайта

<?php
/**
* Скрипт "Звонок с сайта"
* Copyright (c) 2007, 2008, 2009 "Линия 24" http://pro.line24.ru
* welcome@line24.ru, icq:307020
*
* Здесь может быть ваша реклама.
*/

$phone = $_REQUEST['phone'];
$exten = $_REQUEST['exten'];

require_once('/var/lib/asterisk/agi-bin/phpagi-asmanager.php');

$asm = new AGI_AsteriskManager();
$asm->connect('localhost:5038', 'admin', 'password');
$asm->send_request('Originate',
array('Channel'=>"SIP/provider/".$phone,
'Context'=>'custom-to-office',
'Priority'=>'1',
'Exten'=>'s',
'Callerid'=>$phone,
'Timeout' => '30000',
'Variable' => "number=".$exten,
'Async'=>true));
$asm->disconnect();

?>

http://www.line24.ru - системы массового телефонного обслуживания.
2009-01-13 15:01

Откуда: PutinsBurg
Сообщений: 107

Re: звонок к сайта

Alekz
спасибо, с call файлами вроде работает, почти...

есть call file такого рода:
Channel: Local/252@incoming
Callerid: 111
MaxRetries: 0
RetryTime: 300
WaitTime: 45
Context: mytest
Extension: call
Priority: 1
Set: NUMBER=1234567

т.е. сначала звоним на 252, а потом уже в контекст mytest падаем
а там такое
[mytest]
exten => call,1,Answer
exten => call,n,NoOp(number to dial = ${NUMBER})
exten => call,n,Playback(transfer)
exten => call,n,Macro(CallToSPB,${NUMBER})
exten => call,n,Hangup


при подкладывания файла получается картина - идёт звонок на 252, там поднимаю трубку, почему то не слышно сообщения о том, что сейчас будет соединение, идёт звонок на 1234567, на нём поднимают трубку, секунду есть слышымость, а потом разрыв...
лог вот такой, говорит кодеки не согласовались, хотя слышно было!
-- Attempting call on Local/252@incoming for call@mytest:1 (Retry 1)
-- Executing [252@incoming:1] Macro("Local/252@incoming-d92b,2", "CallInternalSipClients|252") in new stack
-- Executing [s@macro-CallInternalSipClients:1] Dial("Local/252@incoming-d92b,2", "SIP/252|120|") in new stack
-- Called 252
-- SIP/252-08759000 is ringing
-- SIP/252-08759000 answered Local/252@incoming-d92b,2
-- Executing [call@mytest:1] NoOp("Local/252@incoming-d92b,1", "number to dial = 1234567") in new stack
-- Executing [call@mytest:2] Macro("Local/252@incoming-d92b,1", "CallToSPB|1234567") in new stack
-- Attempting call on Local/252@incoming for call@mytest:1 (Retry 1) 0|tTgj") in new stack
-- Called 88121234567@corbina
-- Local/252@incoming-d92b,1 requested special control 20, passing it to SIP/corbina-08766000
== Spawn extension (macro-CallInternalSipClients, s, 2) exited non-zero on 'Local/252@incoming-d92b,2' in macro 'CallInternalSipClients'
== Spawn extension (macro-CallInternalSipClients, s, 3) exited non-zero on 'Local/252@incoming-d92b,2'

[Jan 13 16:09:58] NOTICE[99540]: chan_sip.c:5577 process_sdp: No compatible codecs, not accepting this offer!
-- SIP/corbina-08766000 is making progress passing it to SIP/252-08759000
[Jan 13 16:09:58] NOTICE[99540]: chan_sip.c:5577 process_sdp: No compatible codecs, not accepting this offer!
-- SIP/corbina-08766000 is making progress passing it to SIP/252-08759000
[Jan 13 16:10:01] NOTICE[99540]: chan_sip.c:5577 process_sdp: No compatible codecs, not accepting this offer!

-- SIP/corbina-08766000 answered SIP/252-08759000
[Jan 13 16:10:07] WARNING[99540]: chan_sip.c:2109 __sip_autodestruct: Autodestruct on dialog '15c52afa3084858a04f751486fcef694@sip.corbina.net' with owner in place (Method: INVITE)
-- Executing [s@macro-CallToSPB:4] Hangup("SIP/252-08759000", "") in new stack
== Spawn extension (macro-CallToSPB, s, 15) exited non-zero on 'SIP/252-08759000' in macro 'CallToSPB'
== Spawn extension (macro-CallToSPB, s, 15) exited non-zero on 'SIP/252-08759000'
[Jan 13 16:10:07] NOTICE[99540]: pbx_spool.c:369 attempt_thread: Call completed to Local/252@incoming
[Jan 13 16:10:07] WARNING[99540]: chan_sip.c:12983 handle_response: Remote host can't match requestBYE to call '15c52afa3084858a04f751486fcef694@sip.corbina.net'. Giving up.


если звонить обычным образом - то звонится нормально...
2009-01-13 16:22

Откуда: PutinsBurg
Сообщений: 107

Re: звонок к сайта

ложная тревога!!!

всё работает на самом деле,

всем спасибо!
2009-01-13 18:22

Откуда: PutinsBurg
Сообщений: 107

Re: звонок к сайта

тут в ходе экспериментов заметил штуку, что соединение всегда происходит по gsm кодеку...

вопрос - как принудить использование g711 если он поддерживается обоими сторонами?
2009-01-13 21:09

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: звонок к сайта

опции в sip.conf:

diallow=all
allow=ulaw
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2009-01-14 00:50

Сообщений: 866

Re: звонок к сайта

Тут вольная трактовка "если он поддерживается обоими сторонами?".

Такой disallow+allow не оставляет другого выбора. И если хоть одна из сторон этот кодек не поддерживает (хоть такого и не случится наверняка) - звонок обломается.

Я бы попробовал установить переменную SIP_CODEC. Я не уверен как она работает но по крайней мере в коде есть ветка которая сообщает что значение было проигнорено потому как этот кодек не поддерживается обоими сторонами.
2009-01-14 04:27

1 234>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru