ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Альтернатива FOP от Lynks

Раздел для разработчиков для обсуждения программных и аппаратных продуктов и их реализации.

Модераторы: april22, Zavr2008

Re: Альтернатива FOP от Lynks

Сообщение yalexand » 26 апр 2011, 16:10

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 экстеншена. Есть разработчик, что нужно ещё подкрутить?
Аватар пользователя
yalexand
 
Сообщений: 4
Зарегистрирован: 26 апр 2011, 16:02
Откуда: Кемерово

Re: Альтернатива FOP от Lynks

Сообщение mcsa2003 » 26 апр 2011, 19:29

Для Астера 1.6 еще надо как минимум заменить show channels concise на core show channels concise
mcsa2003
 
Сообщений: 23
Зарегистрирован: 08 апр 2011, 16:38

Re: Альтернатива FOP от Lynks

Сообщение mcsa2003 » 26 апр 2011, 22:12

А у меня есть такой вопросик.
А почему Вы отслеживаете изменение статуса экстеншенов через show chennels, а не через события?
mcsa2003
 
Сообщений: 23
Зарегистрирован: 08 апр 2011, 16:38

Re: Альтернатива FOP от Lynks.

Сообщение yalexand » 27 апр 2011, 09:22

mcsa2003 писал(а):Заработало, но как-то очень странно



Аналогично - странно. Номер набирать позволяет, но кнопки все серые даже мой экстеншн. Видать тоже "не совпадает формат" :?: . Может подскажете как "формат" поправить, и где? Я чистый админ, php или JS не владею.

И, кстати, на скриншоте в правом верхнем углу зелёный номер и имя, а у меня всё так-же "n/a". Так и должно быть?
Уважаемый Автор, чем отличается "полная" версия от "неполной", кроме того, что не запрашивается PIN?
Аватар пользователя
yalexand
 
Сообщений: 4
Зарегистрирован: 26 апр 2011, 16:02
Откуда: Кемерово

Re: Альтернатива FOP от Lynks

Сообщение SVoy » 27 апр 2011, 11:50

switch, а как же "мы в ответе за тех, кого приручили.." (можно не отвечать;)
Готов к труду и обороне!
http://svoy.in.ua - для своих
SVoy
 
Сообщений: 953
Зарегистрирован: 31 авг 2010, 10:24

Re: Альтернатива FOP от Lynks

Сообщение mcsa2003 » 27 апр 2011, 22:17

to yalexand:
Скорее всего Вам надо в PHP.ini поставить значение register_globals в ON http://www.php.net/manual/ru/security.globals.php
Я об этом писал в одном из сообщений в этой теме.

Также приведите что у Вас показывает core show channels concise в момент, когда установлено хотя-бы одно соединение.
mcsa2003
 
Сообщений: 23
Зарегистрирован: 08 апр 2011, 16:38

Re: Альтернатива FOP от Lynks

Сообщение yalexand » 28 апр 2011, 07:45

mcsa2003 писал(а):to yalexand:
Скорее всего Вам надо в PHP.ini поставить значение register_globals в ON http://www.php.net/manual/ru/security.globals.php
Я об этом писал в одном из сообщений в этой теме.

Спасибо за помощь, моё сообщение было как раз обращением к Вам, тогда как Автор решил что я ему что-то предъявляю... Поскольку я с 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

Похоже есть "лишнее" последнее поле, но оно для разбора наверное не мешает.
Аватар пользователя
yalexand
 
Сообщений: 4
Зарегистрирован: 26 апр 2011, 16:02
Откуда: Кемерово

Re: Альтернатива FOP от Lynks

Сообщение mcsa2003 » 28 апр 2011, 11:07

Текущее значение параметров 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" ) на if($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;
    }
}
mcsa2003
 
Сообщений: 23
Зарегистрирован: 08 апр 2011, 16:38

Re: Альтернатива FOP от Lynks

Сообщение yalexand » 29 апр 2011, 08:24

mcsa2003 писал(а):Текущее значение параметров php можно увидеть через phpinfo() http://php.net/manual/ru/function.phpinfo.php

что показывает, в броузере http://server/panel/extensions-realtime ... y=extstate ?

К сожалению не знаю как вообще отлаживать 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 постоянно серые.
Аватар пользователя
yalexand
 
Сообщений: 4
Зарегистрирован: 26 апр 2011, 16:02
Откуда: Кемерово

Re: Альтернатива FOP от Lynks

Сообщение mcsa2003 » 29 апр 2011, 12:51

Какой броузер и какой PHP у Вас?
mcsa2003
 
Сообщений: 23
Зарегистрирован: 08 апр 2011, 16:38

Пред.След.

Вернуться в Разработка

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH