Beispiel #1
0
    public ESLevent SendRecv(string cmd)
    {
        IntPtr   cPtr = ESLPINVOKE.ESLconnection_SendRecv(swigCPtr, cmd);
        ESLevent ret  = (cPtr == IntPtr.Zero) ? null : new ESLevent(cPtr, true);

        return(ret);
    }
Beispiel #2
0
    public ESLevent Bgapi(string cmd, string arg, string job_uuid)
    {
        global::System.IntPtr cPtr = ESLPINVOKE.ESLconnection_Bgapi(swigCPtr, cmd, arg, job_uuid);
        ESLevent ret = (cPtr == global::System.IntPtr.Zero) ? null : new ESLevent(cPtr, true);

        return(ret);
    }
Beispiel #3
0
    public ESLevent RecvEvent()
    {
        global::System.IntPtr cPtr = ESLPINVOKE.ESLconnection_RecvEvent(swigCPtr);
        ESLevent ret = (cPtr == global::System.IntPtr.Zero) ? null : new ESLevent(cPtr, true);

        return(ret);
    }
Beispiel #4
0
        /// <summary>
        /// Example using event socket in "Inbound" mode
        /// </summary>
        /// <param name="stateInfo">Object state info</param>
        static void InboundMode(Object stateInfo)
        {
            //Initializes a new instance of ESLconnection, and connects to the host $host on the port $port, and supplies $password to freeswitch
            ESLconnection eslConnection = new ESLconnection("localhost", "8021", "ClueCon");

            if (eslConnection.Connected() != ESL_SUCCESS)
            {
                Console.WriteLine("Error connecting to FreeSwitch");
                return;
            }

            //Set log level
            //ESL.eslSetLogLevel((int)enLogLevel.DEBUG);

            // Subscribe to all events
            ESLevent eslEvent = eslConnection.SendRecv("event plain ALL");

            if (eslEvent == null)
            {
                Console.WriteLine("Error subscribing to all events");
                return;
            }

            //Turns an event into colon-separated 'name: value' pairs. The format parameter isn't used
            Console.WriteLine(eslEvent.Serialize(String.Empty));

            // Grab Events until process is killed
            while (eslConnection.Connected() == ESL_SUCCESS)
            {
                eslEvent = eslConnection.RecvEvent();
                Console.WriteLine(eslEvent.Serialize(String.Empty));
            }
        }
Beispiel #5
0
    public ESLevent ExecuteAsync(string app, string arg, string uuid)
    {
        IntPtr   cPtr = ESLPINVOKE.ESLconnection_ExecuteAsync(swigCPtr, app, arg, uuid);
        ESLevent ret  = (cPtr == IntPtr.Zero) ? null : new ESLevent(cPtr, true);

        return(ret);
    }
Beispiel #6
0
    public ESLevent GetInfo()
    {
        IntPtr   cPtr = ESLPINVOKE.ESLconnection_GetInfo(swigCPtr);
        ESLevent ret  = (cPtr == IntPtr.Zero) ? null : new ESLevent(cPtr, true);

        return(ret);
    }
Beispiel #7
0
    public ESLevent Filter(string header, string value)
    {
        IntPtr   cPtr = ESLPINVOKE.ESLconnection_Filter(swigCPtr, header, value);
        ESLevent ret  = (cPtr == IntPtr.Zero) ? null : new ESLevent(cPtr, true);

        return(ret);
    }
Beispiel #8
0
    public ESLevent RecvEventTimed(int ms)
    {
        IntPtr   cPtr = ESLPINVOKE.ESLconnection_RecvEventTimed(swigCPtr, ms);
        ESLevent ret  = (cPtr == IntPtr.Zero) ? null : new ESLevent(cPtr, true);

        return(ret);
    }
