24 Haziran 2012 Pazar

Ami Diğer Olaylar



Ami Diğer  Bazı Olayların Kullanılması

manager = new ManagerConnection(Properties.Settings.Default.astserver, 5038, 
                    Properties.Settings.Default.astuser,Properties.Settings.Default.astpass);

                manager.OriginateResponse += new OriginateResponseEventHandler(manager_OriginateResponse);
                manager.Dial += new DialEventHandler(manager_Dial);
                manager.NewState += new NewStateEventHandler(manager_NewState);
                manager.Hangup += new HangupEventHandler(manager_Hangup);
                manager.NewCallerId += new NewCallerIdEventHandler(manager_NewCallerId);
                manager.Login();




Yeni Çağrı Başlama Olayı


void manager_NewCallerId(object sender, Asterisk.NET.Manager.Event.NewCallerIdEvent e)
        {
            try
            {
              if (e.CallerIdNum != null)
                  if ((e.CallerIdNum == txtPhone.Text) || (e.CallerIdNum == txtCountry.Text))
                  {
                      updateTelBagText("Aranıyor....", Color.Lime);
                      updateAgentCommentText("",Color.Red);
                      lblHangup.Text = "";
                  }
                       
            }
            catch
            {
                
                throw;
            }
        }


Çağrı Sonlanması

void manager_Hangup(object sender, Asterisk.NET.Manager.Event.HangupEvent e)
        {
            try
            {
                if (e.CallerIdNum != null)
                    if ((e.CallerIdNum == txtPhone.Text)||(e.CallerIdNum == txtCountry.Text))
                    {
                        updateTelBagText(" Görüşme Bitti.", Color.Red);

            
                        if (e.Cause == 16)
                        {
                            lblHangup.Text = "Normal Kapanma...";
                            lblHangup.BackColor = Color.LightBlue;
                        }
                        else if (e.Cause == 17)
                        {
                            lblHangup.Text = "Meşgul Verdi...";
                            lblHangup.BackColor = Color.Magenta;
                        }
                        else if (e.Cause == 19)
                        {
                            lblHangup.Text = "Cevap Yok...";
                            lblHangup.BackColor = Color.Fuchsia;
                        }
                        else if (e.Cause == 1)
                        {
                            lblHangup.Text = "Numara Yok...";
                            lblHangup.BackColor = Color.Fuchsia;

                        }
                        
                        updateAgentCommentText("Çağrı Sonlandı...",
                        Color.LightGreen);
                    }
            }
            catch
            {
                
            
            }
        }


Çağrı Durumu Olayı

void manager_NewState(object sender, Asterisk.NET.Manager.Event.NewStateEvent e)
        {
            bool callidok = false;
            bool agentidok = false;

            try
            {
                if (e.CallerId != null)
                    if (e.CallerId == cCallerID)
                        callidok = true;
                    else if (e.CallerId == Extension)
                        agentidok = true;


                if ((!callidok) && (e.CallerIdNum == cCallerID))
                    callidok = true;
                else if ((!agentidok) && (e.CallerIdNum == Extension))
                    agentidok = true;

                if (agentidok)
                {
                    if (e.ChannelState == "5")
                    {
                        updateAgentCommentText("Çağrıyı Kabul Edin...",
                        Color.Red);
                    }
                    else if (e.ChannelState == "6")
                    {
                        updateTelBagText("Açtınız...", Color.Lime); ;
                    }
                    else if (e.ChannelState == "7")
                    {
                        updateTelBagText("Meşgul verdiniz..",Color.Red);
                    }
                }

                if (callidok)
                {
                    if (e.ChannelState == "5")
                    {
                        updateTelBagText(cCallerID + " Çalıyor...",
                        Color.Yellow);
                    }
                    else if (e.ChannelState == "6")
                    {
                        updateAgentCommentText("Çağrı Bağlandı...",
                        Color.LimeGreen);
                        updateTelBagText(cCallerID + " Açıldı...",
                        Color.LimeGreen);
                    }
                    else if (e.ChannelState == "7")
                    {
                        updateAgentCommentText("",Color.Red);
                        updateTelBagText(cCallerID + " Meşgul...",
                        Color.Pink);
                    }
                }


            }
            catch
            {
               
            }  
        }

Bağlatı Durumu Olayı


void manager_OriginateResponse(object sender, Asterisk.NET.Manager.Event.OriginateResponseEvent e)
        {
            bool orgCall = false;
            string orgExten = "";

            try
            {
                if (e.Channel != null)
                {
                    string tmpch = e.Channel.Substring(e.Channel.IndexOf("SIP/") + 4, 3);
                    if (tmpch == Extension)
                    {
                        if (e.Response == "Failure")
                        {
                            updateTelBagText( orgExten + "Hata Bağlantı Yapılamadı...",Color.Red);       
                            cCallerID = "";
                        }
                        else if (e.Response == "Success")
                        {
                            if (e.Exten != null)
                            {
                                orgExten = e.Exten;
                                cCallerID = orgExten;
                            }
                            updateTelBagText(orgExten + " bağlanıyor...", Color.Orange);
                            updateAgentCommentText("Kabul Ettiniz...",
                            Color.Lime);
                        }

                    }
                }
            }
            catch
            {
                updateTelBagText("Originate Eroor...",Color.Red);
            }

        }


Hiç yorum yok:

Yorum Gönder