Hi Patrick, What kind of .NET application are you developing? In the contrib folder there is the .NET event socket code (I think that's where it is). But I don't know anything about that.
I do know a bit about mod_mono, so I'll talk about that: To get mod_mono to build, you'll need Windows and VS 2008 (well, I don't have the linux build steps anyways). You'll have to generate mono.lib for your compiler. From here: http://www.mono-project.com/Embedding_Mono "On windows you need to generate an import library for mono.dll by getting the following file: http://anonsvn.mono-project.com/viewcvs/*checkout*/trunk/mono/msvc/mono.def and creating mono.lib with the command: lib /nologo /def:mono.def /out:mono.lib /machine:x86 " Make sure your PATH has the Mono bin folder in it (such as "C:\Program files\Mono-1.9.1\bin"). >From there, you can add mod_mono and mod_mono_managed to the build setting in >the VS SLN and compile them. Load mod_mono in the modules.conf.xml, then drop >your apps in <fsdir>\mod\mono\. If you compile debug, a few simple demos will >compile and load (they are in the mod_mono_managed source, Demo.cs). It's quite easy, as it uses the FS C++ API here's a simple, pointless app in Javascript for .NET: import System; import FreeSWITCH; class JExample extends AppFunction { protected override function Run() { Session.Answer(); Session.Hangup("USER_BUSY"); } } Here is a 40-line RSS reader (well, printer, since I haven't gotten Cepstral building on Windows) in F#: #light namespace rss open System open System.Net open System.IO open System.Xml.Linq open FreeSWITCH module funcs = let httpGet (url : string) = let req = WebRequest.Create(url) use resp = req.GetResponse() use stream = resp.GetResponseStream() use reader = new StreamReader(stream) reader.ReadToEnd() let getXDoc url = XDocument.Parse(httpGet url) let xname s = XName.Get(s) let getChannelTitle (doc : XDocument) = Seq.hd(doc.Descendants(xname "title")).Value let getItemData (item : XElement) = (item.Element(xname "title").Value, item.Element(xname "description").Value) open funcs type reader() = inherit AppFunction() member app.item : int = 0 member app.say s = // We need to init the TTS and all that, but for now... Log.WriteLine(LogLevel.Info, "Say: " + s) //app.Session.Speak s |> ignore override app.Run() = app.Session.Answer |> ignore // app.Session.SetTtsParameters ("cepstral", "david") app.say ("Reading " + app.Arguments) let doc = getXDoc (app.Arguments) app.say (getChannelTitle doc) doc.Descendants(xname "item") |> Seq.map getItemData |> Seq.iter (fun (title, desc) -> app.say ("Item, " + title) app.say ("Description, " + desc)) app.Session.Hangup("NORMAL_CLEARING") Hope that helps a bit. -Michael From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Patrick Tran Sent: Wednesday, June 25, 2008 6:24 PM To: [email protected] Subject: [Freeswitch-dev] .NET Development I'm new to Freeswitch and trying to develop a .NET Application. I'm having a lot of trouble getting started though. There doesn't seem to be a lot support out there for this. My development has sort of come to a stand-still and I was wondering if anyone could help me get pointed in the right direction. Any help would be much appreciated. Thanks -Patrick
_______________________________________________ Freeswitch-dev mailing list [email protected] http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
