admin
Рейтинг
+12.14
Сила
24.41

admin

admin

Оригинация звонка из PHP в Asterisk

Вариант 1
<?  
$strHost="127.0.0.1";  
$strUser="admin";  
$strSecret="****";  
$strChannel="Local/".$_GET["to"]."@from-provider";  
$strWaitTime="10";  
$strCallerId=$_GET["from"];  
$strReceiver=$_GET["from"];  
$strContext="from-provider";  
  
  $oSocket = @fsockopen($strHost, 5038, $errnum, $errdesc)  
or die("Connection to host failed");  
        fputs($oSocket, "Action: login\r\n");  
        fputs($oSocket, "Events: off\r\n");  
        fputs($oSocket, "Username: $strUser\r\n");  
        fputs($oSocket, "Secret: $strSecret\r\n\r\n");  
        fputs($oSocket, "Action: originate\r\n");  
        fputs($oSocket, "Channel: $strChannel\r\n");  
        fputs($oSocket, "WaitTime: $strWaitTime\r\n");  
        fputs($oSocket, "CallerID: $strCallerId\r\n");  
        fputs($oSocket, "Exten: $strReceiver\r\n");  
        fputs($oSocket, "Context: $strContext\r\n");  
        fputs($oSocket, "Priority: 1\r\n\r\n");  
        fputs($oSocket, "Action: Logoff\r\n\r\n");  
  while (!feof($oSocket)) {  
    $wrets .= fread($oSocket, 8192);  
  }  
 fclose($oSocket);  
  if (stripos($wrets, 'Originate successfully queued')) {  
    echo "Call completed ";  
  } else {  
    echo "No accept call ";  
  }  
?>


Вариант 2

