Skip to main content

System API AMI

Beschreibung Leistungsmerkmal

Das Asterisk Manager Interface (AMI) ist eine standardisierte Applikationsschnittstelle zum Management und Monitoring des LocaPhone-Vermittlungskerns.

APP AMI ist ein Client-/Server-Modell, welches über IP/TCP für entsprechende Clients die Möglichkeit bereit stellt, Kommandos abzusetzen und Events/Zustände des Vermittlungskerns abzufragen. Mittels APP AMI kann der Vermittlungskern angesteuert werden z.B. zum Aufbau von Verbindungen, zum Monitoring von Benutzern/Nebenstellen u.v.m.


Benutzung Leistungsmerkmal

Für einige Systemdienste sind bereits Konfigurationen hinterlegt, welche aktiviert werden und vor Benutzung von LocaPhone angepasst werden müssen.

Für einen eigenen Zugriff auf das APP AMI kann ein neuer Benutzer angelegt und mit den passenden Berechtigungen ausgestattet werden.


Voraussetzungen

Die einzelnen AMI-Benutzer müssen im Webinterface von LocaPhone unter 'Administration - Asterisk Manager' aktiviert werden.


Installation

Bei der Installation von LocaPhone werden für die notwendigen Systemdienste Symlinks angelegt.

root@voip:~#

BASH
cd ../manager.conf.d-enabled
ln -s ../manager.conf.d-available/xy.conf


Konfiguration

Für den Betrieb von LocaPhone müssen mehrere AMI-Benutzer im Webinterface von LocaPhone aktiviert werden. Templates dafür befinden sich bereits in /etc/locaphone/asterisk/manager.conf.d-available/.


AMI-Benutzer astbuttond

Für die Funktionalität des System-Dienstes astbuttond muss dieser AMI-Benutzer aktiviert werden.

/etc/locaphone/asterisk/manager.conf.d-available/astbuttond.conf

BASH
[astbuttond]                             ; System Dienst astbuttond
secret = <password>                      ; siehe locaphone.php und astbuttond.conf
deny = 0.0.0.0/0.0.0.0                   ; alle verbieten
permit = 127.0.0.1/255.255.255.0         ; von localhost erlauben
;permit = 192.168.1.0/255.255.255.0       ; von IP-Adresse TK-System UND Subnetz Endgeräte erlauben
writetimeout = 1000                      ; AMI -> Client
read = system,call,log,command,agent,user,config,reporting,originate,message
write = system,call,log,command,agent,user,config,reporting,originate,message


AMI-Benutzer gscc

Für das Leistungsmerkmal Rückruf (call completion) muss dieser AMI-Benutzer aktiviert werden.

/etc/locaphone/asterisk/manager.conf.d-available/gscc.conf

BASH
[gscc]                                   ; Call Completion
secret = <password>                      ; vorhandenes PW nicht ändern
deny = 0.0.0.0/0.0.0.0                   ; alle verbieten
permit = 127.0.0.1/255.255.255.0         ; von localhost erlauben
;permit = 192.168.1.140/255.255.255.255   ; vom Web-Server
writetimeout = 1000                      ; AMI -> Client
read = call
write = call


AMI-Benutzer uevg

Um User Events aus dem Webinterface von LocaPhone auszulösen muss dieser AMI-Benutzer aktiviert werden.

/etc/locaphone/asterisk/manager.conf.d-available/uevg.conf

BASH
[uevg]                                   ; User Event Generatoin
secret = <password>                      ; vorhandenes PW nicht ändern	
deny = 0.0.0.0/0.0.0.0                   ; alle verbieten
permit = 127.0.0.1/255.255.255.0         ; von localhost erlauben
;permit = 192.168.1.0/255.255.255.0      ; von IP-Adresse TK-System UND Subnetz Endgeräte erlauben
writetimeout = 1000
read = user,agent,command,call,reporting
write = system,user,agent,command,call,reporting,message


AMI-Benutzer phonesuite

