1

現在、携帯電話から USSD 文字列を処理するためにmap-api-2.1.0.jarmap-impl-2.1.0.jarを使用しています。これは正常に機能しており、ユーザーは USSD の応答を受信して​​います。

MapHandling クラス

public class MapHandling implements     MAPDialogListener,MAPServiceSmsListener,MAPServiceMobilityListener,MAPServiceCallHandlingListener,MAPSer    viceSupplementaryListener{
     @Override
     public void onProcessUnstructuredSSRequest(ProcessUnstructuredSSRequest procUnstrReqInd)
     {
      try
      {
        logger.debug("dialogId: " +procUnstrReqInd.getMAPDialog().getLocalDialogId() + " USSD String:"+procUnstrReqInd.getUSSDString()+"MSISDN:"+procUnstrReqInd.getMAPDialog().getReceivedDestReference().getAddress());
      } catch (Exception exp)
      {
      logger.error("USSD - error while loging ussd data ", exp);
      }
      ss7.request.UnstructuredSSRequest ussdRequest = new  ss7.request.UnstructuredSSRequest(procUnstrReqInd);
      Thread thr = new Thread(ussdRequest);
     thr.start();
 }

}

ss7.request.UnstructuredSSRequest クラス

   public class UnstructuredSSRequest extends SS7Operation implements Runnable {
       ProcessUnstructuredSSRequest procUnstrReqInd;
              public UnstructuredSSRequest(ProcessUnstructuredSSRequest procUnstrReqInd) {
          this.procUnstrReqInd = procUnstrReqInd;
       }
           @Override
          public void run() {
        logger.debug("[" + refId + "] Sending USSD response");
        sendUSSDResponse(validRequest);
       }
       private void sendUSSDResponse(boolean validRequest) {
        MAPDialogSupplementary dialog = procUnstrReqInd.getMAPDialog();
        USSDString ussdStrObj = MapProvider.getMAPParameterFactory().createUSSDString("Thank you for using CC service!");
        dialog.addProcessUnstructuredSSResponse(procUnstrReqInd.getInvokeId(),procUnstrReqInd.getDataCodingScheme(), ussdStrObj);
        dialog.close(false);
        dialog.release();
     }
    }

上記のコードは正常に動作しており、「CC サービスをご利用いただきありがとうございます!」というメッセージが表示されます。電話から USSD にダイヤルしたときの応答。 これをインタラクティブな USSD ハンドラーに変更したいのですが、応答を送信してセッションを閉じるのではなく、USSD コードをダイヤルしたときにユーザーからの入力を取得したいと考えています。 ユーザーのセッションを維持し、彼の入力を取得する方法を教えてください。

4

1 に答える 1