WinISDN/SDK for Programmers

[image] The WinISDN Software Developer’s Kit is available for Visual Basic programmers who wish to write applications to take advantage of ISDN communications. The package supports the WinISDN driver that is supplied with the CyberSpace cards, and programs written to this API will run on ISDN hardware from other vendors supporting WinISDN.

The WinISDN API

The industry standard WinISDN Application Program Interface has been adopted by all the major ISDN hardware vendors and TCP/IP software vendors, and ISDN*tek is proud to have been one of the first hardware manufacturers to provide a WinISDN compatible driver. WinISDN is designed to take full advantage of the speed and reliability of ISDN, while avoiding the limitations associated with COM port diversion of ISDN-bound data. The WinISDN driver allows an application to utilize an efficient block-at-a-time transmission scheme, rather than the slower byte-at-a-time serial style transmission formerly associated with telecommunications. Point-to-Point Protocol, an integral part of TCP/IP communications, can be fully implemented in the application software without relying on driver intervention. And best of all, software authors need no particular knowledge of ISDN protocols in order to successfully write or adapt an application to ISDN.

In its simplest form, WinISDN allows you to place an ISDN call with just a few API calls:

      ISDN_Open

        ISDN_Connect

          talk over a voice connection, or send data using
          ISDN_read
          ISDN_write

        ISDN_Disconnect

      ISDN_Close

ISDN is here Now!

After many years of no ISDN connections, no ISDN boards, no ISDN software, all of the pieces are coming together! Speed is up and prices are down! ISDN uses the same copper wires to your home office as Plain Old Telephone Service (POTS), but offers ten times the power of a 14.4 modem! You can use this power with Visual Basic 3.0+ to transfer files, photos, and voice, using the industry standard WinISDN.DLL.

[image]

WinISDN SDK Features

[program image]

Example WinISDN Calls and Structures

'---------------------------------------------' 
' Set up the Visual Basic data structures     '
' for program calls to the ISDN driver.       '
' These structures are included in the SDK    '
' in DEF files for both VB and for 'C'        '
'---------------------------------------------'

'---------------------
' Structures for ISDNOpen
'---------------------
Type BdConfig
    config_length           As Integer
    board_id                As Integer
    mem_address             As Integer
    mem_range               As Integer
    io_address              As Integer
    io_range                As Integer
    interrupt_req           As Integer
    bandwidth               As Integer
    version                 As String * 16
    serial                  As String * 16
    mfr_info                As String * 64
    num_lines               As Integer
    reserved                As String * 64
    line_config_b_line(2)   As line_config     'array of two spids (0) and (1)
End Type


'---------------------
' Structures for ISDNconnect
'---------------------
Type CallStructure
    call_handle             As Integer
    board_id                As Integer
    call_type               As Integer
    send_queue_size         As Integer
    recv_queue_size         As Integer
    dial1                   As String * 64
    version                 As Integer
    line_id                 As Integer
    listen_mask             As Integer
    reserved                As String * 58
End Type

Type ConnectEvent
    event_mask              As Integer
    win_handle              As Integer
    msg_value               As Integer
    callback                As Long
End Type


'---------------------
' Structures for Call_Status report
'---------------------
Type StatusStructure
    call_handle             As Integer
    line_id                 As Integer
    call_ref                As Integer
    call_type               As Integer
    call_state              As Integer
    b_channel               As Integer
    lcn                     As Integer
    called                  As String * 64
    calling                 As String * 64
    reserved                As String * 64
End Type

'---------------------
' Specify the hardware 
' and line parameters
'---------------------
    BoardID% = 1 
    BdConfig.board_id = BoardID%
    BdConfig.mem_address = &hD000
    BdConfig.interrupt_req = 10
    BdConfig.line_config_b_line(0) = SPID1$   
    BdConfig.line_config_b_line(1) = SPID2$

'---------------------
' Select hardware 
' and load the driver
'---------------------

    Result% = ISDNOpen(BoardID%, BdConfig)

'---------------------
' Format the dialing information 
' for starting a Voice call
'---------------------
    CallStructure.dial1 = DialingNumber$
    CallStructure.board_id = BoardID%
    CallStructure.call_type = ISDN_B_Voice
'---------------------
' the event mask is set to accept 
' any kind of incoming call, 
' whether voice or data
'---------------------
    ConnectEvent.event_mask = ISDN_Accept_Any

'---------------------
' Place an ISDN call
'---------------------
    ConnID% = ISDNConnect(CallStructure, ConnectEvent)

'---------------------
' Get status of current call
'---------------------
    Error% = ISDNGetStatus (ConnID%, StatusStructure)
        Select Case StatusStructure.call_state
        Case CALL_STATE_OUT_CALL_PROC
                ' setting up the outgoing call
        Case CALL_STATE_DELIVERED
                ' Ringing the other phone
        Case CALL_STATE_ACTIVE
                ' call still active
        Case CALL_STATE_DISC_REQ
                ' hanging up the call
        Case CALL_STATE_NULL
                ' no active calls
        End Select

'---------------------
' Terminate the ISDN connection
'---------------------
    Error% = ISDNDisconnect(ConnID%)

'---------------------
' Deselect the hardware 
' and unload the driver
'---------------------
    Error% = ISDNClose(BoardID%)

'---------------------------------------------' 
' End of WinISDN programming example.         '
' These code segments have been reduced       '
' to a minimal form for easier reading.       '
' The SDK includes far more detailed coding.  '
'---------------------------------------------' 


Get Order Form and Prices

Go Home


Copyright ISDN*tek 1995-2000