Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / Помогите совершить звонок от несуществующего абонента (AMI + Originate)

Помогите совершить звонок от несуществующего абонента (AMI + Originate)

1 2>
Откуда: Харьков, Украина
Сообщений: 10

Помогите совершить звонок от несуществующего абонента (AMI + Originate)

Уже неделю разбираюсь с астериском 1.6, asterisk.ru и voip-info.org стали "настольными книгами" :) но от обилия терминов и настроек сознание кипит.

Не прошу решить за меня задачу, прошу лишь натолкнуть на путь истинный и указать где я туплю.

Задача: необходимо совершать исходящие звоноки по двум внешним sip каналам, дожидаться, когда абонент поднимет трубку, проигрывать файл и класть трубку.

Инструменты:

AMI + Originate

sip.conf

[general]
context=default
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
srvlookup=yes

register => KHRV_P2_577841900.141:xxxxxxxxxx@vg3.vegatele.com
register => KHRV_P2_577841900.142:xxxxxxxxxx@vg3.vegatele.com

[cti]
type=peer
context=default
callerid=CTI <7841900>
host=192.168.80.129
nat=no
directmedia=no
dtmfmode=info
call-limit=1
disallow=all
allow=ulaw
allow=g729

extensions.conf

[general]
static=yes
writeprotect=no
clearglobalvars=no

[demo]
exten => s,1,Answer
exten => s,1,Wait(1)
exten => s,1,Palayback(hello-world,skip)
exten => s,1,Hangup

[default]
include => demo

Команда:

Action: Originate
Channel: SIP/cti
Context: default
Prority: 1
Exten: 3386496

Ответ сервера:

Channel not specified

Конфиги были получены из стандартных путем удаления каментов и нехитрых изменений.

Прежде всего волнует вопрос что я не так делаю и как правильно написать (желательно пример кода)

Побочный эффект: при входящем звонке на 7841900 астериск действительно сообщает мне "Hello world" но в CLI все команды Answer Wait и т.д. повторяються 2 раза. С чем это связано?

И наконец, что в конфигах лишнее, а чего не хватает?

Заранее благодарю!
2010-10-30 14:23

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

Re: Помогите совершить звонок от несуществующего абонента (AMI + Originate)

у вас просто непонимание что и откуда берется

если допустить, что SIP/cti это ваш пир до провайдера, тогда AMI команда должна выглядеть так:

Action: Originate
Channel: SIP/cti/3386496
Context: default
Prority: 1
Exten: s
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-10-30 14:47

Откуда: Харьков, Украина
Сообщений: 10

Re: Помогите совершить звонок от несуществующего абонента (AMI + Originate)

switch:

у вас просто непонимание что и откуда берется

если допустить, что SIP/cti это ваш пир до провайдера, тогда AMI команда должна выглядеть так:

Action: Originate
Channel: SIP/cti/3386496
Context: default
Prority: 1
Exten: s
Попробовал. Не звонит, но ошибка другая: Originate failed. В CLI ошибки в pbx.c:9302 и app_queue.c:1109 функция device_state_cb: recived invalid event that had no device IE

Н.сч. непонимания что откуда берется - истинная правда. Сегодня еду за книжкой. Но, если Вас не затруднит, немогли бы Вы мне растолковать, что где должно содержаться в этих двух конфигах. Из данных у меня есть только: userid, password, authname и domain. Все эти данные, полученные у провайдера, я записал в строчки register и считал что этого достаточно, а в разделе [cti] я пытался описать виртуальный канал, который и должен быть вторым абонентом при обзвоне.

Т.е. правильно ли я понял из документации, что команда Originate совершает дозвон по номеру указанному в параметре Exten после чего передает управления в скрипт, указанный в параметре Context, а в этом скрипте я могу как раз и указать команды ответ, проиграть и положить трубку. Остаеться только неясным как выбрать одну из двух линий. по которой нужно звонить, уверен что это описываеться параметром Channel но не номер же телефона мне туда писать?

Есть предположение, что для полного описания линии команды register не достаточно, тогда мне надо продублировать все регистрационные данные в двух разделах для каждой из линий?
2010-10-30 15:09

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

Re: Помогите совершить звонок от несуществующего абонента (AMI + Originate)

С технической стороны подключение к провайдеру заключается в получении у него регистрационных данных: SIP логина, пароля, а также адрес прокси сервера, с которым устанавливать соединение. Эти параметры необходимо прописать в сервер аналогично тому, как создается транк для шлюза. Однако есть и отличия: в параметрах SIP подключения PEER Details нужно явно указать адрес сервера провайдера, а также прописать строку регистрации. Пример настроек для SIPNET:
[sipnet]
type=friend ;через этот аккаунт можно звонить и принимать звонки
username=0034567890 ;SIP ID пользователя
secret=TfbhlQGeTK0g ;SIP пароль
host=sipnet.ru ;Адрес сервера провайдера
nat=no
fromuser=0034567890 ;SIP ID пользователя
fromdomain=sipnet.ru ;доменное имя для учетной записи
dtmfmode=rfc2833 ;формат передачи тональных посылок
insecure=very ;разрешает серверу провайдера не проходить аутентификацию
context=from-pstn ;контекст для входящих вызовов
disallow=all ;запрещаем все кодеки
allow=alaw ;разрешаем только alaw
Большинство VoIP провайдеров требуют, чтобы ваша система регистрировалась. Для этого нужно правильно прописать строку регистрации (Register String). Пример:

