First time here? Check out the FAQ!

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

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

спросил Nov 23 '12

komrad123 Gravatar komrad123
3810 5 3 44

обновил Nov 24 '12

2 Ответа

0

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

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

ответил Nov 23 '12

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

Comments

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

komrad123 (Nov 24 '12)edit

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

meral (Nov 24 '12)edit

пробовал, ез кавычек все что дальше первой запятой воспринимается как 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 (Nov 24 '12)edit

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

komrad123 (Nov 24 '12)edit

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

meral (Nov 24 '12)edit

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

meral (Nov 24 '12)edit

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

komrad123 (Nov 24 '12)edit

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

meral (Nov 24 '12)edit

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

komrad123 (Nov 24 '12)edit
0

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

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

ответил Oct 9 '13

bb2kp Gravatar bb2kp
105 7 1 8

Comments

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

komrad123 (Oct 9 '13)edit

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

meral (Oct 9 '13)edit

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

komrad123 (Oct 9 '13)edit
  • Dial через Local работает, при этом теряется BRIDGEPEER. Т.е. для ряда задач этот способ бесполезен. Получается, что тут macro пока безальтернативен.
bb2kp (Oct 10 '13)edit

Ваш ответ

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

Статистика

Задан: Nov 23 '12

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

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

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