if ( ! empty( $num ) )
{
        echo "Dialing $num\r\n";

        $timeout = 10;
        $asterisk_ip = "192.168.0.100";

        $socket = fsockopen($asterisk_ip,"5038", $errno, $errstr, $timeout);
        fputs($socket, "Action: Login\r\n");
        fputs($socket, "UserName: manager\r\n");
        fputs($socket, "Secret: gandalf\r\n\r\n");

        $wrets=fgets($socket,128);

        echo $wrets;

        fputs($socket, "Action: Originate\r\n" );
        fputs($socket, "Channel: SIP/$ext\r\n" );
        fputs($socket, "Exten: 9$num\r\n" );
        fputs($socket, "Context: outbound-dialing\r\n" );
        fputs($socket, "Priority: 1\r\n" );
        fputs($socket, "Async: yes\r\n\r\n" );

        $wrets=fgets($socket,128);
        echo $wrets;
}
else
{
        echo "Unable to determine number from (" . $_REQUEST[['n'] . ")\r\n";
}


xtelekom.ru — офисная ip телефония

[Вакансия] Руководитель комплексных IT-проектов. Москва

Обязанности

— Административное руководство проектом (сроки, бюджет, ресурсы, риски, результаты).
— Управление командой проекта.
— Взаимодействие с заказчиком в рамках проектов.
— Руководство созданием документации (договора, акты, календарные планы).
— Формирование и контроль выполнения заданий, формирование предложений, постановки задачи.

Читать дальше →

Установка OpenSIPS 1.6.1 на CentOS5 x64

X telekom может помочь вам на любом этапе внедрения VoIP технологий — от установки CentOS на сервере до установки и настройки OpenSIPS и Asterisk.
Если вы хотите сделать все самостоятельно, вот инструкция, которая должна помочь. Установка OpenSIPS v1.6.1 на CentOS 5 64-бита очень проста. Все зависимости можно установить с помощью YUM. Необходимые для OpenSIPS пакеты подтянутся автоматически. В данной инструкции OpenSIPS должен быть установлен с поддержкой MySQL.
До установки необходимо установить пакеты zlib, openssl, mysql.

Читать дальше →

Совещание

Петров пришел во вторник на совещание. Ему там вынули мозг, разложили по блюдечкам и стали есть, причмокивая и вообще выражая всяческое одобрение. Начальник Петрова, Недозайцев, предусмотрительно раздал присутствующим десертные ложечки. И началось.
— Коллеги, — говорит Морковьева, — перед нашей организацией встала масштабная задача. Нам поступил на реализацию проект, в рамках которого нам требуется изобразить несколько красных линий. Вы готовы взвалить на себя эту задачу?
— Конечно, — говорит Недозайцев. Он директор, и всегда готов взвалить на себя проблему, которую придется нести кому-то из коллектива. Впрочем, он тут же уточняет: — Мы же это можем?
Начальник отдела рисования Сидоряхин торопливо кивает:
— Да, разумеется. Вот у нас как раз сидит Петров, он наш лучший специалист в области рисования красных линий. Мы его специально пригласили на совещание, чтобы он высказал свое компетентное мнение.
— Очень приятно, — говорит Морковьева. — Ну, меня вы все знаете. А это — Леночка, она специалист по дизайну в нашей организации.
Читать дальше →

Назад в будущее

  • Linux
Что делать если tar при попытке разархивировать выдает ошибку «timestamp in the future»? Нужно добавить в опции параметр m.
tar -xmvf archive.tar
и если запаковано в .gz, то
tar -xmzvf archive.tar.gz

Windows 7 в качестве точки доступа Wi-Fi

  • Windows
Бывают ситуации когда интернет по wi-fi нужен прямо сейчас, а точки или роутера под рукой нет. Например нужно дать интернет телефону, при этом доступ есть у ноутбука. Создадим для такого случая точку доступа из ноутбука. Для этого в командной строке введем:
Читать дальше →

Установка драйвера и подключение раздела exFAT в Linux с возможностью записи

  • Linux
Для добавления возможности подключения ExFat разделов в Ubuntu выполните в консоли команды:

sudo -s
apt-get install python-software-properties
apt-add-repository ppa:relan/exfat
apt-get update
apt-get install fuse-exfat

Читать дальше →

SysAdminBlog.ru

Перенес сайт на VDS хостинг, теперь он работает гораздо быстрее. Но были кое какие проблемы в работе сайта, которые я сразу не заметил. Так что если найдете еще баги пишите тут или шлите в личку.

Нож настоящего сисадмина

Швейцарский нож с флешкой на 1Тб анонсировала компания Victorinox на всемирной конференции CES!

Швейцарский нож с флешкой на 1Тб

Открывашки для пива только не хватает.

Коды SIP ответов

SIP/2.0 100 Trying — Запрос обрабатывается, например, сервер обращается к базам данных, но местоположение вызываемого пользователя в настоящий момент не определено.

SIP/2.0 180 Ringing — Местоположение вызываемого пользователя определено. Ему дается сигнал о входящем вызове.

SIP/2.0 181 Call Is Being Forwarded — Прокси-сервер переадресует вызов к другому пользователю.

SIP/2.0 182 Queued — Вызываемый пользователь временно не доступен, но входящий вызов поставлен в очередь. Когда вызываемый пользователь станет доступным, он передаст финальный ответ.

SIP/2.0 200 OK — Команда успешно выполнена. На запрос INVITE означает, что вызываемое оборудование согласно на участие в сеансе связи; в теле ответа указываются функциональные возможности этого оборудования; На запрос BYE означает завершение сеанса связи, в теле ответа никакой информации не содержится; На запрос CANCEL означает отмену поиска, в теле ответа никакой информации не содержится; на запрос REGISTER означает, что регистрация прошла успешно; На запрос OPTION служит для передачи сведений о функциональных возможностях оборудования, эти сведения содержатся в теле ответа.

Читать дальше →

Включаем IP Forwarding в Linux

  • Linux
По умолчанию в большинстве дистрибутивов IP Forwarding выключен, но форвардинг может понадобится если на сервере будет подниматься VPN или например это будет роутер.
Проверить включен ли IP Forwarding можно так:
sysctl net.ipv4.ip_forward
cat /proc/sys/net/ipv4/ip_forward

Включить можно так (действовать будет до перезагрузки):
sysctl -w net.ipv4.ip_forward=1

или
echo 1 > /proc/sys/net/ipv4/ip_forward

Или жётско включить (действовать будет и после перезагрузки):
# grep forward /etc/sysctl.conf
net.ipv4.ip_forward = 1

В RedHat подобных:
# grep -i forward /etc/sysconfig/network
FORWARD_IPV4=true

в Debian (Ubuntu):
# grep -i forward /etc/network/options
ip_forward=yes

После правки конфигов (перманентное включение) необходимо перезапустить сеть. например, /etc/init.d/network restart
Note that: В OpenVPN используется первый способ (изменение на лету), это прописано в стартап скриптах.

Читать дальше →

Установка Asterisk на Debian. Часть 1.

Давно хотелось себе домой Asterisk для опытов. Есть задумка подключить городскую линию через Asterisk, но какой для этого использовать «сервер»? Из домашнего железа для этих целей подходят роутер и файлопомойка WD MyBook Live. У WD больше оперативной памяти, поэтому на нем и буду ставить опыты. Для подсоединения к городской линии мне еще потребуется sip шлюз с fxo интерфейсом, которого пока нет. Поэтому статью разобью на 3 части. 1 — установка и первичная настройка asterisk, 2 — подключение шлюза с fxs + fxo интерфейсами, 3 — стык с sip провайдером и настройка голосовой почты.

Часть 1. Установка и первичная настройка Asterisk

Для начала нужно включить SSH для доступа к консоли, для этого откроем httр://wd/UI/ssh и поставим галку «Доступ SSH: Включить». Логин\пароль по умолчанию root\welc0me. Заходим по SSH на LiveBook (например с помощью putty) и вводим
/opt/bin/ipkg install asterisk
Чтобы добавить звуки, поставим дополнительный пакет
ipkg -force-overwrite install asterisk-sounds

Читать дальше →

Кому 1.5м патч-корд 5e за 500 баксов?

патч-корд, ethernet, 5e
Вот такой симпатичный кабель продают всего по 500 баксов. Кабель был разработан для аудио энтузиастов, как написано на сайте производителей. Если постараться, то можно найти такой же кабель на амазоне за 10000$, а б\у начиная от 400$. Что в нем особенного, вроде как кабель «использует экран состоящий из сплава олова, не доступного в коммерческих кабелях, чтобы исключить потерю данных, вызванную шумом. Кроме того, сигнал направлен для оптимальной передачи сигнала.»
патч-корд, ethernet, 5e

Налетай, как говорится :)

PingTCP

  • Windows
Программа для проверки доступности TCP порта. Работает по аналогии с утилитой пинг, но позволяет проверять любой tcp порт.

Синтаксис запуска pingtcp:
pingport <ip> <port>

Пример результата работы если хост доступен
pingtcp.exe google.com 80
PingPort 1.0. TCP port access tester. http://sysadminblog.ru , http://xtelekom.ru

Reply from google.com:80 OK. Time=132ms
Reply from google.com:80 OK. Time=126ms
Reply from google.com:80 OK. Time=126ms
Reply from google.com:80 OK. Time=126ms
Reply from google.com:80 OK. Time=126ms
^C

Читать дальше →