username:password@sip.provider.ru

Многие провайдеры требуют указывать и номера DID, например:

username:password@sip.provider.ru/1234567

где 1234567 номер DID. Для примера с Sipnet строка регистрации будет выглядеть так:

0034567890:TfbhlQGeTK0g@sipnet.ru/0034567890

после этого можно звонить на провайдера так
SIP/sipnet/89177515872

если вы нормально пропишите транк (а он сейчас у вас прописан криво), то мой пример команды AMI будет работать в вашем случае. Вы вообще, проверяли свой транк? можете через него позвонить?

PS: оверквоттинг - первый признак неадеквата
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-10-30 15:33

Откуда: Харьков, Украина
Сообщений: 10

Re: Помогите совершить звонок от несуществующего абонента (AMI + Originate)

Спасибо за помощь switch, стало понятнее, земенил в sip.conf секцию [cti]. Вместо бреда написал следующее:

[line01]
type=peer
username=KHRV_P2_577841900.141
auth=yyyyyyyyyyy
secret=xxxxxxxxxx
host=vg3.vegatele.com
nat=yes
fromuser=KHRV_P2_577841900.141
fromdomain=vg3.vegatele.com
context=default
disallow=all
allow=alaw
allow=ulaw

[line02]
type=peer
username=KHRV_P2_577841900.142
auth=yyyyyyyyyyy
secret=xxxxxxxxxx
host=vg3.vegatele.com
nat=no
fromuser=KHRV_P2_577841900.142
fromdomain=vg3.vegatele.com
context=default
disallow=all
allow=alaw
allow=ulaw

после этого команда CLI> sip show peers стала показывать 2 online unmonitored peers.

Транк проверял следующим образом: если эти же данные забить в x-lite то можно сделать исходящий звонок на 3386496 с любой из линий.

Попробовал как Вы рекомендовали:

Action: Originate
Channel: SIP/line01/3386496
Context: default
Prority: 1
Exten: s

в телнете: Originate failed

в CLI много всего, привожу скриншот:


последние два сообщения - это результат попытки выполнить Originate
в середине состояние пиров
в начале - warning при reload'е - на это можно не обращать внимания?

Ещё раз большое спасибо, как всё проясняется когда объясняет опытный человек.

P.S. я вроде бы процетировал всё по-сути...
2010-10-30 16:27

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

Re: Помогите совершить звонок от несуществующего абонента (AMI + Originate)

варнинги - хрен бы с ними.
С X-Lite вы не верно делаете. От того, что прописываете все данные в него и пробуете звонить толку ноль целых хрен десятых.
Зарегистрируйте его на астериске в контекст, например, from-internal, для чего сделайте ему учетку в sip.conf

в экстенах напишите
[from-internal]
include => to-pstn
include => ext-local

[to-pstn]
exten=> _XXXXXX.,1,dial(SIP/line01/${EXTEN},30) ;типа маршрут в город

[ext-local]
exten=> 100,1,dial(SIP/100,30) ;типа номер для x-lite

потом попробуйте софтофоном позвонить в город через астериск

PS: и откройте для себя, наконец, putty и ssh
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-10-30 17:20

Avatara of SolarW
Откуда: Днепропетровск, Украина
Сообщений: 199

Re: Помогите совершить звонок от несуществующего абонента (AMI + Originate)

serenya:

vg3.vegatele.com
Извините что не в тему но любопытство замучало - это у вас услуга «IP линия» от Vega Телеком?
2010-10-30 21:02

Откуда: Харьков, Украина
Сообщений: 10

Re: Помогите совершить звонок от несуществующего абонента (AMI + Originate)

SolarW:

serenya:

vg3.vegatele.com
Извините что не в тему но любопытство замучало - это у вас услуга «IP линия» от Vega Телеком?
Да
2010-10-30 21:20

Avatara of zzuz
Откуда: SPb
Сообщений: 1307

Re: Помогите совершить звонок от несуществующего абонента (AMI + Originate)

скриншоты - это вещь!)))))
http://линия24.рф - Астериск и прочие бубны!
2010-10-30 23:12

Откуда: Харьков, Украина
Сообщений: 10

Re: Помогите совершить звонок от несуществующего абонента (AMI + Originate)

скриншоты, ssh, оверквотинг... а воз и ныне там :(

Уважаемые гуру, подскажите что я делаю не так при регистрации, дело в том, что после всех манипуляций перестали приниматься даже входящие вызовы. Вызов доходит до астериска (в CLI: Using SIP RTP CoS mark 5) и тут-же сбрасываеться :(

Помогите, кто разбираеться, пожалуйста...

Привожу модифицированные конфиги, всё упрощено до минимума:

sip.conf
[general]
register => KHRV_P2_577841900.141:xxxxxxxxxxxx:7841900D1TM@vg3.vegatele.com
srvlookup=yes
context=default
directmedia=no
disallow=all
allow=alaw
allow=ulaw

[line01]
type=friend
username=KHRV_P2_577841900.141
auth=7841900D1TM
secret=xxxxxxxxxxxx
host=vg3.vegatele.com
nat=yes
fromuser=KHRV_P2_577841900.141
fromdomain=vg3.vegatele.com
insecure=invite

extensions.conf
[general]
static=yes

[default]
exten => s,1,Answer
exten => s,2,Wait(1)
exten => s,3,Playback(hello-world,skip)
exten => s,4,Hangup
2010-10-31 11:47

1 2>
Добавить страницу в закладки:  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