Навигация:  МОДУЛЬ "УЧЕТ ЗВОНКОВ" > РАССЫЛКА SMS-УВЕДОМЛЕНИЙ > Служба PMTMessageService >

Настройка службы для рассылки SMS-сообщений

Предыдущая страницаВернуться в начало главыСледующая страница

Настройка соединения с базой данных

В конфигурации утилиты PMTMessageService.exe.config необходимы строка соединения с базой данных и пароль доступа на сайт http://sms16.ru в зашифрованном виде.

В файле перевода INTIS.SmsDelivery.map нужно прописать, какие параметры будут зашифрованы, кроме строки соединения:

Authorization=Авторизация

Authorization.Password=Пароль*EncodedString

Authorization.UserName=Логин

После этого запустить утилиту ToolSetup. В открывшемся окне на вкладке Авторизация указать пароль для доступа на сайт http://sms16.ru, на вкладке Database – выбрать SQL-сервер и базу данных, которая будет обслуживаться PMTMessageService, указать имя пользователя и пароль и нажать ОК. Зашифрованные пароль и строка соединения появятся в файле INTIS.SmsDelivery.ini. Зашифрованные значения необходимо скопировать и вставить для соотвествующих параметров конфигурации службы PMTMessageService (см. ниже).

 Рисунок 8.1. Утилита ToolSetup


Рисунок 8.1. Утилита ToolSetup

Конфигурация службы рассылки SMS-сообщений. Файл PMTMessageService.exe.config

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

 <configSections>

   <section name="HostService"

            type="PMT.Messaging.WindowsService.HostServiceSection, PMTMessageService"/>

 

   <section name="MessageService1"

            type="PMT.Messaging.Common.MessageServiceSection, Messages"/>

 

   <section name="SMSCollector"

            type="INTIS.SmsDelivery.PMT.SMS_MessageCollector, INTIS.SmsDelivery"/>

 

   <section name="SMSSender"

            type="INTIS.SmsDelivery.PMT.SMS_Sender, INTIS.SmsDelivery"/>

 </configSections>

 

 <!-- ExternalManagmentInterfaceUri - адрес, по которому будет доступна служба; "localhost:9919" необходимо заменить на требуемый адрес, можно указать любой незанятый открытый порт. Протокол "net.tcp" должен быть указан обязательно. -->

 <HostService StartImmediately="true"

              ServiceCount="1"

              ExternalManagmentInterfaceUri="net.tcp://localhost:9919/PMT_MessageService"/>

 

 <!--В параметре Description можно задать произвольное описание службы -->

 <MessageService1 MessageCollectorSection="SMSCollector"

                  MessageSenderSection="SMSSender"

                  Name="PMTSMSMessages"

                  Description="Сервис отправки СМС из БД Медиалог"

                  Cooldown="10"/>

 

 <!-- Login, Password - параметры доступа на сайт рассылки сообщений http://sms16.ru/

      Пароль в зашифрованном виде необходимо скопировать из файла INTIS.SmsDelivery.ini, предварительно настроив шифрование пароля в файле INTIS.SmsDelivery.map (см. выше)

      IsTransliterationRequired - для включения транслитерации SMS прописать значение "true"

      BaseURL - адрес сервиса отправки SMS -->

 <SMSSender Login="SENDERLOGIN"

            Password="1234E1C2D3BC4C7919ED8B892"/

            IsTransliterationRequired="true"

            BaseURL="https://xml.sms16.ru/xml">

 

 <!-- Параметр ConnectionString - строка соединения с базой данных в зашифрованном виде. Строку необходимо скопировать из файла INTIS.SmsDelivery.ini, предварительно настроив соединение с помощью утилиты ToolSetup.

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

      SenderName — произвольное имя отправителя.

      ResendTimeOut - интервал в секундах, через который будут повторно отправлены SMS-уведомление, отправка которых не удалась по "некритичным" причинам (например, нехватка денег на счете, неверно указанный "SenderName" и т.п.)

     -->

 <SMSCollector

  ConnectionString="366651019180CC89C9E39D8560C2FD573C3DDD3B5671627A8EFEDE70A4FF43A474037905279D96DA9287C4EC9A4AEDCD61176795204F7E7766C4C5DE61FCB76FA46514347733C597C8C0BDDEA5BD46EFD4333D7298616A7F76348DF4C47CE0D30DE5305D505F0399C4FA9481C2AFAC12E6CE7C0D67B073777C747189E3C967EA"

  ExpiredPeriod="1.1:00:00"

  SenderName="SENDERNAME"

  ResendTimeOut="300"

 />

</configuration>

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

Конфигурация службы ServiceGUI. Файл ServiceGUI.exe.config

<?xml version="1.0" encoding="utf-8"?>

<configuration>

   <system.serviceModel>

       <bindings>

           <netTcpBinding>

               <binding name="NetTcpBinding_IExternalManager" closeTimeout="00:01:00"

                  openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"

                  transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"

                  hostNameComparisonMode="StrongWildcard" listenBacklog="10"

                  maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10"

                  maxReceivedMessageSize="65536">

                   <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"

                      maxBytesPerRead="4096" maxNameTableCharCount="16384" />

                   <reliableSession ordered="true" inactivityTimeout="00:00:05"

                      enabled="false" />

                   <security mode="Transport">

                       <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign"></transport>

                       <message clientCredentialType="Windows" />

                   </security>

               </binding>

           </netTcpBinding>

       </bindings>

       <client>

 <!-- address - адрес, по которому доступна служба; "localhost:9919" необходимо заменить на адрес, указанный в файле  PMTMessageService.exe.config -->

           <endpoint address="net.tcp://localhost:9919/PMT_MessageService/svc"

              binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IExternalManager"

              contract="IExternalManager" name="NetTcpBinding_IExternalManager">

               <identity>

                   <servicePrincipalName value="host/m-srv-rpl.MEDSI1.local" />

               </identity>

           </endpoint>

       </client>

   </system.serviceModel>

</configuration>