function Aastra_originate_Asterisk($channel, $context, $exten, $priority, $timeout, $callerID, $variable, $account, $application, $data) { # Prepare parameters if (Aastra_compare_version_Asterisk('1.6')) { $separator = ','; } else { $separator = '|'; } if (is_array($variable)) { $param1 = implode($separator, $variable); } else { $param1 = $variable; } if (is_array($data)) { $param2 = implode($separator, $data); } else { $param2 = $data; } # Asterisk Call using AGI $as = new AGI_AsteriskManager(); $res = $as->connect(); # Send the request $res = $as->originate($channel, $context, $exten, $priority, $timeout, $callerID, $param1, $account, $application, $param2); # Disconnect properly $as->disconnect(); # Return result return $res; }