Beispiel #9
0
    public ESLevent SendEvent(ESLevent send_me)
    {
        IntPtr   cPtr = ESLPINVOKE.ESLconnection_SendEvent(swigCPtr, ESLevent.getCPtr(send_me));
        ESLevent ret  = (cPtr == IntPtr.Zero) ? null : new ESLevent(cPtr, true);

        return(ret);
    }
Beispiel #10
0
    public ESLevent Api(string cmd, string arg)
    {
        IntPtr   cPtr = ESLPINVOKE.ESLconnection_Api(swigCPtr, cmd, arg);
        ESLevent ret  = (cPtr == IntPtr.Zero) ? null : new ESLevent(cPtr, true);

        return(ret);
    }
Beispiel #11
0
        /// <summary>
        /// Example using event socket in "Outbound" mode asynchronic
        /// </summary>
        /// <param name="stateInfo">Object state info</param>
        static void OutboundModeAsync(Object stateInfo)
        {
            /* add next line to a dialplan
             * <action application="socket" data="localhost:8022 async full" />
             */
            TcpListener tcpListener = new TcpListener(IPAddress.Parse("127.0.0.1"), 8022);

            try
            {
                tcpListener.Start();

                Console.WriteLine("OutboundModeAsync, waiting for connections...");

                while (true)
                {
                    tcpListener.BeginAcceptSocket((asyncCallback) =>
                    {
                        TcpListener tcpListened = (TcpListener)asyncCallback.AsyncState;

                        Socket sckClient = tcpListened.EndAcceptSocket(asyncCallback);

                        //Initializes a new instance of ESLconnection, and connects to the host $host on the port $port, and supplies $password to freeswitch
                        ESLconnection eslConnection = new ESLconnection(sckClient.Handle.ToInt32());

                        ESLevent eslEvent = eslConnection.GetInfo();
                        string strUuid    = eslEvent.GetHeader("UNIQUE-ID", -1);

                        eslConnection.SendRecv("myevents");
                        eslConnection.SendRecv("divert_events on");

                        eslConnection.Execute("answer", String.Empty, String.Empty);
                        eslConnection.Execute("playback", "music/8000/suite-espanola-op-47-leyenda.wav", String.Empty);

                        while (eslConnection.Connected() == ESL_SUCCESS)
                        {
                            eslEvent = eslConnection.RecvEvent();
                            Console.WriteLine(eslEvent.Serialize(String.Empty));
                        }

                        sckClient.Close();
                        Console.WriteLine("Connection closed uuid:{0}", strUuid);
                    }, tcpListener);

                    Thread.Sleep(50);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
            finally
            {
                tcpListener.Stop();
            }
        }
Beispiel #12
0
 public ESLevent SendEvent(ESLevent send_me) {
   IntPtr cPtr = ESLPINVOKE.ESLconnection_SendEvent(swigCPtr, ESLevent.getCPtr(send_me));
   ESLevent ret = (cPtr == IntPtr.Zero) ? null : new ESLevent(cPtr, true);
   return ret;
 }
 public ESLevent(ESLevent me) : this(ESLPINVOKE.new_ESLevent__SWIG_2(ESLevent.getCPtr(me)), true)
 {
 }
 internal static HandleRef getCPtr(ESLevent obj)
 {
     return((obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr);
 }
 public int sendMSG(ESLevent send_me, string uuid) {
   int ret = ESLPINVOKE.ESLconnection_sendMSG(swigCPtr, ESLevent.getCPtr(send_me), uuid);
   return ret;
 }
Beispiel #16
0
    public int sendMSG(ESLevent send_me, string uuid)
    {
        int ret = ESLPINVOKE.ESLconnection_sendMSG(swigCPtr, ESLevent.getCPtr(send_me), uuid);

        return(ret);
    }
Beispiel #17
0
 internal static HandleRef getCPtr(ESLevent obj) {
   return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
 }
Beispiel #18
0
 public ESLevent(ESLevent me) : this(ESLPINVOKE.new_ESLevent__SWIG_2(ESLevent.getCPtr(me)), true) {
 }
Beispiel #19
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ESLevent obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }