После перехода на версию 1.6 разработчики внесли некоторые изменения. Поэтому будьте внимательны.
1) Разделитель.
Теперь в качестве разделителя используется только запятая, а вертикальная черта не будет восприниматься. Например
exten => s,1,Answer
exten => s,2,Playback(welcome-message)
; переход на контекст, определенный во включенном файле
exten => s,3,Goto(context-in-include-file,s,1)
А вот, что написано на официальном сайте
Разделитель, который отделяет аргументы приложения друг от друга, был заменен на запятую (‘,’), так как, именно его нормальные люди привыкли использовать для создания плана набора – extensions.conf. Если Вы используете механизм realtime, то Вам необходимо будет изменить существующий план набора в базе, которую использует realtime, чтобы и там использовался этот разделитель. Чтобы использовать запятую, как обычный символ, а не разделитель, просто экранируйте ее обратной наклонной чертой (‘\’). Другой возможный побочный эффект состоит в том, что возможно Вам понадобиться удалить излишнюю экранировку символов, которая была необходима для плена набора версий 1.4 и более ранних. Это было сделано с целью упрощения написания и понимания плана набора в будущем, но требует одноразового и достаточно болезненного перехода с одного формата на другой. Если Вы не хотите немедленно производить данные изменений, установите параметр pbx_realtime=1.4 в секцции [compat] файла asterisk.conf. После того, как изменения были произведены, установите pbx_realtime=1.6 в той же самой секции этого же файла.
2) Квадратные скобки
Теперь вместо конструкции
exten => 123456[456],1,Dial(IAX2/kiev-pbx/${EXTEN},120,Tt)
exten => 123456[456],n,HangUp
нужно писать такую
exten => _123456[456],1,Dial(IAX2/kiev-pbx/${EXTEN},120,Tt)
exten => _123456[456],n,HangUp
то есть описывать как шаблон
В противном случае будет идти отбой.