Benutzer für den Zugriff des PhoneSuite CTI-Client/Servers auf LocaPhone.

/etc/locaphone/asterisk/manager.conf.d-available/phonesuite.conf

BASH
[phonesuite]							 ; username (without brackets) for PhoneSuite
secret = <password>                      ; bitte PW setzen/ändern
deny   = 0.0.0.0/0                       ; deny access from all IP addresses
permit = 192.168.0.0/16                  ; allow private subnets
permit = 10.0.0.0/8                      ;  "
permit = 172.16.0.0/12                   ;  " 
read   = call,command,originate 
write  = call,command,originate


Formate AMI-Benutzer

Das Format und die Parameter der AMI-Benutzer (xxxx.conf-Dateien) entsprechen denen der Datei manager.conf (siehe Doku). Für einen eigenen AMI-Benutzer kann eine vorhandene .conf-Datei als Template genutzt werden.

Optionen AMI-Benutzer

ParameterBeschreibungWertDefault
[Ami-Benutzer]AMI username (ohne Klammern)z.B. [astbuttond]verschiedene
secretAMI password (muss gesetzt sein!)z.B. <password>verschiedene
deny1sets an IP address ACL for addresses that should be denied the ability to authenticate as this userIP-Netz/Netzmaske0.0.0.0/0
permit1sets an IP address ACL for addresses that should be allowed the ability to authenticate as this userIP-Netz/Netzmaske192.168.0.0/16
writetimeouttimeout used by Asterisk when writing data to the AMI connection for this user.milliseconds1000
readdefines which manager events this AMI user will receiveParameterverschiedene
writedefines which manager actions this AMI user is allowed to executeParameterverschiedene

Berechtigungen read/write AMI-Benutzer

Berechtigungreadwrite
systemAllows user to receive general system information, such as notifications of configuration reloads.Allows user to perform system management commands such as Restart, Reload, or Shutdown.
callAllows user to receive events about channels on the system.Allows user to set information on channels.
logGives user access to logging information.read-only
command

write-only

Allows user to execute Asterisk CLI commands over the AMI.
agentGives user access to events regarding the status of agents from the app_queue and chan_agent modules.Enables user to perform actions for managing and retrieving the status of queues and agents.
userGrants access to user-defined events, as well as events about Jabber/XMPP users.Lets user perform the UserEvent manager action, which provides the ability to request that Asterisk generate a user-defined event. The UserEvent action is a useful mechanism for having messages delivered to other AMI clients.
configwrite-onlyAllows user to retrieve, update, and reload configuration files.
reportingGives user access to call-quality events, such as jitterbuffer statistics or RTCP reports.Enables user to execute a range of actions to retrieve statistics and status information from across the system.
originatewrite-onlyAllows user to execute the Originate action, which allows an AMI client to request that Asterisk create a new call.
message
Send an out of call message to an endpoint.


Commands AMI-Benutzer

Eine Übersicht im System aktiver AMI-Befehle ist auch im Vermittlungskern (mit Beschreibung) abrufbar.

ast-locaphone*CLI>

BASH
ast-locaphone*CLI> manager show commands
  Action                                       Synopsis
  ------                                       --------
  AbsoluteTimeout                              Set absolute timeout. 
  AGI                                          Add an AGI command to execute by 
  AOCMessage                                   Generate an Advice of Charge mess
  Atxfer                                       Attended transfer. 
  BlindTransfer                                Blind transfer channel(s) to the 
  Bridge                                       Bridge two channels already in th[...]
  [...]                                        [...]

ast-locaphone*CLI>

BASH
ast-locaphone*CLI> manager show command ping
[Syntax]
Action: Ping
[ActionID:] <value>

[Synopsis]
Keepalive command. 

[Description]
A 'Ping' action will ellicit a 'Pong' response. Used to keep the manager
connection open.

[Arguments]
ActionID
    ActionID for this transaction. Will be returned.

[See Also]
Not available

[Privilege]
<none>

[List Responses]
None

[Final Response]
None


Abhängigkeiten

Keine.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.