Hс_ss_voicemail_mailbox_modify

Изменить сообщения голосовой почты.

Команда позволяет промаркировать определенные сообщения голосовой почты.
Варианты маркировки :
- save - сохранить выбранный файл
- delete - удалить выбранный файл
- mark-as-read - пометить файл прочитанным
- mark-as-unread - пометить файл не прочитанным

Аналог команды в CoCon:

domain/<DOMAIN>/ss/voicemail/mailbox/modify

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/ss_voicemail_mailbox_modify

Код http ответа

204 – в случае успеха;
404 – в случае ошибки (с указанием ошибки в теле ответа).

Xsd схема XML запроса/ответа

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!-- modifyType -->
    <xs:simpleType name="modifyType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="mark-as-read"/>
            <xs:enumeration value="mark-as-unread"/>
            <xs:enumeration value="save"/>
            <xs:enumeration value="delete"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- modifyRecordType-->
    <xs:complexType name="modifyRecordType">
        <xs:attribute name="action" type="modifyType" use="required"/>
        <xs:attribute name="url" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- requestType-->
    <xs:complexType name="requestType">
        <xs:sequence>
            <xs:element name="modify" type="modifyRecordType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="domain" type="xs:string" use="required"/>
        <xs:attribute name="address" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- in-->
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="request" type="requestType"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>

CODE

Пример 1

Запрос на изменение существующей записи: http://192.168.1.21:9999/commands/ss_voicemail_mailbox_modify. При этом файл перемещается в папку с именем save/.

<in
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ss_voicemail_mailbox_modify.xsd">
    <request domain="biysk.local" address="240473">
        <modify action = "save" url = "http://system.restfs.ecss:9990/domain/biysk.local/subscribers/240473/voicemail/new/2019-11-15-09-53-32-83854416370.wav"/>
    </request>
</in>
CODE

Ответ: 204

Пример 2

Запрос на изменение НЕ существующей записи (записи после изменения): http://192.168.1.21:9999/commands/ss_voicemail_mailbox_modify Файла в папке new уже нет.

<in
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ss_voicemail_mailbox_modify.xsd">
    <request domain="biysk.local" address="240473">
        <modify action = "save" url = "http://system.restfs.ecss:9990/domain/biysk.local/subscribers/240473/voicemail/new/2019-11-15-09-53-32-83854416370.wav"/>
    </request>
</in>
CODE

Ответ: 404

<?xml version="1.0" encoding="UTF-8"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="ss_voicemail_mailbox_modify.xsd">
    <error cmd="hc_ss_voicemail_mailbox_modify" reason="nothing_to_modify" body="{error,nothing_to_modify}"/>
</out>
CODE

Пример 3

Запрос на изменение записи по не существующему адресу: http://192.168.1.21:9999/commands/ss_voicemail_mailbox_modify

<in
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ss_voicemail_mailbox_modify.xsd">
    <request domain="biysk.local" address="240999">
        <modify action = "save" url = "http://system.restfs.ecss:9990/domain/biysk.local/subscribers/240464/voicemail/new/2017-12-10-10-49-31-240471.wav"/>
    </request>
</in>
CODE

Ответ: 404

<?xml version="1.0" encoding="UTF-8"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="ss_voicemail_mailbox_modify.xsd">
    <error cmd="hc_ss_voicemail_mailbox_modify" reason="wrong_address" body="{error,wrong_address}"/>
</out>
CODE

Пример: 4

Пометить запись голосовой почты как прочитанную.

Запрос:

<in
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ss_voicemail_mailbox_modify.xsd">
    <request domain="biysk.local" address="240473">
        <modify action = "mark-as-read" url = "http://system.restfs.ecss:9990/domain/biysk.local/subscribers/240473/voicemail/new/2019-11-15-09-53-32-83854416370.wav"/>
    </request>
</in>
XML

Ответ: 204

Пример: 5

Удалить запись голосовой почты .

<in
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ss_voicemail_mailbox_modify.xsd">
    <request domain="biysk.local" address="240473">
        <modify action = "delete" url = "http://system.restfs.ecss:9990/domain/biysk.local/subscribers/240473/voicemail/save/2019-11-15-09-53-32-83854416370.wav"/>
    </request>
</in>
XML

Ответ: 204

Начиная с версии 3.14.4 теперь можно использовать вместо указания URL символ * для удаления всех записей в vmail box. 

Hс_ss_voicemail_mailbox_show

Просмотреть сообщения голосовой почты.

Аналог команды в CoCon:

domain/<DOMAIN>/ss/voicemail/mailbox/show

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/ss_voicemail_mailbox_show

Код http ответа

204 – в случае успеха;
404 – в случае ошибки (с указанием ошибки в теле ответа).

Xsd схема XML запроса/ответа

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<!-- recordType-->
	<xs:complexType name="recordType">
		<xs:attribute name="from" type="xs:string" use="required"/>
		<xs:attribute name="time" type="xs:string" use="required"/>
		<xs:attribute name="duration" type="xs:integer" use="required">
			<xs:annotation>
				<xs:documentation xml:lang="en">
					The duration of the calls' record (sec).
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="url" type="xs:string" use="required"/>
	</xs:complexType>
	<!-- requestType-->
	<xs:complexType name="requestType">
		<xs:attribute name="domain" type="xs:string" use="required"/>
		<xs:attribute name="address" type="xs:string" use="required"/>
	</xs:complexType>
	<!-- responseType-->
	<xs:complexType name="responseType">
		<xs:sequence>
			<xs:element name="unread" minOccurs="0" maxOccurs="unbounded" type="recordType"/>
			<xs:element name="read" minOccurs="0" maxOccurs="unbounded" type="recordType"/>
			<xs:element name="save" minOccurs="0" maxOccurs="unbounded" type="recordType"/>
		</xs:sequence>
		<xs:attribute name="size" type="xs:integer" use="required">
			<xs:annotation>
				<xs:documentation xml:lang="en">
					The size of the mailbox (sec).
				</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	<!-- in-->
	<xs:element name="in">
		<xs:complexType>
			<xs:all>
				<xs:element name="request" type="requestType"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
	<!-- out-->
	<xs:element name="out">
		<xs:complexType>
			<xs:all>
				<xs:element name="response" type="responseType"/>
			</xs:all>
		</xs:complexType>
	</xs:element>
</xs:schema>

CODE

Пример:

Запрос на просмотр списка голосовых сообщений:
http://192.168.1.21:9999/commands/ss_voicemail_mailbox_show

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="ss_voicemail_mailbox_show.xsd">
    <response size="6">
        <unread url="http://system.restfs.ecss:9990/domain/biysk.local/subscribers/240473/voicemail/new/2019-11-15-09-53-32-83854416370.wav" duration="6" time="15.11.2019 02:53:32" from="83854416370"/>
    </response>
</out>
XML

Ответ:200

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="ss_voicemail_mailbox_show.xsd">
    <response size="6">
        <unread url="http://system.restfs.ecss:9990/domain/biysk.local/subscribers/240473/voicemail/new/2019-11-15-09-53-32-83854416370.wav" duration="6" time="15.11.2019 02:53:32" from="83854416370"/>
    </response>
</out>
XML