PHP 7.1 или выше и расширение json
.
composer require innoscripta/ sipgate
Инициализировать класс sipgate
:
$ sipgate = Orkhanahmadov sipgate sipgate ();
Базовая аутентификация
Вы можете передать имя пользователя и пароль базовой аутентификации при инициализации класса:
$ sipgate = Orkhanahmadov sipgate sipgate ( ' [email protected] ' , ' secret ' );
Или вы можете установить базовую аутентификацию с помощью метода setBasicAuthCredentials()
:
$ sipgate = Orkhanahmadov sipgate sipgate ();
$ sipgate -> setBasicAuthCredentials ( ' [email protected] ' , ' secret ' );
Информация об аккаунте:
$ sipgate -> account ();
Возвращает массив данных учетной записи.
Получить пользователей:
$ sipgate -> users ();
Возвращает массив пользователей, зарегистрированных под учетной записью. Каждый элемент массива является экземпляром Orkhanahmadov sipgate ResourcesUser
и имеет следующие свойства:
$ user -> id ; // string
$ user -> firstname ; // string
$ user -> lastname ; // string
$ user -> email ; // string
$ user -> defaultDevice ; // string
$ user -> busyOnBusy ; // bool
$ user -> addressId ; // string
$ user -> directDialIds ; // array
$ user -> admin ; // bool
Получить пользовательские устройства:
Чтобы получить устройства пользователя, используйте метод devices()
и передайте экземпляр пользователя или идентификатор пользователя.
$ sipgate -> devices ( $ user );
// or
$ sipgate -> devices ( ' ABC-123 ' );
Возвращает массив устройств, зарегистрированных для данного пользователя. Каждый элемент массива является экземпляром Orkhanahmadov sipgate ResourcesDevice
и имеет следующие свойства:
$ device -> id ; // string
$ device -> alias ; // string
$ device -> type ; // string
$ device -> online ; // bool
$ device -> dnd ; // bool
$ device -> activePhonelines ; // array
$ device -> activeGroups ; // array
$ device -> credentials ; // array
$ device -> registered ; // array
$ device -> emergencyAddressId ; // string
$ device -> addressUrl ; // string
Активные звонки:
Используйте метод calls()
, чтобы получить список текущих вызовов.
$ sipgate -> calls ();
Возвращает массив текущих вызовов. Каждый элемент массива является экземпляром Orkhanahmadov sipgate ResourcesCall
и имеет следующие свойства:
$ call -> id ; // string
$ call -> firstname ; // string
$ call -> lastname ; // string
$ call -> email ; // string
$ call -> defaultDevice ; // string
$ call -> busyOnBusy ; // bool
$ call -> addressId ; // string
$ call -> directDialIds ; // array
$ call -> admin ; // bool
Инициировать новый звонок:
Используйте метод call()
чтобы инициировать новый вызов. Метод принимает 3 параметра:
$device
— принимает экземпляр устройства или идентификатор устройства. Это определяет, какое устройство вы хотите использовать для совершения вызова.$callee
— номер телефона, на который вы хотите позвонить.$callerId
(необязательно) — установите этот параметр, если вы хотите показывать другому вызываемому номер другой номер. При пропуске будет использоваться номер $device
. $ sipgate -> call ( $ device , $ callee , $ callerId );
Возвращает идентификатор сеанса вызова.
Завершение текущего вызова:
Используйте метод hangup()
для завершения текущего вызова. Метод принимает идентификатор вызова в качестве параметра:
$ sipgate -> hangup ( ' ABC-123 ' );
Запись текущего разговора:
Используйте метод record()
для записи текущего вызова. Метод принимает 3 параметра:
$callId
— уникальный идентификатор вызова.$value
— true
или false
, определяет начало или остановку записи.$announcement
— true
или false
, определяет, хотите ли вы воспроизвести объявление о записи звонка. $ sipgate -> record ( $ callId , $ value , $ announcement );
История звонков:
Используйте метод history()
для получения истории вызовов. Метод принимает массив опций:
connectionIds
— array
, определяет список расширений.types
— array
, определяет список типов, которые вы хотите получать в истории, может содержать одно из многих следующих значений: «ЗВОНОК», «ГОЛОСОВАЯ ПОЧТА», «SMS», «ФАКС».directions
- array
, определяет список направлений вызовов, которые вы хотите получать в истории, может содержать одно из многих следующих значений: «INCOMING», «OUTGOING», «MISSED_INCOMING», «MISSED_OUTGOING»archived
— bool
, установите true
, если вы хотите получать только заархивированные элементы истории.starred
— определяет, хотите ли вы получать помеченные или не помеченные элементы истории, один из следующих: «ЗВЕЗДОЧНЫЙ», «НЕЗВЕЗДОЧНЫЙ»from
- Определяет дату начала истории. Должно быть в формате ISO8601.to
— определяет дату окончания истории. Должно быть в формате ISO8601.phonenumber
— определяет номер телефона для поиска в истории.limit
— определяет значение «на страницу» для элементов истории.offset
— определяет значение «смещения» для элементов истории. $ sipgate -> history ([ ' from ' => ' 2019-07-10T19:32:18Z ' , ' to ' => ' 2019-07-22T19:32:18Z ' ]);
Возвращает массив элементов истории. Каждый элемент массива является экземпляром Orkhanahmadov sipgate ResourcesHistory
и имеет следующие свойства:
$ history -> id ; // string
$ history -> source ; // string
$ history -> target ; // string
$ history -> sourceAlias ; // string
$ history -> targetAlias ; // string
$ history -> type ; // string
$ history -> created ; // string
$ history -> lastModified ; // string
$ history -> direction ; // string
$ history -> incoming ; // bool
$ history -> status ; // string
$ history -> connectionIds ; // array
$ history -> read ; // bool
$ history -> archived ; // bool
$ history -> note ; // string
$ history -> endpoints ; // array
$ history -> starred ; // bool
$ history -> labels ; // array
$ history -> callId ; // string
$ history -> recordingUrl ; // string
$ history -> recordings ; // array
$ history -> duration ; // int
$ history -> responder ; // string
$ history -> responderAlias ; // string
composer test
Пожалуйста, посетите CHANGELOG для получения дополнительной информации о том, что изменилось за последнее время.
Пожалуйста, смотрите ВКЛАД для получения подробной информации.
Если вы обнаружите какие-либо проблемы, связанные с безопасностью, отправьте электронное письмо по адресу [email protected] вместо использования системы отслеживания проблем.
Лицензия MIT (MIT). Дополнительную информацию см. в файле лицензии.