32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Independentsoft.Sip.Methods;
|
|
using Independentsoft.Sip;
|
|
|
|
namespace SipComponent.Excera
|
|
{
|
|
public class ExceraSipMessageGenerator : SipMessageGenerator
|
|
{
|
|
public override Message Generate(string destinationID, string senderID, string sipServer, int sipServerPort, string text, bool groupSms = false)
|
|
{
|
|
Message sipMessage = base.Generate(destinationID, senderID, sipServer, sipServerPort, text);
|
|
|
|
sipMessage.ContentType = "application/octet-stream";
|
|
sipMessage.Header.Add("Content-Encoding", "base64");
|
|
sipMessage.Header.Add("Ais-Msg-Options", "service-attributes;transmission-type=defined;coding=unicode-16;rate=three-quarter");
|
|
if (groupSms)
|
|
sipMessage.Header.Add("Ais-Reach", "group");
|
|
else
|
|
sipMessage.Header.Add("Ais-Reach", "individual");
|
|
sipMessage.Header.Add("Ais-Service", "short-data");
|
|
|
|
sipMessage.Body = Convert.ToBase64String(Encoding.BigEndianUnicode.GetBytes(text));
|
|
|
|
return sipMessage;
|
|
}
|
|
}
|
|
}
|