originate method

Future<AmiResponse?> originate({
  1. required String channel,
  2. required String extension,
  3. required String context,
  4. String? callerId,
  5. int priority = 1,
  6. int timeout = 30000,
  7. bool async = false,
})

Originates a call from a channel to an extension.

Type-safe wrapper for the Originate action.

Implementation

Future<AmiResponse?> originate({
  required String channel,
  required String extension,
  required String context,
  String? callerId,
  int priority = 1,
  int timeout = 30000,
  bool async = false,
}) {
  final args = <String, String>{
    'Channel': channel,
    'Exten': extension,
    'Context': context,
    'Priority': priority.toString(),
    'Timeout': timeout.toString(),
    'Async': async ? 'yes' : 'no',
  };

  if (callerId != null) {
    args['CallerID'] = callerId;
  }

  return sendAction('Originate', args: args);
}