Добрый день,
Подскажите что нет так? Мучусь уже 2 день.
[internal]
exten => XXX,1,Dial(SIP/${EXTEN})
exten => XXX,n, Hangup
exten => _7925XXXXXXX,1,Dial(SIP/multifon/${EXTEN},120)
exten => _7925XXXXXXX,n,HangUp
[from-multifon]
exten => _x.,1,GotoIf($["${CALLERID(num)}" = "7925xxxxxxx"]?callback,s,1)
exten => _x.,n,Hangup
[callback]
exten => s,1,System(/etc/asterisk/scripts/callback ${CALLERID(num)} &)
exten => s,n,Hangup
[disa1]
exten => s,1,Answer
exten => s,n,Wait(2)
exten => s,n,Playback(please-enter-your)
exten => s,n,Background(telephone-number)
exten => s,n,Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,DISA(no-password,default)
exten => s,n,HangUp
Содержимое /etc/asterisk/scripts/callback
#!/bin/sh
sleep 15
NUMBER=$1
echo "Channel: SIP/internal/$NUMBER
MaxRetries: 1
RetryTime: 10
WaitTime: 20
Context: disa1
Extension: 222
Priority: 1
AlwaysDelete: Yes" >/var/spool/asterisk/tmp/$NUMBER
mv /var/spool/asterisk/tmp/$NUMBER /var/spool/asterisk/outgoing/$NUMBER
Вот что получается
== Using SIP RTP CoS mark 5
-- Executing [792yyyyyyy@from-multifon:1] GotoIf("SIP/multifon-0000001b", "1?callback,s,1") in new stack
-- Goto (callback,s,1)
-- Executing [s@callback:1] System("SIP/multifon-0000001b", "/etc/asterisk/scripts/callback 7925yyyyyyy &") in new stack
-- Executing [s@callback:2] Hangup("SIP/multifon-0000001b", "") in new stack
== Spawn extension (callback, s, 2) exited non-zero on 'SIP/multifon-0000001b'
Не поверите, до сих пор не смог победить колбек с дисой.
Ситуация такая колбек и disa работает (немного перемудрил с первичным диалпланом), но только в режиме подкладки call файла вручную.
Тескт файла
Channel: SIP/multifon/79251234567
MaxRetries: 3
RetryTime: 60
WaitTime: 30
Context: disa1
Extension: s
Archive: Yes
Но скрипт этот в сочетании с екстеншином exten => s,1,System(/etc/asterisk/scripts/callback ${CALLERID(num)} > /tmp/callbackerror 2>&1 &)
exten => s,n,Hangup
#!/bin/sh
sleep 20
echo "Channel: SIP/multifon/$NUMBER
MaxRetries: 3
RetryTime: 60
WaitTime: 30
Context: disa1
Extension: s
Archive: Yes" >/var/spool/asterisk/tmp/$NUMBER
mv /var/spool/asterisk/tmp/$NUMBER /var/spool/asterisk/outgoing/$NUMBER
Не дает мне нужного результата. Мозги кипят, что делать. У меня подозрение, что он не передает номер вызывающего абонента в call файл.
<------------>
-- Executing [79261945604@from-multifon:1] GotoIf("SIP/multifon-00000002", "1?callback1,s,1") in new stack
-- Goto (callback1,s,1)
-- Executing [s@callback1:1] System("SIP/multifon-00000002", "/etc/asterisk/scripts/callback-1 &") in new stack
-- Executing [s@callback1:2] Hangup("SIP/multifon-00000002", "") in new stack
== Spawn extension (callback1, s, 2) exited non-zero on 'SIP/multifon-00000002'
Scheduling destruction of SIP dialog '020231880581400000007914@SFESIP1-id1-ext' in 6400 ms (Method: INVITE)
<--- Reliably Transmitting (NAT) to 193.201.229.35:5060 --->
SIP/2.0 603 Declined
Via: SIP/2.0/UDP 193.201.229.35:5060;branch=z9hG4bK5afuf01008v00p89r7s1.1;received=193.201.229.35;rport=5060
From: <sip:79251891044@10.190.35.17>;tag=95ffcd055e0f78f7d5d397020e89288d0725de9f
To: sip:79261945604-qr4vc4rvrgl30@10.190.35.4:5060;tag=as23833ad9
Call-ID: 020231880581400000007914@SFESIP1-id1-ext
CSeq: 1 INVITE
Server: Asterisk PBX 1.8.12.0
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 0
<------------>
<--- SIP read from UDP:193.201.229.35:5060 --->
ACK sip:79261945604@37.59.239.64:5060 SIP/2.0
Via: SIP/2.0/UDP 193.201.229.35:5060;branch=z9hG4bK5afuf01008v00p89r7s1.1
CSeq: 1 ACK
Max-Forwards: 19
From: <sip:79251891044@10.190.35.17>;tag=95ffcd055e0f78f7d5d397020e89288d0725de9f
To: <sip:79261945604-qr4vc4rvrgl30@10.190.35.4:5060>;tag=as23833ad9
Call-ID: 020231880581400000007914@SFESIP1-id1-ext
Content-Length: 0
<------------->
--- (8 headers 0 lines) ---
Really destroying SIP dialog '79f7c47b0195ccf046b6a13007c96624@37.59.239.64' Method: REGISTER
Really destroying SIP dialog '020231880581400000007914@SFESIP1-id1-ext' Method: ACK
<--- SIP read from UDP:178.63.16.146:5060 --->
SIP/2.0 200 OK
CSeq: 164 REGISTER
Via: SIP/2.0/UDP 37.59.239.64:5060;branch=z9hG4bK0b8d5e22;rport
From: <sip:1000054983@soft.mob1.biz>;tag=as0e8a3418
Call-ID: 6db054283765f29f4619f6fb348ae9a8@37.59.239.64
To: <sip:1000054983@soft.mob1.biz>;tag=1150582588654835
Contact: <sip:1000054983@37.59.239.64:5060>;expires=40
Expires: 40
Content-Length: 0
<------------->
--- (9 headers 0 lines) ---
Scheduling destruction of SIP dialog '6db054283765f29f4619f6fb348ae9a8@37.59.239.64' in 32000 ms (Method: REGISTER)
Reliably Transmitting (NAT) to 213.133.98.3:5060:
OPTIONS sip:222@213.133.98.3 SIP/2.0
Via: SIP/2.0/UDP 37.59.239.64:5060;branch=z9hG4bK04bde992;rport
Max-Forwards: 70
From: "asterisk" <sip:asterisk@37.59.239.64>;tag=as6a6d78f4
To: <sip:222@213.133.98.3>
Contact: <sip:asterisk@37.59.239.64:5060>
Call-ID: 1fc30bd141e953f40bc7ec3973f5f076@37.59.239.64:5060
CSeq: 102 OPTIONS
User-Agent: Asterisk PBX 1.8.12.0
Date: Fri, 03 Aug 2012 05:50:58 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 0
<--- SIP read from UDP:213.133.98.3:5060 --->
SIP/2.0 481 Call/Transaction Does Not Exist
Via: SIP/2.0/UDP 37.59.239.64:5060;branch=z9hG4bK04bde992;received=37.59.239.64;rport=5060
From: "asterisk" <sip:asterisk@37.59.239.64>;tag=as6a6d78f4
To: <sip:222@213.133.98.3>
Call-ID: 1fc30bd141e953f40bc7ec3973f5f076@37.59.239.64:5060
CSeq: 102 OPTIONS
Content-Length: 0
<------------->
--- (7 headers 0 lines) ---
Really destroying SIP dialog '1fc30bd141e953f40bc7ec3973f5f076@37.59.239.64:5060' Method: OPTIONS
Reliably Transmitting (NAT) to 193.201.229.35:5060:
OPTIONS sip:multifon.ru SIP/2.0
Via: SIP/2.0/UDP 37.59.239.64:5060;branch=z9hG4bK68689680;rport
Max-Forwards: 70
From: "asterisk" <sip:79261945604@37.59.239.64>;tag=as43eeadac
To: <sip:multifon.ru>
Contact: <sip:79261945604@37.59.239.64:5060>
Call-ID: 27d6278057fd06c8390048807e4db2a3@37.59.239.64:5060
CSeq: 102 OPTIONS
User-Agent: Asterisk PBX 1.8.12.0
Date: Fri, 03 Aug 2012 05:50:58 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 0
<--- SIP read from UDP:193.201.229.35:5060 --->
SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP 37.59.239.64:5060;received=37.59.239.64;branch=z9hG4bK68689680;rport=5060
From: "asterisk" <sip:79261945604@37.59.239.64>;tag=as43eeadac
To: <sip:multifon.ru>;tag=aprqngfrt-1n7qa230000c6
Call-ID: 27d6278057fd06c8390048807e4db2a3@37.59.239.64:5060
CSeq: 102 OPTIONS
Reason: Q.850;cause=55;text="Call Terminated"
<------------->
--- (7 headers 0 lines) ---
Really destroying SIP dialog '27d6278057fd06c8390048807e4db2a3@37.59.239.64:5060' Method: OPTIONS
Really destroying SIP dialog '6db054283765f29f4619f6fb348ae9a8@37.59.239.64' Method: REGISTER
Really destroying SIP dialog '61cd176b77802aad0034aff938dab2fb@37.59.239.64' Method: REGISTER
i-peak*CLI>
Проблема была в скрипте!
Вот рабочий вариант
#!/bin/sh
sleep 5
NUMBER=$1
echo "Channel: SIP/multifon/$NUMBER
MaxRetries: 1
RetryTime: 30
WaitTime: 30
Context: disa1
Extension: s
Priority: 1
AlwaysDelete: Yes
" > /var/spool/asterisk/tmp/$NUMBER.call
mv /var/spool/asterisk/tmp/$NUMBER.call /var/spool/asterisk/outgoing/
Он почему то не создает файл
fedorchuk ( 2012-07-30 15:25:25 +0400 )редактироватьЛог неполный.
zzuz ( 2012-07-30 17:14:21 +0400 )редактироватьКакой смысл от дебага SIP пакетов , если Вы ждете выполнения скрипта? Какое отношение имеет скрипт к стеку SIP ?
zzuz ( 2012-08-03 10:47:19 +0400 )редактироватьВот я и спрашиваю, что делать и где рыть?
fedorchuk ( 2012-08-03 15:55:41 +0400 )редактироватьСмотреть лог звонка. Конкретно смотреть лог выполнения диаплана. Не мешало бы в скрипт запихать хоть какое-либо логгирование.
zzuz ( 2012-08-03 17:33:03 +0400 )редактироватьк сожалению не знаю как это сделать
fedorchuk ( 2012-08-03 19:34:50 +0400 )редактироватьмой ответ ниже смотрели?
Olpag ( 2012-08-04 00:22:12 +0400 )редактировать