You have reached this page in error. Please click here to return to our site.

At long last I am pleased to release this beta 1 version of

the "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