2014-05-01 7 views
-3

J'ai le code aC#, mais il ne prend pas un callerid du modem à distance connecté au port USB lorsque je connecte la ligne au téléphone, il obtient l'ID callerid mais dans le programme courir et en ligne de lecture, je viens de rien d'autre.Obtenir Callerid à partir du port série (Modem Conexant USB CX93010 ACF)

ceci est mon code

public partial class Form1 : XtraForm 
{ 
    public Form1() 
    { 
     InitializeComponent(); 


    } 
    SerialPort sp ; 
    private void simpleButton1_Click(object sender, EventArgs e) 
    { 

     sp = new SerialPort(textEdit1.Text); 
     sp.NewLine = "\r\n"; 
     sp.Parity = Parity.None; 
     sp.DataBits = 8; 
     sp.StopBits = StopBits.One; 
     sp.DtrEnable = true; 
     sp.WriteBufferSize = 1024; 

     sp.Open(); 
     //sp.WriteLine("ATE0"); 
     sp.WriteLine("AT+VCID=1"); 
     sp.RtsEnable = true; 
     //sp.WriteLine("#cid=0" + System.Environment.NewLine); 
     timer1.Start(); 
     //sp.BaseStream.Flush();    
     //sp.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(sp_DataReceived); 
    } 

    void sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) 
    { 
     /* 
     string str;   
     str = sp.ReadLine(); 
     if (str == "RING") 
     { 
      sp.WriteLine("ATA"); 
      //sp.BaseStream.Flush(); 
      //this.memoEdit1.Text = "jan gelyar"; 
      XtraMessageBox.Show("jan gelyar"); 

     } 
     */ 

     //string ReadData = sp.ReadExisting(); 
     // if (ReadData.Contains("NMBR")) 
     // { 
     //  XtraMessageBox.Show(ReadData); 
     // } 


    } 

    private void Form1_FormClosed(object sender, FormClosedEventArgs e) 
    { 
     sp.Close(); 
    } 

    private void timer1_Tick(object sender, EventArgs e) 
    { 
     //string str,number; 
     //str = sp.ReadLine(); 

     // if (str == "RING") 
     // { 
     //  timer1.Stop(); 
     //  XtraMessageBox.Show(str); 
     //  timer1.Start(); 
     // } 

     /*if (str.Trim().ToLower().IndexOf("nmbr") >= 0) 
     { 
      number = str; 
      //sp.WriteLine("ATA"); 
      //sp.BaseStream.Flush(); 
      //this.memoEdit1.Text = "jan gelyar"; 
      XtraMessageBox.Show(number); 

     } 
     */ 
     memoEdit1.Text += "\n" + sp.ReadExisting(); 
    } 

    private void simpleButton2_Click(object sender, EventArgs e) 
    { 
     sp.Close(); 
    } 
+1

fait votre support modem recevant identification de l'appelant (décodage FSK)? –

+2

Nous nous attendons à ce que les utilisateurs affichent du code qui fonctionne, démontre le problème et est libre de peluches. Votre code est plein de peices de code commentés. Nettoyez cela en premier. – rene

+0

Oui en manuel, il est écrit qu'il prend en charge la détection d'identification de l'appelant Conexant USB CX93010 ACF Modem – user3591989

Répondre

0

Lorsque votre modem prend en charge identification de l'appelant puis faire usage de AT + CLIP = 1. Cela entraînera l'affichage de messages + CLIP non sollicités lors de l'appel du modem.

Le + CLIP messages non sollicités sont généralement formulés comme suit:

+CLIP: <number>,<type>,,,,<cli validity> 

Où est une chaîne contenant le numéro dans un format défini par. de l'octet d'adresse qui, par exemple pour les numéros internationaux est 145. détermine si le nombre a été retenu etc.

0

Conexant USB CX93010 ACF modem ne pas le protocole FSK

Questions connexes