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

Macro => GoSub migration

0

Доброго времени,

собственно в связи с тем, что Macro таки вырезали в новом астериске назрела необходимость переписывать диалплан... все ничего, features.conf не могу побороть:

не работает

my-hangup => *0,self/caller,Gosub,"my-call-hangup,s,1"

asterisk 1.8

тоесть по логу оно начинает выполняться только после hangup'а...

-- Stopped music on hold on SIP/20-0000000a
--  Feature Found: my-hangup exten: my-hangup
--  Feature Found: my-hangup exten: my-hangup

== Spawn extension (my-call-hangup, s, 0) exited non-zero on 'SIP/20-0000000a'

кто то уже прошел по этим граблям ?

вариант с макросом вроде как работает:

my-hangup => *0,self/caller,Macro,macro-my-call-hangup

собстенно сам кнтекст с my-hangup:

[my-call-hangup]
exten => s,1,Set(SOFT_TERM=1)
exten => s,n,Hangup()
exten => s,n,Return
удалить закрыть спам изменить тег редактировать

спросил 2012-11-23 19:02:37 +0400

komrad123 Gravatar komrad123
3810 5 3 44

обновил 2012-11-24 12:54:25 +0400

2 Ответа

0

а кавычки там зачем?

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

ответил 2012-11-24 01:37:06 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

кавычки там затем, что так передаются несколько аргументов, конкретно тут для app Gosub.

komrad123 ( 2012-11-24 09:53:14 +0400 )редактировать

а без ковычек пробывал? ибо я вот без ковычек везде делаю и про кавычки первый раз слышу.

meral ( 2012-11-24 10:12:51 +0400 )редактировать

пробовал, ез кавычек все что дальше первой запятой воспринимается как MOH class.

и строчка:

== Spawn extension (my-call-hangup, s, 0) exited non-zero on 'SIP/20-0000000a'

как бы говорит о том что оно правильно уходит, только делает это после того как трубу положили...

; The syntax for declaring a dynamic feature is any of the following:

;<FeatureName> => <DTMFsequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,<AppArguments>[,MOHClass]]

;<FeatureName> => <DTMFsequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,"<AppArguments>"[,MOHClass]]

;<FeatureName> => <DTMFsequence>,<ActivateOn>[/<ActivatedBy>],<Application>([<AppArguments>])[,MOHClass]

komrad123 ( 2012-11-24 10:17:56 +0400 )редактировать

с третьим вариантом собственно такой же эффект

komrad123 ( 2012-11-24 10:24:56 +0400 )редактировать

my-hangup => *0,self/caller,Gosub(my-call-hangup,s,1)

meral ( 2012-11-24 11:49:01 +0400 )редактировать

еще можно вот так my-hangup => *0,self/caller,Dial(local/s@my-call-hangup/n)

meral ( 2012-11-24 11:51:26 +0400 )редактировать

про вариант со скобками я выше написал, про диал: в my-call-hangup Hangup который должен дропнуть второй канал, в случае с диалом оно дропнет если дронет не то. Добавл my-call-hangup ввопрос

komrad123 ( 2012-11-24 12:51:49 +0400 )редактировать

так это вообще не должно работать. ибо в момент вызова макроса там pbx нету.

meral ( 2012-11-24 14:31:53 +0400 )редактировать

еще раз, вариант с макросом вполне легален и работает с 1.4 до 1.8. вопрос как такое сделать на GoSub.

komrad123 ( 2012-11-24 18:21:44 +0400 )редактировать
0

Те же грабли. Gosub и Goto в applicationmap не работают. Macro выпилили, т.е. остается только Dial(Local/...)

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

ответил 2013-10-09 14:59:28 +0400

bb2kp Gravatar bb2kp
105 7 1 8

Comments

вот я щас не вспомню как так было, и что это была за версия *, но тогда Macro я не наблюдал. в 11.5 макросы на месте. А Gosub какаято не правилная замена.

komrad123 ( 2013-10-09 15:23:59 +0400 )редактировать

gosub и goto там НИКОГДА не работало. причина- в вызове features нет структуры pbx. вообще нет. и никак ее там не создать без переписывания половины кода астриска.

meral ( 2013-10-09 15:35:55 +0400 )редактировать

GoSub там из features вызывается, проблемма в том что работает не так как Macro, заменой которого она названа.

komrad123 ( 2013-10-09 15:53:10 +0400 )редактировать
  • Dial через Local работает, при этом теряется BRIDGEPEER. Т.е. для ряда задач этот способ бесполезен. Получается, что тут macro пока безальтернативен.
bb2kp ( 2013-10-10 11:31:18 +0400 )редактировать

Ваш ответ

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 ленту новостей

Статистика

Задан: 2012-11-23 19:02:37 +0400

Просмотрен: 1,179 раз

Обновлен: Oct 09 '13

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