First time here? Check out the FAQ!

Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Небольшой вопрос по call файлу (вопрос решил)

0

call файл исполняется замечательно, за одним исключением: в случае, если линия, на которую совершаем вызов, занята, он все равно исполняет контекст. Так и задумано? либо где-то я ошибся? И не совсем ясно, почему контекст начинает исполняться ДО того, как понимает, что линия занята... Можно ли это как-то вылечить? сборка elastix

К примеру звоним на номер 85700293, срабатывает handup, но уже перед ним идет исполнение контекста autodial-dial, хотя по сути номер телефона занят

-- IAX2/gsm-13171 is making progress passing it to Local/85700293@from-internal-000004aa;2
   
-- IAX2/gsm-13171 answered Local/85700293@from-internal-000004aa;2
 
-- Executing [666@autodial-dial:1] Playback("Local/85700293@from-internal-000004aa;1", "ozhidajte-soedinenija") in new stack
   
-- <Local/85700293@from-internal-000004aa;1> Playing 'ozhidajte-soedinenija.slin' (language 'ru')
   
-- Executing [h@from-internal:1] Macro("Local/85700293@from-internal-000004aa;2", "hangupcall") in new stack
   
-- Executing [s@macro-hangupcall:1] GotoIf("Local/85700293@from-internal-000004aa;2", "1?endmixmoncheck") in new stack
   
-- Goto (macro-hangupcall,s,9)
   
-- Executing [s@macro-hangupcall:9] NoOp("Local/85700293@from-internal-000004aa;2", "End of MIXMON check") in new stack
   
-- Executing [s@macro-hangupcall:10] GotoIf("Local/85700293@from-internal-000004aa;2", "1?nomeetmemon") in new stack
   
-- Goto (macro-hangupcall,s,28)
   
-- Executing [s@macro-hangupcall:28] NoOp("Local/85700293@from-internal-000004aa;2", "End of MEETME check") in new stack
   
-- Executing [s@macro-hangupcall:29] GotoIf("Local/85700293@from-internal-000004aa;2", "1?noautomon") in new stack
   
-- Goto (macro-hangupcall,s,34)
   
-- Executing [s@macro-hangupcall:34] NoOp("Local/85700293@from-internal-000004aa;2", "TOUCH_MONITOR_OUTPUT=") in new stack
   
-- Executing [s@macro-hangupcall:35] GotoIf("Local/85700293@from-internal-000004aa;2", "1?noautomon2") in new stack
   
-- Goto (macro-hangupcall,s,41)
   
-- Executing [s@macro-hangupcall:41] NoOp("Local/85700293@from-internal-000004aa;2", "MONITOR_FILENAME=") in new stack
   
-- Executing [s@macro-hangupcall:42] GotoIf("Local/85700293@from-internal-000004aa;2", "1?skiprg") in new stack
   
-- Goto (macro-hangupcall,s,45)
   
-- Executing [s@macro-hangupcall:45] GotoIf("Local/85700293@from-internal-000004aa;2", "1?skipblkvm") in new stack
   
-- Goto (macro-hangupcall,s,48)
   
-- Executing [s@macro-hangupcall:48] GotoIf("Local/85700293@from-internal-000004aa;2", "1?theend") in new stack
   
-- Goto (macro-hangupcall,s,50)
   
-- Executing [s@macro-hangupcall:50] AGI("Local/85700293@from-internal-000004aa;2", "hangup.agi") in new stack
   
-- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
   
-- <Local/85700293@from-internal-000004aa;2>AGI Script hangup.agi completed, returning 0
   
-- Executing [s@macro-hangupcall:51] Hangup("Local/85700293@from-internal-000004aa;2", "") in new stack
 
== Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'Local/85700293@from-internal-000004aa;2' in macro 'hangupcall'
 
== Spawn extension (from-internal, h, 1) exited non-zero on 'Local/85700293@from-internal-000004aa;2'
 
== Spawn extension (from-internal, 85700293, 5) exited non-zero on 'Local/85700293@from-internal-000004aa;2'
   
-- Executing [666@autodial-dial:2] Dial("IAX2/gsm-13171", "SIP/666,,tT") in new stack
 
== Using SIP RTP TOS bits 184
 
== Using SIP RTP CoS mark 5
   
-- Called SIP/666

call файл такой:

Channel: local/85700293@from-internal
MaxRetries: 5
RetryTime: 60
WaitTime: 30
Callerid: "85700293" <666>
Context: autodial-dial
Extension: 666
Priority: 1

спросил Sep 16 '14

nyll Gravatar nyll
1 8 1 5

обновил Sep 16 '14

Comments

так у вас вроде 5 попыток ?

awsswa (Sep 16 '14)edit

попыток-то 5, но он после первой неудачной (если линия занята), уже начинает иполнять контекст и удаляет call файл, считая, что вызов успешно выполнен, хотя по сути должен "уйти на второй круг". Если трубку не подыдмать, то идет повторный вызов, контекст не исполняется. Проблема только, когда линия занята, на которую дозваниваемся

nyll (Sep 16 '14)edit

autodial-dial может покажете.

romariosar (Sep 16 '14)edit

[autodial-dial]

exten => _XXX,1,Playback(ozhidajte-soedinenija)

exten => _XXX,2,Dial(SIP/${EXTEN},,tT)

exten => _XXX,3,Hangup()

Так а что на него смотреть, когда он выполняться должен только в случае успешного дозвона?)

nyll (Sep 16 '14)edit

romariosar,есть такое... шлюз gsm, но он вроде как дает отбой, но похоже, что АТС видит его позже, чем понимает, что номер телефона занят...

nyll (Sep 16 '14)edit

ну вы дебаг посмотрите а сразу поймете что у вас приходит от шлюза.

romariosar (Sep 16 '14)edit

ну все верно, шлюз сперва как я понял устанавливает соединение, а потом сразу его скидывает... Не подскажете, как вообще это можно обойти, не затрагивая настройки шлюза? Можно ли эту линию как-то грамотно отследить на состояние в самом контексте?

зы Заметил, что с городскими та же беда... Город по E1, шлюз и e1 и gsm - yeastar, внутри них только маршрутизация на сервер elastix...

nyll (Sep 16 '14)edit

скорее всего придется вам ваши шлюзы донастраивать.

romariosar (Sep 16 '14)edit

Всем спасибо. Решил проблему в транке на outgoing вместо type=peer поменял на type=friend, все стало на свои места :)

nyll (Sep 16 '14)edit

1 Ответ

0

ну так у вас происходит ответ:

IAX2/gsm-13171 answered Local/85700293@from-internal-000004aa;2

разбирайтесь почему у канал сразу в статусе Answer, вы случаем GSM шлюз не используете?

ссылка удалить спам редактировать

ответил Sep 16 '14

romariosar Gravatar romariosar flag of Russian Federation
588 93 11 44
http://www.webunix.ru/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: Sep 16 '14

Просмотрен: 251 раз

Обновлен: Sep 16 '14

Похожие вопросы:

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.