Дано: следующий макрос [macro-faxsend] exten => s,1,NoOp(* FAX TRANSMIT *) exten => s,n,Answer() exten => s,n,Wait(5) exten => s,n,NoOp(* SETTING FAXOPT *) exten => s,n,Set(FAXOPT(ecm)=yes) exten => s,n,Set(FAXOPT(headerinfo)= Fax from OOO "Eurobytservice") exten => s,n,Set(FAXOPT(localstationid)=3275658) exten => s,n,Set(FAXOPT(maxrate)=14400) exten => s,n,Set(FAXOPT(minrate)=2400) exten => s,n,SendFAX(${PICTURE},d) exten => h,n,NoOp(FaxStatus : ${FAXSTATUS}) exten => h,n,NoOp(FaxStatusString : ${FAXSTATUSSTRING}) exten => h,n,NoOp(FaxError : ${FAXERROR}) exten => h,n,NoOp(RemoteStationID : ${REMOTESTATIONID}) exten => h,n,NoOp(FaxPages : ${FAXPAGES}) exten => h,n,NoOp(FaxBitRate : ${FAXBITRATE}) exten => h,n,NoOp(FaxResolution : ${FAXRESOLUTION}) exten => h,1,AGI(/var/test/testagi.pl)
При выполнении макроса после команды SendFAX вижу в логах: Spawn extension (macro-faxsend, s, 10) exited non-zero on 'DAHDI/2-1' in macro 'faxsend'. Команды диалплана после SendFAX соответственно не выполняются. Есть ли идеи как заставить команды выполняться?
Разобрался. Нужно было внимательнее читать про Макросы :) Если звонок состоялся, то по hangup макрос передает управление на экстеншн h в тот контекст из которого он вызван. И только если звонок не состоялся то управление передается на h самого макроса.
Задан: 2011-03-21 11:55:51 +0400
Просмотрен: 1,099 раз
Обновлен: Mar 22 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.