AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

SHELL исполнение php-скрипта(РЕШЕНО)

Newbies/FAQ Forum 5 сообщений -
#1

пробую прописать работу битрикс24 с астериском, столкнулся с проблемой - при запросе результата исполнения php-скрипта получаю сам код этого скрипта

Asterisk 11.11.0
FreePBX Distro Stable-5.211.65

контекст откуда вызывается скрипт:

[from-trunk-sip-sip-provider-123456]
exten => _.,1,Set(GROUP()=OUT_2)
exten => _.,n,Set(bitrixname=${SHELL(/var/www/html/bitrix/callerid.php ${CALLERID(num)} 1,53)})
exten => _.,n,Wait(1)
exten => _.,n,NoOp(bitrixname=${bitrixname})
exten => _.,n,Set(CALLERID(name)=${bitrixname})
exten => _.,n,Goto(from-trunk,${EXTEN},1)


результат выполнения:

[code]== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [123456@from-trunk-sip-sip-provider_123456:1] Set("SIP/sip-provider_123456-0000239e", "GROUP()=OUT_2") in new stack
-- Executing [123456@from-trunk-sip-sip-provider_123456:2] Set("SIP/sip-provider_123456-0000239e", "bitrixname=") in new stack
-- Executing [123456@from-trunk-sip-sip-provider_123456:3] Wait("SIP/sip-provider_123456-0000239e", "1") in new stack
-- Executing [123456@from-trunk-sip-sip-provider_123456:4] NoOp("SIP/sip-provider_123456-0000239e", "bitrixname=") in new stack
-- Executing [123456@from-trunk-sip-sip-provider_123456:5] Set("SIP/sip-provider_123456-0000239e", "CALLERID(name)=") in new stack
-- Executing [123456@from-trunk-sip-sip-provider_123456:6] Goto("SIP/sip-provider_123456-0000239e", "from-trunk,123456,1") in new stack
-- Goto (from-trunk,123456,1)
-- Executing [123456@from-trunk:1] NoOp("SIP/sip-provider_123456-0000239e", "Catch-All DID Match - Found 123456 - You probably want a DID for this.") in new stack
-- Executing [123456@from-trunk:2] Set("SIP/sip-provider_123456-0000239e", "__FROM_DID=123456") in new stack
-- Executing [123456@from-trunk:3] Goto("SIP/sip-provider_123456-0000239e", "ext-did,s,1") in new stack
-- Goto (ext-did,s,1)
-- Executing [s@ext-did:1] ExecIf("SIP/sip-provider_123456-0000239e", "0?Set(__FROM_DID=s)") in new stack
-- Executing [s@ext-did:2] Gosub("SIP/sip-provider_123456-0000239e", "app-blacklist-check,s,1()") in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("SIP/sip-provider_123456-0000239e", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:2] Set("SIP/sip-provider_123456-0000239e", "CALLED_BLACKLIST=1") in new stack
-- Executing [s@app-blacklist-check:3] Return("SIP/sip-provider_123456-0000239e", "") in new stack
-- Executing [s@ext-did:3] Set("SIP/sip-provider_123456-0000239e", "CDR(did)=123456") in new stack
[2014-12-09 09:13:27] WARNING[29969][C-00001132]: ast_expr2.fl:470 ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected '', expecting $end; Input:
"" = ""
^
[2014-12-09 09:13:27] WARNING[29969][C-00001132]: ast_expr2.fl:474 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
-- Executing [s@ext-did:4] ExecIf("SIP/sip-provider_123456-0000239e", ""
#2

то есть, вы хотите, что бы шелл сам догадался как и чем ему интепретировать ваш PHP?
#3

Для начала не забывайте писать
#4

Да, верно, скрипты были через short-tag, переписал, заработало. Спасибо!
_________________
нубб, невероятно глупп
#5

madnex @ Вт Дек 09, 2014 07:56 писал(а):
Да, верно, скрипты были через short-tag, переписал, заработало. Спасибо!

я для себя завел еще одно правило мало того что писать в начале скрипта
Код:
#!/usr/bin/php
, еще и указывать путь в самом шеле

Код:
] /usr/bin/php /var/www/html/bitrix/callerid.php