ami_commands.anubis 1.6 KB
/*
 * Created by PyramIDE.
 * User: Totoro
 * Date: 14/07/2013
 * Time: 01:34
 * 
 */

read calexium_lib/asterisk/ami_types.anubis

public define AMI_Action ami_login(String user, String password, Bool events) =
  action("Login", [
                   key_value("Username",user), 
                   key_value("Secret", password),
                   key_value("Events", if events then "on" else "off")
                  ]).

public define AMI_Action ami_login(String user, String password)=
  ami_login(user, password, true).
  
public define AMI_Action ami_login(AMI_Auth ami_auth) =
  if ami_auth is auth(user, password) then
    ami_login(user, password, true).

public define AMI_Action ami_login(AMI_Auth ami_auth, Bool event) =
  if ami_auth is auth(user, password) then
    ami_login(user, password, event).
    
public define AMI_Action ami_originate_call(String extension, String out_number) =
  action("Originate", [
          key_value("Channel",  "SIP/"+extension),
          key_value("CallerID", extension),
          key_value("Exten",    out_number),
          key_value("Context",  "default"),
          key_value("Priority", "1"),
          key_value("Async",    "true")
        ]
  )
.

public define AMI_Action 
  ami_originate_call
  (
    String extension, 
    String out_number, 
    String context
  )=
  action("Originate", [
          key_value("Channel",  "SIP/"+extension),
          key_value("CallerID", extension),          
          key_value("Exten",    out_number),
          key_value("Context",  context),
          key_value("Priority", "1"),
          key_value("Async",    "yes")
        ]
  )
.