protected void SendResponse(MtnUSSDTCPPDU pdu, String responseText) { MtnUSSDTCPPDU.PDUTypes pduReturnType = pdu.FindResponseType((MtnUSSDTCPPDU.PDUTypes)Enum.Parse(typeof(MtnUSSDTCPPDU.PDUTypes), pdu.Pdu, true), false); MtnUSSDTCPPDU responsePDU = new MtnUSSDTCPPDU(); responsePDU.Pdu = pduReturnType.ToString(); responsePDU.Cookie = cookie; responsePDU.Data = responseText; responsePDU.MSISDN = pdu.MSISDN; responsePDU.RequestID = pdu.RequestID; responsePDU.SessionID = pdu.SessionID; responsePDU.Status = "0"; responsePDU.Tariff = pdu.Tariff; responsePDU.Encoding = pdu.Encoding; LogManager.LogStatus("Response: " + responsePDU.ToXML()); Send(responsePDU.ToXML()); }
protected void DoPing(object sender, EventArgs e) { if (DateTime.Now.Subtract(lastActivity).TotalMilliseconds < this.ussdTcpListenerConfigurationSection.PingInterval) { return; } MtnUSSDTCPPDU pdu = new MtnUSSDTCPPDU(); pdu.Pdu = MtnUSSDTCPPDU.PDUTypes.CTRL.ToString(); pdu.Data = DateTime.Now.ToString(); try { //Console.Write("."); LogManager.LogStatus(" ** --> ping ** "); //LogManager.LogStatus("PDU: " + pdu.ToXML()); Send(pdu.ToXML()); } catch (USSDTcpSendTimeoutException te) { LogManager.LogError(te); } }