Спасибо за ответ, уже почти разобрался но ...
Приведу живой пример, у меня есть такое правило
Код: Выделить всё
[lcall]
exten => s,1,Dial(SIP/SOFTSWITCH/${CALLERID(dnid)},,tT)
exten => s,n,NoOp(SIP return code : ${DIALSTATUS})
exten => s,n,goto(status,${DIALSTATUS})
exten => status,1,NoOp(Enter status handler)
exten => status,n(BUSY),Hangup(17)
exten => status,n(NOT_INUSE),Hangup(18)
exten => status,n(UNAVAILABLE),Hangup(18)
exten => status,n(INVALID),Hangup(18)
exten => status,n(CONGESTION),Hangup(41)
А вот дамп астериска
Код: Выделить всё
[2013-12-01 15:25:19] VERBOSE[29164][C-00004a57] chan_sip.c: -- Got SIP response 603 "Decline" back from 175.45.38.10:5060
[2013-12-01 15:25:19] VERBOSE[5403][C-00004a57] app_dial.c: -- SIP/SOFTSWITCH-00008450 is busy
[2013-12-01 15:25:19] VERBOSE[5403][C-00004a57] app_dial.c: == Everyone is busy/congested at this time (1:1/0/0)
[2013-12-01 15:25:19] VERBOSE[5403][C-00004a57] pbx.c: -- Executing [s@lcall:3] NoOp("SIP/SOFTSWITCH-0000844f", "SIP return code : BUSY") in new stack
[2013-12-01 15:25:19] VERBOSE[5403][C-00004a57] pbx.c: -- Executing [s@lcall:4] Goto("SIP/SOFTSWITCH-0000844f", "status,BUSY") in new stack
[2013-12-01 15:25:19] VERBOSE[5403][C-00004a57] pbx.c: -- Goto (lcall,status,2)
[2013-12-01 15:25:19] VERBOSE[5403][C-00004a57] pbx.c: -- Executing [status@lcall:2] Hangup("SIP/SOFTSWITCH-0000844f", "17") in new stack
Так вот GOIP в случае если клиент не отвечает на звонок отправляет мне b]"Got SIP response 603 "Decline""[/b] который астериск принемает за
status,BUSY а нужно что бы было NO_USER_RESPONSE как это сделать, то есть как заставить астериску при ответе GOIP 603 понимать что это не ответили на звонок, а не то что клиент занят ?