[Freeswitch-users] C# Example
James Martelletti
james at nerdc0re.com
Sat Sep 16 21:16:43 PDT 2006
This is an example of a FreeSwitch module I developed in C# while
testing (before some IVR commands existed that would help make this
example smaller). More info will be on its way within a few days.
using System;
using System.Text;
using Freeswitch;
using Freeswitch.Modules;
using Freeswitch.Types;
namespace ModBridgecall
{
public class ModBridgecall : Module
{
public ModBridgecall()
{
Name = "dotnetbridgecall";
AddApplicationInterface(new BridgeApplication());
Register();
}
}
public class BridgeApplication : Application
{
public BridgeApplication()
{
Name = "dotnetbridge";
Syntax = "dotnetbridge blah";
ShortDescription = "short description";
LongDescription = "long description, long
description, long description";
ApplicationFunction = new ApplicationFunction
(BridgeApplicationFunction);
}
public void BridgeApplicationFunction(CoreSession
coreSession, string data)
{
CoreSession peerSession;
Channel callerChannel = coreSession.Channel;
CallerProfile callerProfile;
CallerProfile callerCallerProfile =
callerChannel.CallerProfile;
string chanType = "iax";
string chanData = "guest at bleh.com/ext";
uint timelimit = 60;
try
{
callerProfile = new CallerProfile(coreSession,
callerCallerProfile.Dialplan, callerCallerProfile.CallerIdName,
callerCallerProfile.CallerIdNumber,
callerCallerProfile.NetworkAddress, "ani",
"ani2", chanData,
"source", "destionation");
peerSession = coreSession.OutgoingChannel(chanType,
callerProfile);
}
catch (Exception e)
{
callerChannel.Hangup();
return;
}
Ivr.MultiThreadedBridge(coreSession, peerSession,
timelimit);
}
}
}
More information about the FreeSWITCH-users
mailing list