Main
Copyright and Legal Notice
Hardware Limited Warranty
Page
Bfv API Reference Manual Volumes 1 -6
Contents
Chapter 1 About this Publication . . . . . . . . . . . . . . . . . . . . . . . . . 16
Chapter 3 Developing Applications Using the Bfv API. . . . . . . . 56
Chapter 4 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Chapter 5 Sample Applications and Utilities . . . . . . . . . . . . . . . 127
Page
Chapter 6 Transferring Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Chapter 7 Managing Fax and Voice over IP Sessions . . . . . . . 214
Chapter 8 Robbed Bit Signaling . . . . . . . . . . . . . . . . . . . . . . . . . 264
Chapter 9 ISDN Call Processing and Management. . . . . . . . . . 316
Chapter 10 Using the BSMI R2 Signaling Capability. . . . . . . . . 336
Chapter 11 Packaging Your Application for Windows. . . . . . 364
Page
About this Publication
Introduction
Related Documents
Operating System Support
Manual Conventions
Page
Terminology
Updated Terminology
Dialogic Brooktrout TR1034 Fax Board Terminology
Page
Page
Bfv API and Associated Libraries
Page
Page
The Bfv API Functions
Administration, Management, and Configuration
Administration and Initialization Functions and Macros
The BTLINE Structure
Page
Channel Numbering
Firmware Functions and Macros
Configuration Functions
Configuration Files
Module Status and Monitoring Functions
Debugging, Error Handling, and Return Values
Functions
Structures and Return Values
Miscellaneous Functions and Macros
Call Control
Bfv Call Control
BSMI-Level Call Control
Page
Media Processing
Signal Generation and Tone Detection
Voice Record and Play
Fax Functions
Page
File Format Manipulation Functions
Infopkts
Page
Page
Page
Page
The Infopkt Stream
Creating an Infopkt Stream
Page
Page
Figure 3. Creating Infopkt Streams that Transmit Facsimiles
Infopkt Structure
Speech Infopkt Parameters
Fax Infopkt Parameters
Page
Page
Page
Developing a Voice Application
Recording and Playing Voice
Recording Voice
1. Prepare channel 2 to record your message:
The command voice invokes the voice.c program, whose arguments include:
Playing Back the Voice Message
Using Prompt Files
Using the mkprompt Utility
Creating a New Prompt File
Updating an Existing Prompt File
Developing a Fax Application
Sending and Receiving a Fax
Sending a Fax from One Channel to Another
Sending a Fax to a Channel from an External Fax Machine
Using Bfv API Fax Functions
Using High- and Low-Level Functions
Page
Page
Page
Page
Page
Sending a Fax Using Function Calls for Noninfopkt-Formatted Raw G3 Files
Page
Page
Receiving a Fax Using Function Calls for Noninfopkt-Formatted Raw G3 Files
Page
Sending a Fax Using Calls for TIFF-F Files
Receiving a Fax Using Calls for TIFF-F Files
Page
Receiving and Storing a Fax in MMR or MR Format
Page
Page
Page
Page
Accessing an Infopkt Stream from an Application
Sending a TIFF-F Fax File Within an Infopkt Stream
Combining Data on a Single Page Using TIFF-F Fax Files
Page
Page
Accessing a TIFF-F File from an Application
Page
Determining Fax Status Information from an Application
Page
3 - Debugging
Bfv API Debug Mode
BfvDataFSK
BfvLineDumpStructure
Dump History
Invoking Dump History
Page
Interpreting the Output
Status Header Line
Event Logging Lines
Event Logging Line Format
Timing Information
Event Descriptions
Parsed Command Information
Page
Utility Programs for Debugging
BSMI Debugging
BSMI Message Tracing
Running a Layer 2 Trace
BSMI Debugging
November 2009 102
Figure 5. Level 2 Trace Example
Table 2. Trace Report Values
Understanding Trace Hexadecimal Strings
Interpreting the I Frame Header
Interpreting the Message Header
Example Byte
Example SETUP I Frame
General I Frame
n - 2 n - 1
as a SETUP; refer to Table 3 on page 106 for possible Q.931 message type values.
Figure 7. Message Structures
Exampl
Byte
e
Interpreting Information Elements
Figure 8. IE Formats
p
Byte
Table 4. Q.931 Information Element Identifiers
Page
VTTY Tracing Feature
VTTY Console Commands
VTTY Tracer GUI
Setting Output Options
Connecting to a Module
Page
Using the Memory Menu
Using the Show Menu
Page
Call Tracer
Command Syntax
Arguments
Configuration File Format
Page
Page
Page
Page
Page
Page
4 - Sample Applications and Utilities
boardmon
Page
Sample boardmon Output
btver
connlist
csend
deact
Page
debug_control
decode
dfax
divert
dlfax
dstrip
eccllvoice
Requires one -p or -r argument.
fax
faxhl
faxll
Page
Example
faxml
faxp
faxpml
feature
Page
firm
firmload
Example
font
ipstrip
ivr
mkdcx
mkinfopk
Page
mkprompt
mktiff
modinfo
playp
rtp
Arguments
shoparam
telreset
telsave
tfax
tiffdump
tones
transfer
Page
Examples
transferll
The following list shows the call control functions used by transfer and transferll.
trombone
tstrip
voice
Page
voiceraw
wave
Page
Compiling Sample Applications Using Microsoft Developer Studio Project Files
Using Brooktrout Files
Compiling Sample Applications Using Makefiles
Page
5 - Transferring Calls
Making Call Transfers Using Bfv
Making Call Transfers Using Bfv
Figure 10. High-level Call Transfer using Bfv
November 2009 178
Making Call Transfers Using Bfv
Figure 11. Low-level Call Transfer using Bfv
November 2009 179
Making Hookflash Transfers
Using Bfv Applications
Using BSMI Applications
Making Two B-Channel Transfers
Page
Making Call Transfers Using QSIG
ISDN QSIG
Supplementary Services Support
Page
Page
Making Call Transfers Using Active Redirection (Japan)
Making Explicit Call Transfers (ECT) With E1 ISDN and BRI
Page
Making Two-Channel Call Transfers (Tromboning)
Setting up the Two-Channel Call Transfer
Connecting Resources
Page
Page
Actions During a Two-Channel Call Transfer
Performing Echo Cancellation
Page
Page
Playing Back Voice Recordings
Page
Terminating the Two-Channel Call Transfer
Disconnecting Resources
Page
Transferring Calls Using Release Link Trunk T ransfer
Using Bfv Applications
Using BSMI Applications
Call Control Sequence Diagrams
Non-RLT Call Transfer
RLT Call Transfer
Page
Sample Application
The following code fragments show the relevant BSMI control messages used in RLT transfer.
Page
Page
Placing Calls on Hold Using BSMI
Example 1
Example 2
For more information on L4L3mUNIVERSAL and L3L4mUNIVERSAL, see Volume 5, Bfv API Reference Manual.
Page
Page
6 - Managing Fax and Voice over IP Sessions
Managing Calls Using IP Telephony
Adding IP Call Control using the Bfv API
Outgoing IP Calls
Your application manages outgoing calls if it performs the following:
See Sample IN VITE Requ est on page 222 for more information about using Bfv function calls.
Incoming IP Calls
Understanding SIP Functionality
Using a SIP Proxy Server
Verifying Dialed Strings
Page
Page
Sample INVITE Request
The following sample uses the Bfv API to send the INVITE request.
Page
Page
Call Progress Values
Understanding H.323 Functionality
Using H.323 Address Forms
or
Page
Failover Based on Telephony Cause Codes
Overview
Common Failures
Page
Failover Scenarios
Known Failures From Various Gateways
H.323 and SIP
Page
Page
SIP to Q.931 Conversion
Page
Processing Media Using the T.38 Protocol
Page
Page
Sending and Receiving Faxes
Configuring T.38, RTP and IP Call Control Activities
Troubleshooting
Understanding the SIP Protocol
Introduction to the SIP Protocol
Overview of SIP Functionality
Page
Overview of Operation
Page
Page
Page
Page
Page
Page
Page
Page
Using Third Party IP Stacks
Page
Components
Configuration
Disable ECC Component
SR140 Software-Based Integration - Linux
TR1034 Board-Based Integration - Linux
Call Negotiation
Inbound Call
Page
Outbound Call
7 - Robbed Bit Signaling
General Information
Page
Page
Page
Timer Definitions
Page
Page
Page
Page
Page
Page
Timing Diagrams
Wink Start & Delay Dial Signaling
Incoming Call Processing
Wink Start & Delay Dial Signaling
Figure 25. Wink Start and Delay Dial Incoming Call Timing
TRANSMITTED
RECEIVED
November 2009 278
Revised 20-Oct-03 Rev 1.4
Outgoing Call Processing
Page
Wink Start with Feature Group B & D
Incoming Call Processing
Page
Outgoing Call Processing
Page
Immediate Start/Fixed Pause Signaling
Incoming Call Processing (Immediate Start)
Page
Outgoing Call Processing (Fixed Pause Mode)
Page
Ground Start Signaling
FXO Ground Start
Page
Figure 31. FXO Ground Start Incoming Call Timing Diagram
RECEIVED BITS, TRANSMITTED
Revised 20-Oct-03 Rev 1.4
Page
Page
Page
Page
FXS Ground Start
Figure 35. FXS Ground Start Incoming Call Timing Diagram
Revised
TRANSMITTED
RECEIVED BITS,
Page
Figure 36. FXS Ground Start Outgoing Call Timing Diagram
Revised
RECEIVED TRANSMITTED
Figure 37. FXS Ground Start - Incoming Clear Timing Diagram
Revised
RECEIVED BITS, TRANSMITTED
Page
Loop Start Signaling
FXO Loop Start
Page
Figure 39. FXO Loop Start Incoming Call Timing Diagram
Revised
RECEIVED BITS, TRANSMITTED
Figure 40. FXO Loop Start Outgoing Call Timing Diagram
Revised
RECEIVED BITS,
TRANSMITTED
Figure 41. FXO Loop Start Outgoing Clear Timing Diagram
Revised
RECEIVED BITS,
TRANSMITTED
Figure 42. FXO Loop Start Incoming Clear Timing Diagram
Revised
RECEIVED BITS, TRANSMITTED
FXS Loop Start
Page
Figure 43. FXS Loop Start Incoming Call Timing Diagram
Revised
RECEIVED BITS, TRANSMITTED
Figure 44. FXS Loop Start Outgoing Call Timing Diagram
Revised
RECEIVED BITS, TRANSMITTED
Figure 45. FXS Loop Start Outgoing Clear Timing Diagram
Revised
TRANSMITTED
RECEIVED BITS,
Page
Page
8 - ISDN Call Processing and Management
Page
ISDN Call Processing Overview
Making an ISDN Incoming Call
Page
Network Module Host
Making an ISDN Outgoing Call
Page
ISDN Overlapped Dialing
ISDN Call Clearing - Initiated by Module
Page
ISDN Call Clearing - Initiated by Network
Page
Translating Q.931 to Simple Message Interface
Using the overlap_rcv feature of L4L3mENABLE_PROTOCOL
What is Overlap Receive?
BSMI Reference Notes
How Overlap Receive Mode Changes Call Control Events Presentation
Using the overlap_rcv feature of L4L3mENABLE_PROTOCOL
November 2009 331
Network Brooktrout Controller Host
Q.921/Q.931 Timers
Table 15. Q.921 Timers (Level 2 Parameters) (Continued)
Table 16. Q.931 Timers (Level 3 Parameters)
Page
Page
9 - Using the BSMI R2 Signaling Capability
CPE Signaling Model
Table 17. Line Signaling Model
Page
Page
Page
Enabling the R2 Protocol
Page
Table 18. R2 Digital Line Signaling Parameters (Continued)
Table 19. R2 MFC Inter-register Signaling Parameters
Table 19. R2 MFC Inter-register Signaling Parameters (Continued)
Page
Page
Protocol Parameter Mechanics
Forward Channel
Backward Channel
Page
Page
Page
Table 24. IISDN_CPGEN_MF_PARAMS (Continued)
R2 Call Control
Outbound Call Setup
Page
Page
Inbound Call Setup
Page
Call Tear Down
Page
Channel Blocking
10 - Packaging Your Application for Windows
Windows Server 64 bit
Package Options
Installation
Installing Modules
Installing Virtual Modules (SR140)
Installing Software
Installing the Brooktrout SDK
Options for Spawning MSI
Page
Page
Page
Page
Registry Entries
Shortcuts
Reboot Options
Page
Configurable Brooktrout SDK Installation Options
About the Merge Module Feature
Dynamically Linked DLLs (dynamic_dlls.msm)
Dynamically Linked 64-bit DLLs (dynamic_dlls_x64.msm)
Configuration and Protocol Files (configdata.msm)
Firmware (firmware.msm)
Configuration Tool (configtool.msm)
TECUpdate (TECUpdate.msm)
License Manager (softwarelicense.msm)
Utility Programs (utilities.msm)
Boston Host Service (bostsrv.msm)
Installing the Merge Module Feature
Integrating the Modules
Page
Examples
Page
Page
About Plug and Play Components
Plug and Play Installation Scenarios
About Plug and Play Components
November 2009 393
About Plug and Play Components
November 2009 394
Structure of the Brooktrout PnP Folder
About the INF File
About the Dialogic Brooktrout Plug and Play Co-Installer
Displaying the Found New Hardware Page
Should You Launch the Configuration Tool
When Should You Launch the Configuration Tool
About the Device Property Page
Page
Modifying Configuration Files
User-Defined Configuration File (btcall.cfg)
Call Control (callctrl.cfg) Configuration File
Including the Brooktrout Configuration Tool
Downloading Firmware Files
Removing Software
Removing the Plug and Play Driver
For Earlier Versions (Prior to 5.2)
For Version 5.2
Page
Appendix A
G3 Legacy Utilities
Page
ASCII to Fax Conversion Utility (asctog3)
Cut and Paste Utilities
Cut Utility (g3chop)
Paste Utility (g3combin)
Epson to Fax Conversion Utility (epstog3)
Where:
Page
Fax Display and Edit Utility: Supershow (ss)
Page
G3 Conversion Utility (g3cvt)
For example:
converts a fax file from MMR format to MH format.
Print Utility (p)
Prints the fax file to any one of several printers.
Where:
Page
Page
Appendix B
Recompiling On Linux Platforms
Page
Page
Page
Glossary
Page
Page
Page
Index
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W