Как отменить USSD нужен ответ - PullRequest
5 голосов
/ 23 марта 2012

У меня есть устройство Nokia, подключенное к ПК.

. Этот код я использую для отправки команды USSD:

Port.Write("AT+CUSD=0,\"*147*1*#\",15\r\n");

Работает нормально, НОотображает возможность выбора услуги.То, что я хочу, это остановить его или выйти (выйти) из этого сообщения.Я могу нажать кнопку отмены с телефона, но как я могу это сделать с помощью C #?

Ответы [ 2 ]

1 голос
/ 21 декабря 2016

Я публикую это, потому что это один из лучших результатов, связанных с завершением сеансов USSD с использованием AT-команд, а также потому, что ответы на него неясны. Это код c #, который я использовал в конце (я отправлял команды модему gsm). Надеюсь, это поможет кому-то еще

    SerialPort SendingPort=null;

    public string TerminateUssdSession()
    {
            InitializePort();

            //// generate terminate command for modem
            string cmd = "";
            cmd = "AT+CUSD=2\r";

            // send cmd to modem
            OpenPort();

            SendingPort.Write(cmd);

            Thread.Sleep(500);

            string response = SendingPort.ReadExisting();

            return response;

    }

    private void InitializePort()
    {
        if (SendingPort == null)
        {
            SendingPort = new SerialPort();
            SendingPort.PortName = PortName;//put port name e.g COM5
            SendingPort.BaudRate = 112500;
            SendingPort.Parity = Parity.None;
            SendingPort.DataBits = 8;
            SendingPort.StopBits = StopBits.One;
            SendingPort.Handshake = Handshake.None;
            SendingPort.ReadTimeout = 500;
        }
    }

    private void OpenPort()
    {
        if (!SendingPort.IsOpen)
        {
            SendingPort.Open();
        }
    }
0 голосов
/ 17 мая 2014

Я считаю, что AT + CUSD = 2 можно использовать для отмены сеанса. В качестве альтернативы просто подождите, пока не истечет время ожидания сеанса USSD на стороне сервера (обычно время ожидания не слишком велико)

...