Требования к пользовательскому приложению (информация для разработчика)

Parent Previous Next

Пользовательское приложение маршрутизации, указанное пользователем, запускается программным обеспечением Fax Voip T.38 Модем при выполнении Пользовательского метода маршрутизации (Microsoft Fax), после отправки факса. Индивидуальный разработчик отвечает за разработку этого приложения, создание графического интерфейса пользователя (GUI) для настройки правил и других параметров и за сохранение конфигурации. Функции приложения могут включать, но не ограничены печатью факсов, сохранением факсов, преобразованием графических изображений факса в текстовые файлы, доставкой факсов в приложениях электронной почты и т.д.


Ниже приведены общие требования, которые должны быть приняты во внимание разработчиками программного обеспечения при написании пользовательских приложений.



Аргументы командной строки


Командная строка, передаваемая в приложение, предопределена и содержит всю необходимую информацию. Разработчик может проанализировать командную строку в своем приложении, чтобы получить путь к факсу и другие важные параметры, такие как номер факса получателя, TSID, CSID и т. д.


Ниже приведен пример аргументов командной строки, переданных вашему приложению:


/@@@FaxFileName=C:\Users\UserAccountName\AppData\Local\Temp\201d656bff5f86f_occ\FAX.pdf

/@@@RecipientFaxNumber=19012223344 /@@@RecipientName=John Smith

/@@@SenderName=Dan Black /@@@SenderFaxNumber=(631) 490-2023

/@@@SenderTSID=(631) 490-2023 FAX /@@@SenderEmail=Dan@t38faxvoip.com

/@@@SenderCompany=FaxVoip Software, LLC /@@@SenderDepartment=Sales

/@@@SenderTitle=Sales Manager /@@@SenderOfficeLocation=14

/@@@SenderHomePhone=(425) 686-1097 /@@@SenderOfficePhone=(631) 490-1288

/@@@SenderAddress=324 6th Avenue\n10014 New York\nUSA /@@@SenderBillingCode=015

/@@@DocumentName=invoice07_10_20_003.pdf;Information.txt /@@@HasCoverPage=1

/@@@Subject=This is the subject line on the cover page of the fax.

/@@@PagesTotal=4 /@@@TiffSize=132386

/@@@CSID=(901) 222-3344 /@@@TSID=Fax Voip T.38 Modem /@@@Priority=1

/@@@SubmissionTime=07.10.2020@01:28:18 /@@@OriginalScheduledTime=07.10.2020@01:28:18

/@@@StartTime=07.10.2020@01:32:49 /@@@EndTime=07.10.2020@01:36:14 /@@@Duration=00:03:25

/@@@Retries=0 /@@@PagesTransferred=4 /@@@DeviceName=Fax Voip 14.4K TAPI Voice-Fax Modem

/@@@Status=OK /@@@JobId=201d656bff5f86f /@@@BroadcastId=2001d656bff5f75e


Аргументы командной строки приблизительно соответствуют элементам следующих объектов: FaxOutgoingJob, FaxOutgoingMessage, FaxRecipient, FaxSender, см. документацию Fax Service Extended COM Reference.


/@@@FaxFileName=

Временная копия факса (файл TIFF, PDF или SFF в зависимости от вашего выбора), связанная с отправляемым факсимильным документом. Этот файл и временная папка, в которой он находится (в папке %temp% для учетной записи текущего пользователя или учетной записи, под которой запущена служба Почта-на-факс (MS Fax)), должны быть удалены в пользовательском приложении маршрутизации после выполнения необходимых действий. Если флажок Создавать временную копию отправленного факса... не установлен, этот аргумент отсутствует в командной строке. См. также в главе Пользовательская маршрутизация исходящих факсов (Microsoft Fax) настоящего справочного руководства.

/@@@RecipientFaxNumber=

Номер факса получателя.

/@@@RecipientName=

Имя получателя. Отображается на титульной странице.

/@@@SenderName=

Имя отправителя.

/@@@SenderFaxNumber=

Номер факса отправителя.

/@@@SenderTSID=

Идентификатор передающей станции (TSID, Transmitting Subscriber Identification) для устройства отправителя, указанный в сведениях об отправителе. Передается в верхней части каждой страницы отправляемого факса. Обратите внимание, что в зависимости от настроек факс сервера, значение этой переменной может отличаться от фактически переданного идентификатора факса, см. также в главе Конфигурирование идентификатора и заголовка факса настоящего справочного руководства. См. также описание аргумента командной строки TSID.

/@@@SenderEmail=

Адрес электронной почты отправителя. В случае создания факса функцией Почта-на-факс, это адрес электронной почты отправителя, извлеченный из сообщения e-mail.

/@@@SenderCompany=

Название организации отправителя. Обычно передается в верхней части каждой страницы отправляемого факса в качестве заголовка факса (Fax Headline).

/@@@SenderDepartment=

Имя отдела отправителя.

/@@@SenderTitle=

Должность отправителя.

/@@@SenderOfficeLocation=

Номер офиса (комнаты) отправителя.

/@@@SenderHomePhone=

Номер домашнего телефона отправителя.

/@@@SenderOfficePhone=

Номер рабочего телефона отправителя.

/@@@SenderAddress=

Адрес отправителя. Обычно включает город, область, почтовый индекс и страну. Для индикации переноса строк используется символ '\n'.

/@@@SenderBillingCode=

Код биллинга, связанный с отправителем.

/@@@DocumentName=

