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