At long last I am pleased to release this beta 1 version ofthe "Second Signal IAX Client Wrapper for vs.NET 2005"I release it to you with these conditions:
1. Nothing is promised to you. It may not work. It may break everything you have. Use it at your own risk. I assume no responsibility for it, what you do with it, what it does when you use it, or what you use it for. If you break it, you own both parts.
2. If you create something based on it, you have to release this original zip file with it, and you must include credit to Second Signal and Andrew Pollack in the "help-about" and documentation of your stuff.
3. You adhere to any license requirements associated with the iaxclient library project.
4. Tell me you used it, as that will make me happy.
andrewp@thenorth.com
If you need help, feel free to ask. If I can quickly answer then I probably will. Do not send me code. I won't read it. If you have to send me code to ask your question, then it isn't a simple question.
All that said, good luck.
-=> Click here to Download the Wrapper <=-
Step 1. Add a reference
In your vs.NET application to the Second Signal IAX Client Wrapper, add a reference to the wrapper dll.
* I've included the source, but I suggest leaving it alone. Don't make your changes there, make your changes in your own instance.

Step 2. Add the libiaxclient.dll to your application.
Make sure to set the properties to copy that file to your output directory, so its there when you do an installation.
I've included version 2.0.2 of the dll in this installation kit, but you may want to look for updates.


Step 3. Use the IAX Client!
Imports secondsignal.IAXClientWrapper
Imports SecondSignal.IAXClientWrapper.CallStates
Friend Class iaxManager
Friend WithEvents iax As New IaxClient
'.... (your functions and things here)
End Class
Initializing Example:
Public Sub initialize()
Try
initialized = iax.initialize(My.Settings.maxOpenCalls)
Catch ex As Exception
Debug.WriteLine("iax Manager initialize: " + ex.Message)
End Try
End Sub
Event Handling Example:
Private Shared Sub iaxevents(ByVal sender As Object, ByVal evt As IaxClient.NctIaxcEventArgsClass) Handles iax.IAXClientEvent
If evt.eventType = EventTypes.IAXC_EVENT_NETSTAT Then
Dim ev As iaxc_ev_netstats = CType(evt.iaxcEvent, iaxc_ev_netstats)
' now do something with the netstats in variable ev
End If
End Sub
Set Media Format Example:
Private Sub setMediaFormat()
Dim mediaformatPreferred As Integer
Dim mediaformatallowed As Integer
mediaformatPreferred = MediaFormats.IAXC_FORMAT_ADPCM
mediaformatallowed = _
MediaFormats.IAXC_FORMAT_GSM Or _
MediaFormats.IAXC_FORMAT_ULAW Or _
MediaFormats.IAXC_FORMAT_ALAW Or _
MediaFormats.IAXC_FORMAT_ILBC Or _
MediaFormats.IAXC_FORMAT_ADPCM Or _
MediaFormats.IAXC_FORMAT_G729A Or _
MediaFormats.IAXC_FORMAT_g723_1 Or _
MediaFormats.IAXC_FORMAT_SPEEX Or _
MediaFormats.IAXC_FORMAT_G726
iax.set_formats(mediaformatPreferred, mediaformatallowed)
End Sub
Making A Call Example:
Private Shared Sub iaxevents(ByVal username As String, ByVal password As String, ByVal hostaddress As String, ByVal ext As String ) As Integer
return iax.placeCall(username + ":" + password + "@" + hostaddress + "/" + ext)
End Sub
Checking the Call State Example:
Private Shared Sub isCallActive(ByVal callno As Integer) As Boolean
Return (iax.getCallInfo(callno).callstatus() And IAXC_CALL_STATE_ACTIVE)
End Sub
|