- База знаний
- Пример файла конфигурации XML для Cisco 8851 phone
- Пример файла конфигурации XML для Cisco 7970 phone
- Пример файла конфигурации XML для Cisco 9971
- Отладка VoIP звонка с Wireshark
- Книги
- Использование поля Diversion в SIP пакете
- Астериск и Н.323
- ISDN release cause codes
- Пример файла конфигурации голосового шлюза Cisco
- Пример конфигурации интерфейса E1 PRI в голосовом шлюзе Cisco
- Аналоговое зло
- Интернациональные телефонные коды стран
- Практикум по интеграции Астериск в комплексе с OpenBSC/Osmocom
- Факс по IP
Команда System()
Назначение:
Выполнить команду операционной системы (Unix shell команду)Описание:
System(command)Выполняет команду операционной системы, используя системный вызов system().
Команда System() передает строку аргументов в неизменном виде для системного вызова system(3). Почитайте "man 3 system", где вы найдете, что можно делать, используя system(3):
system() выполняет команду ОС, заданную в качестве аргумента, вызывая шелл
/bin/sh -c command, и происходит вызов из system, когда вызываемая
программа закончит работу.
Следовательно, может использоваться вызов: System(command arg1 arg2 ит.д.) для передачи, вызываемой команде, аргументов.
Коды возврата
Возвращает -1 в случае неудачного выполнения заданной команды. Если во время выполнения команды возникла ошибка и существует команда с приоритетом n + 101, где 'n' приоритет текущей команды, тогда выполнение команд будет продолжено с этого приоритета. В остальных случаях возвращает 0.Пример 1
exten => s,1,system(echo "${DATETIME} - ${CALLERID} - ${CHANNEL}" >> /var/log/asterisk/calls)Пример 2
; dial 700 = перезагрузка Asterisk exten => 700,1,Playback(posix-restarting) ; "Restarting asterisk" exten => 700,2,Wait(1) exten => 700,3,System(/usr/sbin/asterisk -rx reload) exten => 700,4,Hangup
Пример 3
- Пример анонса о поступившем вызове с использованием WinPopup
exten => 200,1,NoOp(${CALLERID} ${DATETIME})
exten => 200,2,System(/bin/echo -e "'Incoming Call From: ${CALLERID} \\r Received: ${DATETIME}'"|/usr/bin/smbclient -M target_netbiosname)
exten => 200,3,Dial,sip/sipuser|30|t
exten => 200,4,Congestion
Пример 4
; Печать информации о вызове на принтер, подключенный к ttyS1exten => 200,1,NoOp(${CALLERID} ${DATETIME})
exten => 200,2,System(/bin/echo "'${CALLERID} ${DATETIME}'" > /dev/ttyS1)
exten => 200,3,Dial,sip/sipuser|30|t
exten => 200,4,Congestion
Ссылки по теме:
- Asterisk cmd TrySystem: В отличие от System(), возвращает 0 во всех ситуациях
- AGI: Asterisk Gateway Interface
- Call notification: Пример создания pop-up сообщений
- Вернуться в список команд