DLL Kullanımı

DLL ile çağrı durumlarını alabilirsiniz. Çağrının;

  • Hazırlanma
  • Çalma
  • Konuşma
  • Kapanma
  • Hata
evrelerini kendi uygulamanızda izleyebilirsiniz. Her çağrı için şu bilgiler gelmektedir:
  • Arayan
  • Aranan
  • Arayan İsim
  • DID
  • Çağrı Evresi
  • Kredi Miktarı
  • Çağrı No
  • Zaman(Unix Formatında)
  • Destinasyon Bilgisi


DLL Tanımları(Delphi/Lazarus ile):


TStateCallback = procedure(stateType:smallint; msg:WideString); TEventCallback = procedure(cli, cld, destination, did:PChar; dir, call_state:Integer; credit:Double; i_call:Integer; time:Integer); procedure ConnectToServer(username, password:PChar); StdCall external 'roievent.dll'; procedure DisconnectServer(); StdCall external 'roievent.dll'; procedure DisconnectCall(i_call:Integer); StdCall external 'roievent.dll'; procedure RegisterEventCallback(eventcb: TEventCallback); StdCall external 'roievent.dll'; procedure RegisterStateCallback(statecb: TStateCallback); StdCall external 'roievent.dll'; procedure OnSttChange(stateType:smallint; msg:WideString); StdCall; procedure OnMsgEvent(caller_name, cli, cld, destination, did, did_desc:PChar; dir, call_state:Integer; credit:Double; i_call:Integer; time:Integer); StdCall;


DLL Tanımları(C#):

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace DllTest
{
    class Program
    {

        [DllImport("roievent.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, EntryPoint = "ConnectToServer")]
        public static extern void ConnectToServer([MarshalAs(UnmanagedType.LPStr)] string username, [MarshalAs(UnmanagedType.LPStr)] string password);
        [DllImport("roievent.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, EntryPoint = "DisconnectServer")]
        public static extern void DisconnectServer();
        [DllImport("roievent.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, EntryPoint = "DisconnectCall")]
        public static extern void DisconnectCall(int i_call);

...


Geri Bildirimler


TStateCallback:
Durum bilgilerini bildirir. RegisterStateCallback ile kaydedilmelidir.
ParametreTipAçıklama
stateType SmallInt Durum bilgisidir:
  • 1: Login Hatası
  • 2: Hatalı Dizin
  • 3: Bağlantı Hatası
  • 4: Genel Hata
  • 5: Ağ problemi
  • 11: Sunucuya başarı ile bağlanıldı
  • 12: Sunucuya başarı ile login alındı
  • 13: Sunucuya bağlantı düzgün olarak kapatıldı.
msg WideString Durum açıklaması

TEventCallback:
Çağrı evrelerini bildirir. RegisterEventCallback ile kaydedilmelidir.
ParametreTipAçıklama
cli PChar Arayan telefon numarası
caller_name PChar Arayan İsim
cld PChar Aranan Telefon Numarası
destination PChar Aranan Yer Bilgisi
did PChar Aramayı Yapan Hesap Bilgisi
did_desc PChar Aramayı Yapan Hesap Açıklaması
dir Integer Arama Yön Bilgisi ( 0: Gelen, 1: Giden )
state Integer Çağrının Evresi
  • 0: Hazırlanma
  • 1: Çalma
  • 2: Konuşma
  • 3: Bitme
  • 4: Hata

Metodlar


ConnectToServer:
Sunucuya bağlanmayı sağlar.
ParametreTipAçıklama
username PChar Kullanıcı Kodu
password PChar Şifre

DisconnectServer:
Sunucu ile olan bağlantıyı kapatır.

DisconnectCall:
No'su verilen çağrıyı sonlandırır.
ParametreTipAçıklama
i_call Integer Çağrı no'su