[Freeswitch-users] Custom Channel Variables via C#

Brian Campbell bcxml at hotmail.com
Thu Dec 2 18:03:13 MSK 2010


Thanks, the link was very helpful
 
I have taken a look at the link that you provided
 
I assume now that I can use uuid_setvar to accomplish what I want
 
Assuming that the uuid is 53d37581-1f90-44bf-860a-addbc8430e3a, it seems that my code would need to change to
 
 
private void injectCdrCode_ExecuteCode(object sender, EventArgs e)
{
  try
  {
    TcpClient newClient = new TcpClient();
 
    newClient.Connect("127.0.0.1", 8021);
 
    NetworkStream tcpStream = newClient.GetStream();
 
    byte[] sendBytes = Encoding.ASCII.GetBytes("api uuid_setvar 53d37581-1f90-44bf-860a-addbc8430e3a myChannelVariable 12345");
 
    tcpStream.Write(sendBytes, 0, sendBytes.Length);
 
    tcpStream.Close();
 
    newClient.Close();
  }
  catch(Exception ex)
  {
    throw ex;
  }
}

My question now becomes, how do I go about finding out the uuid for the session ? Is that obtainable via mod_event_socket or is there another way ?
 
Thanks
 
Brian 


From: mrene_lists at avgs.ca
Date: Wed, 1 Dec 2010 16:53:53 -0500
To: freeswitch-users at lists.freeswitch.org
Subject: Re: [Freeswitch-users] Custom Channel Variables via C#



Hi,


You can't send XML dialplan actions on the socket and expect FreeSWITCH to understand it, you must follow the event socket protocol.


See http://wiki.freeswitch.org/wiki/Event_socket for more information.




Mathieu Rene
Avant-Garde Solutions Inc
Office: + 1 (514) 664-1044 x100
Cell: +1 (514) 664-1044 x200
mrene at avgs.ca






On 2010-12-01, at 4:46 PM, Brian Campbell wrote:

 
I can set a custom channel variable in my incomming dial plan like this...
 
<action application='set' data='MyChannelVariable=12345' />
 
And it shows up fine in the CDR
 
I am now attempting to use mod_event_socket to set a custom channel variable and have it appear in the CDR
 
Here is the C# code so far, the code is part of a Microsoft Speech Server application that is answering the call
 
private void injectCdrCode_ExecuteCode(object sender, EventArgs e)
{
  try
  {
    TcpClient newClient = new TcpClient();
 
    newClient.Connect("127.0.0.1", 8021);
 
    NetworkStream tcpStream = newClient.GetStream();
 
    byte[] sendBytes = Encoding.ASCII.GetBytes("<action application='set' data='MyChannelVariable=12345' />");
 
    tcpStream.Write(sendBytes, 0, sendBytes.Length);
 
    tcpStream.Close();
 
    newClient.Close();
  }
  catch(Exception ex)
  {
    throw ex;
  }
}
 
After the call is answered, the C# code seems to run fine, but I dont see the custom channel variable in the resulting CDR
 
I figure I am not setting it correctly
 
Can anyone advise on what I am doing wrong ?
 
Thanks
 
 
Brian
 
 
_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org


_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users at lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20101202/37d5eb16/attachment.html 


More information about the FreeSWITCH-users mailing list