Удобное имя, которое описывает отправляемый факс. В случае создания факса функцией Почта-на-факс, исходное имя документа, включая расширение файла. При отправке нескольких документов их имена разделяются точкой с запятой. При отправке факса, состоящего только из титульной страницы, заменяется пустой строкой. При отправке факса обычным способом (т.е. из программы Факсы и сканирование Windows), может постоянно заменяться бессмысленной строкой (например 'Test Fax'), из-за ошибок в программном обеспечении Microsoft Fax.

/@@@HasCoverPage=

Указывает, содержит ли факс титульную страницу. Допустимые значения: 1 - с титульной страницей, 0 - без титульной страницы.

/@@@Subject=

Содержит тему факса (отображается на титульной странице).

/@@@PagesTotal=

Общее количество страниц в исходящем факсе.

/@@@TiffSize=

Размер файла TIFF (Tagged Image File Format Class F, TIFF Class F), связанного с исходящим факсом, в байтах.

/@@@CSID=

Идентификатор принимающей станции (CSID, Called Subscriber Identification), принятый от получателя факса. Код CSID обычно состоит из номера факса получателя и названия организации.

/@@@TSID=

Идентификатор передающей станции (TSID, Transmitting Subscriber Identification), который был фактически передан получателю. В зависимости от настроек факс сервера, он может совпадать с SenderTSID, либо с TSID указанным в настройках факс устройства, которое использовалось для передачи факса.

/@@@Priority=

Важность факса. Допустимые значения: 0 - низкая, 1 - обычная, 2 - высокая.

/@@@SubmissionTime=

Время формирования задания исходящего факса, в формате 'mm.dd.yyyy@hh:mm:ss'.

/@@@OriginalScheduledTime=

Время, на которое первоначально была запланирована отправка факсимильного сообщения, в формате 'mm.dd.yyyy@hh:mm:ss'.

/@@@StartTime=

Время начала передачи исходящего факса, в формате 'mm.dd.yyyy@hh:mm:ss'.

/@@@EndTime=

Время окончания передачи исходящего факса, в формате 'mm.dd.yyyy@hh:mm:ss'.

/@@@Duration=

Представляет общее время, прошедшее между началом и окончанием передачи факса в формате 'hh:mm:ss'.

/@@@Retries=

В случае успешно отправленного факса, число предпринятых системой неудачных попыток отправить факс. В случае неудачной отправки факса, число предпринятых системой попыток отправить факс. Общее число разрешенных повторов зависит от установленного предельного значения.

/@@@PagesTransferred=

Число успешно переданных страниц факса.

/@@@DeviceName=

Имя устройства, которое использовалось при отправке факса.

/@@@Status=

Результат отправки факса. Примеры: OK (в случае успешной отправки факса), NO_ANSWER, BUSY.

/@@@JobId=

Уникальный номер, который идентифицирует задание факса, связанное с отправкой факсимильного документа.

/@@@BroadcastId=

Уникальный номер, присвоенный заданию факса в процессе отправки. При отправке факса более чем одному получателю, будут созданы отдельные задания факса, но как часть одной и той же рассылки, они будут иметь один и тот же идентификатор рассылки (Broadcast ID).



Временная копия отправленного факса


Если установлен флажок Создавать временную копию отправленного факса... (см. в главе Пользовательская маршрутизация исходящих факсов (Microsoft Fax) настоящего справочного руководства), Пользовательский метод маршрутизации создает временную папку и копирует исходящий факс (файл TIFF, PDF или SFF в зависимости от вашего выбора) в эту папку. Временная папка создается в папке %temp% для учетной записи текущего пользователя или учетной записи, под которой запущена служба Почта-на-факс (MS Fax) (если Fax Voip T.38 Модем запущен в качестве службы Windows). Путь к временному файлу (копия исходящего факса) передается в пользовательское приложение через аргумент командной строки FaxFileName, см. выше.


Например,

/@@@FaxFileName=C:\Users\UserAccountName\AppData\Local\Temp\201d656bff5f86f_occ\FAX.pdf

Путь к факсу (PDF формат):

C:\Users\UserAccountName\AppData\Local\Temp\201d656bff5f86f_occ\FAX.pdf

Путь к временной папке:

C:\Users\UserAccountName\AppData\Local\Temp\201d656bff5f86f_occ\


Временная папка, в которой находится факс (FAX.tif, FAX.pdf или FAX.sff), может использоваться вашим пользовательским приложением для хранения временных файлов, создаваемых вашим приложением.


Пользовательское приложение отвечает за удаление временной копии факса и временной папки, в которой она находится. Вы должны навсегда удалить временную папку в своем приложении после выполнения всех необходимых действий.


Если флажок Создавать временную копию отправленного факса... не установлен, Пользовательский метод маршрутизации не создает копию исходящего факса, однако пользовательское приложение все равно может получить доступ к факсу используя Fax Service API функции (на основе параметра Job ID, который также передается через командную строку).



Запуск под учетной записью текущего пользователя или учетной записью, под которой запущена служба Почта-на-факс (MS Fax)


Пользовательское приложение запускается с использованием учетной записи текущего пользователя или учетной записи, под которой запущена служба Почта-на-факс (MS Fax). Таким образом, соответствующая учетная запись должна иметь необходимый доступ к файлам, папкам и другим объектам, с которыми работает ваше приложение.



Завершение приложения


Пользовательский метод маршрутизации (Microsoft Fax) запускает пользовательское приложение маршрутизации в отдельном потоке путем вызова функции CreateProcess. Fax Voip T.38 Модем не отслеживает приложение после его запуска и не гарантирует его корректное завершение. Разработчик пользовательского приложения отвечает за правильное автоматическое завершение работы приложения после его выполнения.