public static void InboundSmsGetDetails(
            HeContext heContext,
            out string MSISDN,
            out string LargeAccount,
            out string Message,
            out string BinaryMessage,
            out string UDH,
            out string MessageId,
            out int Priority,
            out string Encoding,
            out string Connection,
            out string OperatorCode,
            out DateTime Sent,
            out string Custom1,
            out string Custom2,
            out string Custom3)
        {
            MSISDN        = "";
            LargeAccount  = "";
            Message       = "";
            BinaryMessage = "";
            UDH           = "";
            MessageId     = "";
            Priority      = 0;
            Encoding      = "";
            Connection    = "";
            OperatorCode  = "";
            Sent          = new DateTime(1900, 1, 1, 0, 0, 0);
            Custom1       = "";
            Custom2       = "";
            Custom3       = "";
            if (heContext.MOMsg == null)
            {
                throw new InvalidOperationException("Runtime is not processing an inbound SMS");
            }
            MobileOriginatedMessage MOMsg = heContext.MOMsg;

            MSISDN        = MOMsg.MSISDN;
            LargeAccount  = MOMsg.LargeAccount;
            Message       = MOMsg.Message;
            BinaryMessage = MOMsg.BinaryMessage;
            UDH           = MOMsg.UDH;
            MessageId     = MOMsg.MessageId;
            Priority      = MOMsg.Priority;
            Encoding      = MOMsg.Encoding.ToString();
            Connection    = MOMsg.Connection;
            OperatorCode  = MOMsg.OperatorCode;
            Sent          = MOMsg.Sent;
            Custom1       = MOMsg.Custom1;
            Custom2       = MOMsg.Custom2;
            Custom3       = MOMsg.Custom3;
        }
        public SmsNode()
        {
            MobileOriginatedMessage mo = AppInfo.GetAppInfo().OsContext.MOMsg;

            if (mo != null)
            {
                MTMsg.Connection        = mo.Connection;
                MTMsg.OperatorCode      = mo.OperatorCode;
                MTMsg.MSISDN            = mo.MSISDN;
                MTMsg.LargeAccount      = mo.LargeAccount;
                MTMsg.OriginalMessageId = mo.MessageId;
                MTMsg.Custom1           = mo.Custom1;
                MTMsg.Custom2           = mo.Custom2;
                MTMsg.Custom3           = mo.Custom3;
            }
            var appInfo = AppInfo.GetAppInfo();

            MTMsg.TenantId   = appInfo.Tenant.Id;
            MTMsg.TenantPath = appInfo.eSpaceName;
            MTMsg.eSpaceId   = appInfo.eSpaceId;
            MTMsg.UserId     = appInfo.OsContext.Session.UserId;
        }
 public static void DoOnMobileOriginatedMessage(HeContext heContext, ref MobileOriginatedMessage Msg)
 {
                 #if false
     RCSMSMORecord smsMoIn = new RCSMSMORecord();
     RCSMSMORecord smsMoOut;
     smsMoIn.ssSTSMSMO.ssMSISDN        = Msg.MSISDN;
     smsMoIn.ssSTSMSMO.ssLargeAccount  = Msg.LargeAccount;
     smsMoIn.ssSTSMSMO.ssMessage       = Msg.Message;
     smsMoIn.ssSTSMSMO.ssBinaryMessage = Msg.BinaryMessage;
     smsMoIn.ssSTSMSMO.ssUDH           = Msg.UDH;
     smsMoIn.ssSTSMSMO.ssMessageId     = Msg.MessageId;
     smsMoIn.ssSTSMSMO.ssPriority      = Msg.Priority;
     smsMoIn.ssSTSMSMO.ssEncoding      = Msg.Encoding.ToString();
     smsMoIn.ssSTSMSMO.ssConnection    = Msg.Connection;
     smsMoIn.ssSTSMSMO.ssOperatorCode  = Msg.OperatorCode;
     smsMoIn.ssSTSMSMO.ssSent          = Msg.Sent;
     smsMoIn.ssSTSMSMO.ssCustom1       = Msg.Custom1;
     smsMoIn.ssSTSMSMO.ssCustom2       = Msg.Custom2;
     smsMoIn.ssSTSMSMO.ssCustom3       = Msg.Custom3;
     Actions.ActionOnMobileOriginatedMessage(heContext, smsMoIn, out smsMoOut);
     Msg.MSISDN        = smsMoOut.ssSTSMSMO.ssMSISDN;
     Msg.LargeAccount  = smsMoOut.ssSTSMSMO.ssLargeAccount;
     Msg.Message       = smsMoOut.ssSTSMSMO.ssMessage;
     Msg.BinaryMessage = smsMoOut.ssSTSMSMO.ssBinaryMessage;
     Msg.UDH           = smsMoOut.ssSTSMSMO.ssUDH;
     Msg.MessageId     = smsMoOut.ssSTSMSMO.ssMessageId;
     Msg.Priority      = smsMoOut.ssSTSMSMO.ssPriority;
     try {
         Msg.Encoding = (SmsEncoding)Enum.Parse(typeof(SmsEncoding), smsMoOut.ssSTSMSMO.ssEncoding);
     } catch {};
     Msg.Connection   = smsMoOut.ssSTSMSMO.ssConnection;
     Msg.OperatorCode = smsMoOut.ssSTSMSMO.ssOperatorCode;
     Msg.Sent         = smsMoOut.ssSTSMSMO.ssSent;
     Msg.Custom1      = smsMoOut.ssSTSMSMO.ssCustom1;
     Msg.Custom2      = smsMoOut.ssSTSMSMO.ssCustom2;
     Msg.Custom3      = smsMoOut.ssSTSMSMO.ssCustom3;
                 #endif
 }