Страница 3 из 5
Re: Альтернатива FOP от Lynks
Добавлено: 26 апр 2011, 16:10
yalexand
mcsa2003 писал(а):
Код: Выделить всё
exten => s,n+2(normdial),noop(=normdial=)
exten => s,n,Set(DB(CURRCALL/${EXTTOCALL}/NUM)=${CALLERID(num)})
exten => s,n,Set(DB(CURRCALL/${EXTTOCALL}/NAME)=${CALLERID(name)})
exten => s,n,Dial(${ds})
exten => s,n,Set(DIALSTATUS=${IF($["${DIALSTATUS_CW}"!="" ]?${DIALSTATUS_CW}:${DIALSTATUS})})
exten => s,n,GosubIf($["${SCREEN}" != ""]?${DIALSTATUS},1)
FreePBX 2.6.0.3, Asterisk 1.6.2.17.2, PHP 5.2
А мне помог Ваш code. У меня FreePBX 2.5.1.5, Trixbox v2.8.0.1, Asterisk 1.6.0.9
Однако при попытке сделать вызов получаю сообщение справа вверху на жёлом фоне "Permission denied" и номер моего экстеншена на зелёном 'n/a' хотя поле "Your number" я заменил на номер своего SIP экстеншена. Есть разработчик, что нужно ещё подкрутить?
Re: Альтернатива FOP от Lynks
Добавлено: 26 апр 2011, 19:29
mcsa2003
Для Астера 1.6 еще надо как минимум заменить show channels concise на core show channels concise
Re: Альтернатива FOP от Lynks
Добавлено: 26 апр 2011, 22:12
mcsa2003
А у меня есть такой вопросик.
А почему Вы отслеживаете изменение статуса экстеншенов через show chennels, а не через события?
Re: Альтернатива FOP от Lynks.
Добавлено: 27 апр 2011, 09:22
yalexand
mcsa2003 писал(а):Заработало, но как-то очень странно
Аналогично - странно. Номер набирать позволяет, но кнопки все серые даже мой экстеншн. Видать тоже "не совпадает формат"
. Может подскажете как "формат" поправить, и где? Я чистый админ, php или JS не владею.
И, кстати, на скриншоте в правом верхнем углу зелёный номер и имя, а у меня всё так-же "n/a". Так и должно быть?
Уважаемый Автор, чем отличается "полная" версия от "неполной", кроме того, что не запрашивается PIN?
Re: Альтернатива FOP от Lynks
Добавлено: 27 апр 2011, 11:50
SVoy
switch, а как же "мы в ответе за тех, кого приручили.." (можно не отвечать;)
Re: Альтернатива FOP от Lynks
Добавлено: 27 апр 2011, 22:17
mcsa2003
to yalexand:
Скорее всего Вам надо в PHP.ini поставить значение register_globals в ON
http://www.php.net/manual/ru/security.globals.php
Я об этом писал в одном из сообщений в этой теме.
Также приведите что у Вас показывает
core show channels concise в момент, когда установлено хотя-бы одно соединение.
Re: Альтернатива FOP от Lynks
Добавлено: 28 апр 2011, 07:45
yalexand
Спасибо за помощь, моё сообщение было как раз обращением к Вам, тогда как Автор решил что я ему что-то предъявляю... Поскольку я с php абсолютно не знаком по ссылке
http://phpfaq.ru/globals не ходил. А развёрнутого объяснения вы не давали.
По сути проблемы: register_globals в ON в файле /etc/php.ini уже было установлено, но это не помогает. Может где-то другой php.ini есть.
Также приведите что у Вас показывает core show channels concise в момент, когда установлено хотя-бы одно соединение.
Вот вызов в Ringing
Код: Выделить всё
SIP/2355-08a22890!from-internal!2355!1!Ringing!AppDial!(Outgoing Line)!2355!ast_h323!3!4!(None)!1303958471.187
OOH323/10.74.100.5-b874!macro-dial!s!10!Ring!Dial!SIP/2355,"",t!2182!ast_h323!3!4!(None)!1303958470.186
Вот тот же вызов уже в процессе разговора
Код: Выделить всё
[root@TrixSIPtest init.d]# asterisk -rx 'core show channels concise'
SIP/2355-08a22890!from-internal!!1!Up!AppDial!(Outgoing Line)!2355!ast_h323!3!10!OOH323/10.74.100.5-b874!1303958471.187
OOH323/10.74.100.5-b874!macro-dial!s!10!Up!Dial!SIP/2355,"",t!2182!ast_h323!3!10!SIP/2355-08a22890!1303958470.186
Похоже есть "лишнее" последнее поле, но оно для разбора наверное не мешает.
Re: Альтернатива FOP от Lynks
Добавлено: 28 апр 2011, 11:07
mcsa2003
Текущее значение параметров php можно увидеть через phpinfo()
http://php.net/manual/ru/function.phpinfo.php
что показывает, в броузере
http://server/panel/extensions-realtime ... y=extstate ?
Формат не такой как надо, но это не влияет на индикацию зарегистрирован экстеншн или нет.
Ищите фрагмент
Код: Выделить всё
//если два абонента уже соединены
$tmp2=explode("!",$value);
if($tmp2[5]=="Bridged Call" )
меняйте
if($tmp2[5]=="Bridged Call" ) на i
f($tmp2[4]=="Up")
Ищите функцию function ExtrId($string)
меняйте содержимое на
Код: Выделить всё
function ExtrId($string)
{
if($string!="n/a")
{
//$string=" $string-";
//$leg1=substr($string,0,strpos($string,"-"));
//$leg1=substr($leg1,strpos($leg1,"/")+1);
//$leg1=strpos($leg1,"@")?substr($leg1,0,strpos($leg1,"@")):$leg1;
//$leg1=strpos($leg1,"|")?substr($leg1,0,strpos($leg1,"|")):$leg1;
//return $leg1;
$string=" $string-";
if(strpos($string, ',')!=0)
{
$leg1=substr($string, 0, strpos($string, ','));
}
else
{
$leg1=$string;
}
if(strpos($leg1, '-')!=0)
{
$leg1=substr($string,0,strpos($string,"-"));
}
if(strpos($leg1,"/")!=0)
{
$leg1=substr($leg1,strpos($leg1,"/")+1);
}
if(strpos($leg1,"@")!=0)
{
$leg1=strpos($leg1,"@")?substr($leg1,0,strpos($leg1,"@")):$leg1;
}
if(strpos($leg1,"|")!=0)
{
$leg1=strpos($leg1,"|")?substr($leg1,0,strpos($leg1,"|")):$leg1;
}
return $leg1;
}
}
Re: Альтернатива FOP от Lynks
Добавлено: 29 апр 2011, 08:24
yalexand
К сожалению не знаю как вообще отлаживать php, ведь всё что этот скрипт выполняет не напрямую попадает на страницу, там же JS... Поэтому с отладкой у меня большая проблема. Кроме манов на PHP ещё нужно JS изучить, ни то ни другое точно не в рамках этой задачи
Может в Вашей помощью удастся заставить работать этот инструмент.
До и После изменений обеих функций в extensions-realtime.php
Код: Выделить всё
{"0562395":{"Status":"0"},"0562396":{"Status":"0"},"2351":{"Status":"0"},"2352":{"Status":"0"},"2355":{"Status":"0"},"2391":{"Status":"0"},"2394":{"Status":"0"},"":{"Status":null},"0":""}
{"0562395":{"Status":"0"},"0562396":{"Status":"0"},"2351":{"Status":"0"},"2352":{"Status":"0"},"2355":{"Status":"0"},"2391":{"Status":"0"},"2394":{"Status":"0"},"":{"Status":null},"0":""}
И вот счастье (!) во время вызова:
Код: Выделить всё
{"0562395":{"Status":"0"},"0562396":{"Status":"0"},"2351":{"Status":"0"},"2352":{"Status":"0"},"2355":{"Status":"9"},"2391":{"Status":"0"},"2394":{"Status":"0"},"":{"Status":null},"0":""}
и во время разговора:
Код: Выделить всё
{"0562395":{"Status":"0"},"0562396":{"Status":"0"},"2351":{"Status":"0"},"2352":{"Status":"0"},"2355":{"Status":"1"},"2391":{"Status":"0"},"2394":{"Status":"0"},"":{"Status":null},"0":""}
Вот только почему-то на странице никаких изменений, все экстеншены, в т.ч. и 2355 постоянно серые.
Re: Альтернатива FOP от Lynks
Добавлено: 29 апр 2011, 12:51
mcsa2003
Какой броузер и какой PHP у Вас?