www.dialogic.comDialogic® Brooktrout® Fax Products SDKDeveloper Guide Release 6.2November 2009 931-132-06
November 2009 10Contentstones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utility Programs for DebuggingNovember 2009 100Utility Programs for DebuggingThe following sample applications/utilities are available to help you in
BSMI DebuggingNovember 2009 101BSMI DebuggingThe debug output is controlled using the regular mechanisms provided with the Bfv API. Included in the de
BSMI DebuggingNovember 2009 102The trace information is embedded within the Bfv API debug output, see Figure 5 for a sample output. See Table 2 for re
BSMI DebuggingNovember 2009 103Table 2. Trace Report ValuesValue MeaningCh# Lapdid number. This is an even number where 0=Port A 2=Port BTime Hexade
BSMI DebuggingNovember 2009 104Understanding Trace Hexadecimal StringsThe hexadecimal string displayed in the trace consists of the following componen
BSMI DebuggingNovember 2009 105 Figure 6. I Frame FormatsInterpreting the Message HeaderThe Message header starts at byte offset 5 of the hexadecima
BSMI DebuggingNovember 2009 106 The Message type value 0x05 identifies the D-channel message as a SETUP; refer to Table 3 on page 106 for possible Q.
BSMI DebuggingNovember 2009 107Interpreting Information ElementsFor Q.931 call control messages, the first Information Element (IE) starts at byte off
BSMI DebuggingNovember 2009 108Figure 8. IE FormatspByte8765 432108765 43210000 01000000 00101000 10001001 0000123-04IE IdentifierLength of IE (in b
BSMI DebuggingNovember 2009 109For additional information on Layer 2 and ISDN message headers and processing, refer to the following documents: CCITT
November 2009 11ContentsTransferring Calls Using Release Link Trunk Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . 202Using Bfv Ap
BSMI DebuggingNovember 2009 110VTTY Tracing FeatureThe VTTY tracing provides access to control processor internals and diagnostic tracing information.
BSMI DebuggingNovember 2009 111VTTY Console CommandsSpecifically, you can use the VTTY commands to show argument information, tracing information, acc
BSMI DebuggingNovember 2009 112VTTY Tracer GUIThe VTTY Tracer graphical user interface provides access to control processor internals and diagnostic t
BSMI DebuggingNovember 2009 1131. Click Settings|Options. The Tracing Options dialog is displayed.Set where the trace output is saved, either screen o
BSMI DebuggingNovember 2009 1143. Click OK. The connection confirmation is displayed in the VTTY Tracer screen:Using the Trace MenuWhen you choose opt
BSMI DebuggingNovember 2009 115In this example the Command 12 turns on Layer 2 tracing. This feature allows support of new tracing options without add
BSMI DebuggingNovember 2009 116Using the Show MenuThe Show menu causes a set of predefined variables to be displayed:Each menu choice produces a dialo
BSMI DebuggingNovember 2009 117VTTY Trace Results Figure 9 shows the results of a VTTY trace.Figure 9. VTTY Trace ExampleEach trace message (for bot
Call TracerNovember 2009 118Call TracerDialogic provides a Call Tracer command line utility that collects call trace information in an active system.
Call TracerNovember 2009 119Command Syntaxbrktcctrace [-o <path_string>] [-i <path_string>] [-t <duration/sec>] [-x <max_file_siz
November 2009 12ContentsIntroduction to the SIP Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244Over
Call TracerNovember 2009 120Configuration File FormatThis section describes the filter configuration file format. Because the configuration file is op
Call TracerNovember 2009 121########################################################Filter Settings Configuration File################################
Call TracerNovember 2009 122#-------------------------------------------------------# ECC Legal Values# NONE# ERROR# WARNING# BASIC# VERBOSE#---------
Call TracerNovember 2009 123#-------------------------------------------------------# VTTY Legal Values# ON# OFF# # The listed filters below use Modul
Call TracerNovember 2009 124## So to trace SMI for module 2 add:# VTTY_MODULE.MODULE02.VTTY_MAIN.SMI = ON## To trace CAS L3L4 for module 2 on span1, c
Call TracerNovember 2009 125VTTY_MODULE.MODULE02.VTTY_LE58.CONFIG = OFFVTTY_MODULE.MODULE02.VTTY_LE58.CURRENT_TIME = OFFVTTY_MODULE.MODULE02
November 2009 1274 - Sample Applications and Utilities This chapter describes the sample applications and utilities that come as part of the Dialogic®
boardmonNovember 2009 128the state of the signaling bits and alarms. It also counts the errors (e.g., framing errors, CRC errors, clock slips, BPVs) o
btverNovember 2009 129Sample boardmon OutputBoard Temperature: 105.8F 41.0CEthernet link 0: UPMod 0x03 Span 1 No Alarms FRM 000000 CRC 000000 BPV
November 2009 13ContentsOutgoing Call Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292Call Teard
connlistNovember 2009 130Command Syntaxbtver [-m <mod>] [-v]The firmware must be downloaded on a module to obtain its control processor and DSP
csendNovember 2009 131csendThis application uses low-level, noninfopkt, raw-data, fax-sending routines to send facsimiles. It allows sending a single
deactNovember 2009 132deactThe deact program deactivates a hardware module, marking it as dead. Bfv API debug mode is turned on. The btcall.cfg file i
deactNovember 2009 133Command Syntaxdeact [-a] [-s] <mod>Arguments-a Deactivate all modules on the board containing <mod>.-s The value of
debug_controlNovember 2009 134debug_controlThe debug_control utility allows a user to selectively turn on logging remotely in an application. The appl
decodeNovember 2009 135decode The decode program reads a specified infopkt stream file and lists the individual infopkts that comprise the stream. The
dfaxNovember 2009 136dfaxThe dfax program uses the low-level Intel DCX fax transmitting and receiving routines to send and receive facsimiles. Turn on
dlfaxNovember 2009 1373. If the incoming call is accepted, the divert program uses the speed_infopkt_file recording and playing routines to record and
dstripNovember 2009 138Bfv API debug mode is turned on. The btcall.cfg file is the user configuration file. The dlfax program is found in the app.src
eccllvoiceNovember 2009 139eccllvoiceThe eccllvoice program is used to record and play speech for ISDN calls. It uses the speech-infopkt-file recordin
November 200914ContentsCPE Signaling Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
faxNovember 2009 140Command Syntaxeccllvoice [options] infopktfileRequires one -p or -r argument.faxThe fax program uses the highest level infopkt fil
faxhlNovember 2009 141Command Syntaxfax [options] <infopktfile>Requires one -s or -r argument.faxhlThe faxhl program uses the highest level info
faxllNovember 2009 142faxllThe faxll program uses the low-level non-infopkt raw data fax sending and receiving routines to send or receive facsimiles.
faxllNovember 2009 143Command Syntaxfaxll [-u <unitno>] [-v] [-h] [-H] -s <phoneno> [-F] [-E #] [-g] [-a] [-p] <file> [-b] ...
faxmlNovember 2009 144When sending, the application can mix G3 and ASCII files. Example-g f1 f2 -a f3 -b -g f4When receiving, each filename in the lis
faxpNovember 2009 145faxpThe faxp program uses the highest level infopkt file fax polling routines to send and/or receive facsimiles. You must specify
featureNovember 2009 146Command Syntaxfaxpml [options]Requires one -s or one -r argument or one of each, and one -c or one -a argument.featureThe feat
featureNovember 2009 147feature downloads ASCII license (feature) files by default, and can also accept binary data if you use the -b option.
firmNovember 2009 148firmThe firm program is used to download firmware. The firmware consists of several types, by number, which must be downloaded in
firmloadNovember 2009 149firmloadThe firmload program is used to download a complete set of standard firmware files to all hardware modules on all boa
November 2009 15ContentsRemoving the Plug and Play Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405Fo
fontNovember 2009 150The firmload program ensures that the required firmware files exist in the specified directory before beginning a download. There
ipstripNovember 2009 151ipstripThe ipstrip program removes the infopkt header from the G3 or speech data in a specified infopkt stream file and writes
ivrNovember 2009 152ivrThe ivr program is a small, interactive, voice-response system that permits users to receive a fax, send a fax, record a messag
mkinfopkNovember 2009 153mkinfopkThe mkinfopk program builds an infopkt stream file. The mkinfopk program is found in the app.src directory.Command Sy
mkinfopkNovember 2009 154At least one space must be inserted between each command line argument. If you enter mkinfopk at the command line without spe
mkpromptNovember 2009 155mkpromptThe mkprompt program creates or updates a prompt file from infopkt files that contain individual phrases. When updati
modinfoNovember 2009 156If a raw G3 file has a 128-byte Brooktrout header (it is a btG3 file), mktiff uses the resolution, width, and number of scan l
playpNovember 2009 157For example, a module with 48 work channels is listed as having 49 channels, and a module with no work channels (no firmware dow
shoparamNovember 2009 158Arguments-a All Channels-u <unitno> Channel number.-v Turn on Bfv API debug mode.sh
telsaveNovember 2009 159Command Syntaxtelreset [-m <mod>]telsaveThe telsave program writes telephony parameters to a module’s Non-Volatile RAM
November 2009 16About this PublicationIntroductionThe Dialogic® Brooktrout® Fax Products SDK Developer Guide describes the Bfv API used to create appl
tfaxNovember 2009 160tfaxThe tfax program uses the low-level TIFF-F file fax sending and receiving routines to send and receive facsimiles.Turn on the
tonesNovember 2009 161tonesThe tones program uses DTMF detection routines to detect and display incoming touchtones and DTMF generation and single fre
transferNovember 2009 162Command Syntaxtransfer [options] phonenumArgumentsphonenum Caller C’s telephone number.options-u unit_num The unit number to
transferllNovember 2009 163Examples¾Assume that 110 is phone number of caller C.1. Transfer using 1 B-channel and complete transfer at the state BST_D
transferllNovember 2009 164The following list shows the call control functions used by transfer and transferll.Command Syntaxtransfer [options] phonen
tromboneNovember 2009 165tromboneThe trombone program sets up a two channel (trombone) call transfer. After the two channels have been connected toget
tstripNovember 2009 166welcome prompt, the program dials an outbound call on the secondary channel. When the outbound call on the secondary channel is
voiceNovember 2009 167The tstrip program is found in the app.src directory. Bfv API debug mode is turned on.Command Syntaxtstrip [-h] [-o <output_b
voiceNovember 2009 168Pressing the following keys on the telephone keypad affect the speed and volume at which the application plays back speech:1 = i
voicerawNovember 2009 169voicerawThe voiceraw program uses the raw speech data file recording and playing routines to record and play speech. Recordin
November 2009 17 R2 signaling Chapter 11 describes how to package software supporting Brooktrout software or SR140 Fax in your product. Appendix A
waveNovember 2009 170Command Syntaxvoiceraw [options] <speechfile>Not all coding formats and rate combinations are available on all products.Req
waveNovember 2009 171Pressing the following keys on the telephone keypad affect the speed and volume at which the application plays back speech:1 = in
Compiling Sample Applications Using Microsoft® Developer Studio Project FilesNovember 2009 172Compiling Sample Applications Using Microsoft® Developer
Compiling Sample Applications Using Microsoft® Developer Studio Project FilesNovember 2009 173Using Brooktrout Files Dialogic has created a Microsoft
Compiling Sample Applications Using MakefilesNovember 2009 174Compiling Sample Applications Using Makefiles The sample applications are distributed in
Compiling Sample Applications Using MakefilesNovember 2009 175Combining the Sample ApplicationsThe sample applications provided with the Brooktrout SD
November 2009 1765 - Transferring Calls This chapter describes transferring calls using the Bfv API-level and BSMI-level call control functionality.No
Making Call Transfers Using BfvNovember 2009 177Making Call Transfers Using BfvThe diagram in Figure 10 illustrates a transfer using the BfvLineTransf
Making Call Transfers Using BfvNovember 2009 178Figure 10. High-level Call Transfer using BfvBfvLineTransferBfvLineTransfer-CapabilityQueryLINE_XFER
Making Call Transfers Using BfvNovember 2009 179Figure 11. Low-level Call Transfer using BfvBfvLineTransferCompleteBfvLineTransfer CancelBfvCallTran
November 2009 18 Italics denote the names of variables in the prototype of a function and file names, directory names, and program names within the g
Making Hookflash TransfersNovember 2009 180Making Hookflash TransfersYou can make hookflash call transfers using either the Bfv- level API or BSMI-lev
Making Hookflash TransfersNovember 2009 181To configure using configuration files: Set the port configuration for T1 RBS using the callctrl.cfg confi
Making Two B-Channel TransfersNovember 2009 182Making Two B-Channel TransfersWhen making a two B-channel transfer, the central office connects two out
Making Two B-Channel TransfersNovember 2009 183For more information on the BfvCallHold function, refer to Volume 2, Bfv API Reference Manual. For more
Making Call Transfers Using QSIGNovember 2009 184Making Call Transfers Using QSIGISDN QSIGQSIG is an ISO standard that defines the ISDN signaling and
Making Call Transfers Using QSIGNovember 2009 185Call Diversion Call Diversion (Unconditional, Busy and Not Responding) contains three scenarios: Ori
Making Call Transfers Using QSIGNovember 2009 186Name Identification This feature allows the Bfv API to see the text name of the user similar to Calle
Making Call Transfers Using Active Redirection (Japan)November 2009 187Making Call Transfers Using Active Redirection (Japan)To transfer calls in Japa
Making Explicit Call Transfers (ECT) With E1 ISDN and BRINovember 2009 188Making Explicit Call Transfers (ECT) With E1 ISDN and BRIExplicit call trans
Making Explicit Call Transfers (ECT) With E1 ISDN and BRINovember 2009 189 Set the transfer_variant using the callctrl.cfg configuration file:transfe
November 2009 19TerminologyUpdated TerminologyThe current version of this document includes terminology that differs from previous versions. Please no
Making Two-Channel Call Transfers (Tromboning)November 2009 190Making Two-Channel Call Transfers (Tromboning)This section provides information about c
Making Two-Channel Call Transfers (Tromboning)November 2009 191Setting up the Two-Channel Call TransferIn the typical two way call transfer applicatio
Making Two-Channel Call Transfers (Tromboning)November 2009 192Figure 12. Connections for Standard (non-transfer) OperationIn Figure 12 the output s
Making Two-Channel Call Transfers (Tromboning)November 2009 193variable where it is easily accessed and restored when disconnecting the two-channel ca
Making Two-Channel Call Transfers (Tromboning)November 2009 194The application created a new connection from the output of network timeslot 0 to the i
Making Two-Channel Call Transfers (Tromboning)November 2009 195When the application creates a two-channel call transfer, the two callers become source
Making Two-Channel Call Transfers (Tromboning)November 2009 196Figure 14 on page 196 shows the connections required to configure the echo canceller on
Making Two-Channel Call Transfers (Tromboning)November 2009 197Playing Back Voice RecordingsVoice playback during a two-channel call transfer can take
Making Two-Channel Call Transfers (Tromboning)November 2009 198channel provides silence generation on its output). After playback is completed, the ap
Making Two-Channel Call Transfers (Tromboning)November 2009 199In Figure 18, the application places the caller on TSlot 1 on hold and generates silenc
page 2Copyright and Legal NoticeCopyright © 1998-2009 Dialogic Corporation. All Rights Reserved. You may not reproduce this document in whole or in p
November 2009 20Dialogic® Brooktrout® TR1034 Fax Board TerminologyThe Dialogic® Brooktrout® TR1034 Fax Board is also referred to herein by one or more
Making Two-Channel Call Transfers (Tromboning)November 2009 200Disconnecting ResourcesWhen disconnecting resources, invert the source and destination
Making Two-Channel Call Transfers (Tromboning)November 2009 201If the application configured the echo canceller in the channel to get an input referen
Transferring Calls Using Release Link Trunk TransferNovember 2009 202Transferring Calls Using Release Link Trunk TransferRelease Link Trunk is an expl
Transferring Calls Using Release Link Trunk TransferNovember 2009 203 Set the switch type using the callctrl.cfg configuration file:switch_type=nti_d
Transferring Calls Using Release Link Trunk TransferNovember 2009 204For more information on L4L3mENABLE_PROTOCOL and L3L4mALERTING, please refer to V
Transferring Calls Using Release Link Trunk TransferNovember 2009 205The call is transferred by the board, but it must maintain active call setup on b
Transferring Calls Using Release Link Trunk TransferNovember 2009 206Once the network establishes a direct connection between the originator of the fi
Transferring Calls Using Release Link Trunk TransferNovember 2009 207Sample ApplicationThe following code fragments show the relevant BSMI control mes
Transferring Calls Using Release Link Trunk TransferNovember 2009 208/***********************************************************************//*******
Transferring Calls Using Release Link Trunk TransferNovember 2009 209/***********************************************************************//*******
November 2009 21Getting Technical SupportDialogic provides technical services and support for customers who have purchased hardware or software produc
Placing Calls on Hold Using BSMINovember 2009 210Placing Calls on Hold Using BSMIWhen you invoke hold functions in BSMI, the host sends an L4L3mUNIVER
Placing Calls on Hold Using BSMINovember 2009 211Example 1memset(&l43msg,0,sizeof(L4_to_L3_struct));l43msg->msgtype = L4L3mUNIVERSAL;l43msg->
Placing Calls on Hold Using BSMINovember 2009 212
November 2009 2146 - Managing Fax and Voice over IP SessionsThis chapter describes how to develop applications that use the internet for fax and voice
Managing Calls Using IP TelephonyNovember 2009 215Managing Calls Using IP TelephonyThe Bfv API supports fax functionality over IP networks using the S
Managing Calls Using IP TelephonyNovember 2009 216Figure 19. SIP Configuration ModelWith dual-purpose modules in place, end-users can choose between
Managing Calls Using IP TelephonyNovember 2009 217Outgoing IP CallsYour application manages outgoing calls if it performs the following: Uses the fun
Managing Calls Using IP TelephonyNovember 2009 218Incoming IP CallsYour application can receive incoming IP calls if it uses function calls from the t
Managing Calls Using IP TelephonyNovember 2009 219Understanding SIP FunctionalityThe following section provides information about SIP functionality an
November 2009 221 - Introduction to the Dialogic® Brooktrout® Bfv APIThis chapter describes the Dialogic® Brooktrout® Bfv API and its capabilities.The
Managing Calls Using IP TelephonyNovember 2009 220SIP/T38://+01-781-555-1212ISDN://+01-781-449-9009When the current FAX.C sample program is compiled,
Managing Calls Using IP TelephonyNovember 2009 221The following are valid dial string examples for a SIP channel. Comments are shown in italics.sip:Jo
Managing Calls Using IP TelephonyNovember 2009 222Sample INVITE Request The following sample uses the Bfv API to send the INVITE request.CALL CONTROL
Managing Calls Using IP TelephonyNovember 2009 223[host_module.1/t38parameters]t38_max_bit_rate=14400t38_fax_fill_bit_removal=falset38_fax_transcoding
Managing Calls Using IP TelephonyNovember 2009 2244 Defined by the current domain of the UAC.5 Generated internally.6 Defined by the IP of the primary
Managing Calls Using IP TelephonyNovember 2009 225Call Progress ValuesBrooktrout Bfv API has mapped all possible IP call INVITE responses to Bfv call
Managing Calls Using IP TelephonyNovember 2009 226Understanding H.323 FunctionalityThis Brooktrout SDK supports the H.323 protocol (version 4 and Anne
Managing Calls Using IP TelephonyNovember 2009 227Using H.323 Address FormsTo allow applications to work for both SIP and H.323, the dialstring field
Managing Calls Using IP TelephonyNovember 2009 228E.164 Alias (Phone Number)This Called Party Address can start with the optional identifier “TEL:”,
Managing Calls Using IP TelephonyNovember 2009 229TA:198.133.219.25,7814494100
Bfv API and Associated LibrariesNovember 2009 23Bfv API and Associated LibrariesThe Bfv Application Programming Interface (API) provides a set of func
Failover Based on Telephony Cause CodesNovember 2009 230Failover Based on Telephony Cause CodesOverviewIdentifying call failures within an IP telephon
Failover Based on Telephony Cause CodesNovember 2009 231 Gateway failure during an active call by disconnecting the PSTN cable.Applications needing s
Failover Based on Telephony Cause CodesNovember 2009 232Failover ScenariosRefer to Table 10 to determine failover scenarios. The table shows cause cod
Failover Based on Telephony Cause CodesNovember 2009 233Known Failures From Various GatewaysH.323 and SIPIn Table 11, the entries are divided between
Failover Based on Telephony Cause CodesNovember 2009 234Gateway with responding SIP/H323 and PSTN down (no PSTN cable connected)H.323 1000 27 34 - 100
Failover Based on Telephony Cause CodesNovember 2009 235Gateway with responding SIP/H.323 and PSTN down (no PSTN cable connected)SIP - 41 - 41 1 1 1 1
Failover Based on Telephony Cause CodesNovember 2009 236SIP to Q.931 ConversionTable 12 shows the translation performed to create Q.931 codes from SIP
Failover Based on Telephony Cause CodesNovember 2009 237482 Loop detected 25484 Address incomplete 28485 Ambiguous 1486 Busy here 17487 Request Cancel
Processing Media Using the T.38 ProtocolNovember 2009 238Processing Media Using the T.38 ProtocolThe Brooktrout SDK supports real-time sending and rec
Processing Media Using the T.38 ProtocolNovember 2009 239While the method of transport is different, IP environments support the functionality of thes
Bfv API and Associated LibrariesNovember 2009 24By using the Bfv API libraries, the application running on the host processor can communicate through
Processing Media Using the T.38 ProtocolNovember 2009 240In endpoint facsimile devices, such as a network fax server, the T.38 protocol provides the e
Processing Media Using the T.38 ProtocolNovember 2009 241This diagram shows how the protocols work together during the call:In all cases the applicati
Configuring T.38, RTP and IP Call Control ActivitiesNovember 2009 242Configuring T.38, RTP and IP Call Control ActivitiesIf your application runs on W
TroubleshootingNovember 2009 243TroubleshootingYou can use any existing Bfv problem solving tools to troubleshoot your T.38 application. Use the log f
Understanding the SIP ProtocolNovember 2009 244Understanding the SIP ProtocolYou can use the Session Initiation Protocol (SIP), an application-layer c
Understanding the SIP ProtocolNovember 2009 245Numerous protocols carry various forms of real-time multimedia session data such as voice, video, or te
Understanding the SIP ProtocolNovember 2009 246SIP is not a vertically integrated communications system. SIP is rather a component that is used with o
Understanding the SIP ProtocolNovember 2009 247Overview of OperationThis section introduces the basic operations of SIP using simple examples. This se
Understanding the SIP ProtocolNovember 2009 248contains a number of header fields. Header fields are named attributes that provide additional informat
Understanding the SIP ProtocolNovember 2009 249INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 7
Bfv API and Associated LibrariesNovember 2009 25Tool. You can also configure H.323 support using the configuration file. See the installation and conf
Understanding the SIP ProtocolNovember 2009 250Contact Contains a SIP or SIPS URI that represents a direct route to contact Caller A, usually compose
Understanding the SIP ProtocolNovember 2009 251of the biloxi.com proxy server and forwards, or proxies, the INVITE request there. Before forwarding th
Understanding the SIP ProtocolNovember 2009 252In this example, Caller B decides to answer the call. When he picks up the handset, the SIP phone sends
Understanding the SIP ProtocolNovember 2009 253could proxy the INVITE to Caller B's voicemail server. A proxy server can also send an INVITE to a
Understanding the SIP ProtocolNovember 2009 254forking. For this reason, request handling in SIP is often classified as either INVITE or non- INVITE,
Understanding the SIP ProtocolNovember 2009 255Registrations are one way to create this information, but not the only way. Arbitrary mapping functions
Using Third Party IP StacksNovember 2009 256Using Third Party IP StacksThe Bfv Fax can be integrated with systems that have their own IP call control
Using Third Party IP StacksNovember 2009 257Integrating Bfv IP FaxFigure 21 shows the individual components that an application interacts with via the
Using Third Party IP StacksNovember 2009 258ComponentsThe following figure shows the components included in this configuration. Note that you must dis
Using Third Party IP StacksNovember 2009 259ConfigurationYou can configure the Bfv with the ConfigTool on Windows® or by creating the callctrl.cfg fil
The Bfv API FunctionsNovember 2009 26The Bfv API FunctionsThe Bfv API functions in all the Bfv API libraries are separated into categories according t
Using Third Party IP StacksNovember 2009 260#[module.41] vb_firm=/usr/sys/brooktrout/boston/fw/bostvb.so# This parameter should be set to the number
Using Third Party IP StacksNovember 2009 261# Specify an IP mask such as 255.255.255.0 ip_netmask=0.0.0.0# Specify an IP address such as 192.168.0.1
Using Third Party IP StacksNovember 2009 262Figure 23. Inbound SIP Sequence
Using Third Party IP StacksNovember 2009 263Outbound CallThe following section uses SIP to demonstrate the interaction between the third party stack i
November 2009 2647 - Robbed Bit SignalingThis chapter describes robbed bit signaling as used with BSMI-level call control.The chapter has the followin
General InformationNovember 2009 265These protocols apply either to digital (T1 or E1) or analog lines. The different types of lines simply provide a
General InformationNovember 2009 266The protocols describe the value and meaning of the signaling bits and the timing between changes in their value.B
General InformationNovember 2009 267the B-channel number on that trunk (also 0-based). Some of the data structures associated with the message will ha
General InformationNovember 2009 268Timer DefinitionsThe LEC structure (named IISDN_ROBBED_BIT_DATA for historical reasons) contains a series of 16-bi
General InformationNovember 2009 269delayed_on_ hook_timer50 ms Delayed on hook timer. If set to a value greater than 0, the amount of time it waits f
The Bfv API FunctionsNovember 2009 27Administration, Management, and ConfigurationAdministration and Initialization Functions and MacrosThe administra
General InformationNovember 2009 270dptimer_ interdigit10 ms Dial Pulse Interdigit.Time between digits when performing digit outpulsing.IISDN56_DPINTE
General InformationNovember 2009 271glare_detection_timer10 ms Glare Detection. Timer started at the beginning of outseizure that determines if a wink
General InformationNovember 2009 272hooktimer_ offhook_inseize10 ms Inseizure Filter.Time that the receive signal bit must be in-use to be considered
General InformationNovember 2009 273hooktimer_ minbreak10 ms Minimum Dial Pulse Break Time.Shortest break region that is counted as a dial pulse break
General InformationNovember 2009 274outseize_ack_ timer50 ms CO Outseize Acknowledge Timer. Time to continue looking for the outgoing start dial signa
General InformationNovember 2009 275Timing DiagramsTo aid in the development process, timing diagrams that illustrate call setup and call teardown sig
Wink Start & Delay Dial SignalingNovember 2009 276Wink Start & Delay Dial SignalingIn the Wink Start protocol, the device seizing the line exp
Wink Start & Delay Dial SignalingNovember 2009 277The remaining settings are described in the context of incoming and outgoing calls in the subsec
Wink Start & Delay Dial SignalingNovember 2009 278Figure 25. Wink Start and Delay Dial – Incoming Call Timing IISDN SMI MESSAGES:L4L3mALERTING_R
Wink Start & Delay Dial SignalingNovember 2009 279Outgoing Call ProcessingDuring an outgoing call, the host receives an L3L4mPROGRESS in response
The Bfv API FunctionsNovember 2009 28The BTLINE StructureWhen an application calls the BfvLineAttach (or BfvSessionAttach) function to open and attach
Wink Start & Delay Dial SignalingNovember 2009 280Figure 26. Wink Start and Delay Dial – Outgoing Call Timing IISDN SMI MESSAGES:L4L3mCALL_REQU
Wink Start with Feature Group B & DNovember 2009 281Wink Start with Feature Group B & DTo configure a Brooktrout module for wink start with Fe
Wink Start with Feature Group B & DNovember 2009 282Figure 27. Wink Start with Feature Group B&D - Incoming Call Timing DiagramIISDN SMI MES
Wink Start with Feature Group B & DNovember 2009 283Outgoing Call ProcessingThe host receives an L3L4mPROGRESS in response to the L4L3mCALL_REQUES
Wink Start with Feature Group B & DNovember 2009 284Figure 28. Wink Start with Feature Group B&D - Outgoing Call Timing DiagramIISDN SMI MES
Immediate Start/Fixed Pause SignalingNovember 2009 285Immediate Start/Fixed Pause SignalingImmediate Start signaling applies to incoming calls only; F
Immediate Start/Fixed Pause SignalingNovember 2009 286Figure 29. Immediate Start – Incoming Call Timing DiagramIISDN SMI MESSAGES: L4L3mALERTING_REQ
Immediate Start/Fixed Pause SignalingNovember 2009 287Outgoing Call Processing (Fixed Pause Mode)During an outgoing call, the host receives an L3L4mPR
Immediate Start/Fixed Pause SignalingNovember 2009 288Figure 30. Fixed Pause – Outgoing Call Timing Diagram IISDN SMI MESSAGES: L4L3mCALL_REQUESTL3L
Ground Start SignalingNovember 2009 289Ground Start SignalingBrooktrout modules support two types of ground start signaling: Foreign Exchange - Offic
The Bfv API FunctionsNovember 2009 29Hereafter each of the line states is referred to by the descriptive part of its name only (for example, LINE_STAT
Ground Start SignalingNovember 2009 290Figure 31 shows how a Brooktrout module processes an incoming call received over an FXO ground start trunk.
Ground Start SignalingNovember 2009 291Figure 31. FXO Ground Start – Incoming Call Timing DiagramIISDN SMI MESSAGES: L4L3mALERTING_REQUEST or L4L3mP
Ground Start SignalingNovember 2009 292Outgoing Call ProcessingIf send_glare_err_event = 0 in the IISDN_ROBBED_BIT_DATA structure, the host receives a
Ground Start SignalingNovember 2009 293Figure 32. FXO Ground Start – Outgoing Call Timing DiagramIISDN SMI MESSAGES: L4L3mCALL_REQUESTL3L4mPROGRESS
Ground Start SignalingNovember 2009 294Figure 33. FXO Ground Start - Incoming Clear Timing DiagramIISDN SMI MESSAGES: L4L3mCLEAR_REQUESTL3L4mDISCONN
Ground Start SignalingNovember 2009 295Figure 34. FXO Ground Start - Outgoing Clear Timing DiagramIISDN SMI MESSAGES: L4L3mCLEAR_REQUESTL3L4mCLEAR_R
Ground Start SignalingNovember 2009 296FXS Ground StartTo configure a Brooktrout module for FXS ground start signaling, the host must issue an L4L3mEN
Ground Start SignalingNovember 2009 297Figure 35. FXS Ground Start – Incoming Call Timing DiagramIISDN SMI MESSAGES: L4L3mALERTING_REQUEST or L4L3mP
Ground Start SignalingNovember 2009 298Outgoing Call ProcessingIf send_glare_err_event = 0 in the IISDN_ROBBED_BIT_DATA structure, the host receives a
Ground Start SignalingNovember 2009 299Figure 36. FXS Ground Start – Outgoing Call Timing DiagramIISDN SMI MESSAGES: L4L3mCALL_REQUESTL3L4mPROGRESS
page 3Hardware Limited WarrantyWarranty for Hardware Products: Dialogic Corporation or its subsidiary that originally sold the hardware product (&qu
The Bfv API FunctionsNovember 2009 30Channel NumberingThe Bfv API uses two numbering schemes when referencing channels within a system. One is the uni
Ground Start SignalingNovember 2009 300Figure 37. FXS Ground Start - Incoming Clear Timing DiagramIISDN SMI MESSAGES: L4L3mCLEAR_REQUESTL3L4mDISCONN
Ground Start SignalingNovember 2009 301Figure 38. FXS Ground Start - Outgoing Clear Timing DiagramIISDN SMI MESSAGES: L4L3mCLEAR_REQUESTL3L4mCLEAR_R
Loop Start SignalingNovember 2009 302Loop Start SignalingBrooktrout modules support two types of loop start signaling: FXO Loop Start FXS Loop Start
Loop Start SignalingNovember 2009 303FXO Loop StartTo configure a Brooktrout module for FXO loop start signaling, the host must issue an L4L3mENABLE_C
Loop Start SignalingNovember 2009 304Incoming Call ProcessingDuring an incoming call, the host receives an L3L4mPRE_SEIZE message if send_preseize_eve
Loop Start SignalingNovember 2009 305Figure 39. FXO Loop Start – Incoming Call Timing DiagramIISDN SMI MESSAGES: L4L3mALERTING_REQUEST or L4L3mPROGR
Loop Start SignalingNovember 2009 306Figure 40. FXO Loop Start – Outgoing Call Timing DiagramIISDN SMI MESSAGES: L4L3mCALL_REQUESTL3L4mPROGRESS L3L4
Loop Start SignalingNovember 2009 307Figure 41. FXO Loop Start – Outgoing Clear Timing DiagramIISDN SMI MESSAGES: L4L3mCLEAR_REQUESTL3L4mCLEAR_REQUE
Loop Start SignalingNovember 2009 308Figure 42. FXO Loop Start – Incoming Clear Timing DiagramIISDN SMI MESSAGES: L4L3mCLEAR_REQUESTL3L4mDISCONNECT
Loop Start SignalingNovember 2009 309FXS Loop StartTo configure a Brooktrout module for FXS loop start signaling, the host must issue an L4L3mENABLE_C
The Bfv API FunctionsNovember 2009 31Firmware Functions and MacrosWith the specialized firmware functions, you can: Download firmware to the module f
Loop Start SignalingNovember 2009 310event = 1 in the IISDN_ROBBED_BIT_DATA structure. This message is sent after the fixed pause timer expires. When
Loop Start SignalingNovember 2009 311Figure 43. FXS Loop Start – Incoming Call Timing DiagramIISDN SMI MESSAGES: L4L3mALERTING_REQUEST or L4L3mPROGR
Loop Start SignalingNovember 2009 312Figure 44. FXS Loop Start – Outgoing Call Timing DiagramIISDN SMI MESSAGES: L4L3mCALL_REQUESTL3L4mPROGRESS L3L4
Loop Start SignalingNovember 2009 313Figure 45. FXS Loop Start – Outgoing Clear Timing DiagramIISDN SMI MESSAGES: L4L3mCLEAR_REQUESTL3L4mCLEAR_REQUE
Loop Start SignalingNovember 2009 314Figure 46. Non-FXO/FXS RBS Protocols - Incoming Clear Timing DiagramIISDN SMI MESSAGES: L4L3mCLEAR_REQUESTL3L4m
Loop Start SignalingNovember 2009 315Figure 47. Non-FXO/FXS RBS Protocols - Outgoing Clear Timing DiagramIISDN SMI MESSAGES: L4L3mCLEAR_REQUESTL3L4m
November 2009 3168 - ISDN Call Processing and ManagementThis chapter describes ISDN call processing using BSMI-level call control.The chapter has the
November 2009 317BSMI interprets undecoded Q.931 packets from the network, removing information not needed by most applications and making it availabl
ISDN Call Processing OverviewNovember 2009 318ISDN Call Processing OverviewThis subsection presents an overview of ISDN incoming and outgoing call set
ISDN Call Processing OverviewNovember 2009 319Notification of incoming calls comes via a SETUP_IND message which contains the B-channel number the net
The Bfv API FunctionsNovember 2009 32Configuration FilesThe Bfv API uses several configuration files that let you configure the Bfv API and driver, ca
ISDN Call Processing OverviewNovember 2009 320It is also possible to configure BSMI to generate a SETUP_ACK rather than a CALL_PROCEEDING message upon
ISDN Call Processing OverviewNovember 2009 321Making an ISDN Outgoing CallA typical outgoing ISDN call is illustrated in Figure 49. In this call scena
ISDN Call Processing OverviewNovember 2009 322Figure 49. ISDN Outgoing CallCall Proceeding (L3L4mCALL_PROCEEDING) is reported to the module but is n
ISDN Call Processing OverviewNovember 2009 323ISDN Overlapped DialingThe Euro-ISDN protocol only allows 20 digits to be sent as a group (en-block) whe
ISDN Call Processing OverviewNovember 2009 3243. The network responds to the DISCONNECT with a RELEASE message.4. The module generates two messages up
ISDN Call Processing OverviewNovember 2009 325If you want manual control over the sending of RELEASE COMPLETE, set the field below to 1:l43.data.enabl
ISDN Call Processing OverviewNovember 2009 326If the call is made using Switched 56 robbed bit signaling (not ISDN), there is an additional waiting pe
Translating Q.931 to Simple Message InterfaceNovember 2009 327Translating Q.931 to Simple Message InterfaceTable 14 translates Q.931 messages to the a
Using the overlap_rcv feature of L4L3mENABLE_PROTOCOLNovember 2009 328Using the overlap_rcv feature of L4L3mENABLE_PROTOCOLWhat is Overlap Receive?Whe
Using the overlap_rcv feature of L4L3mENABLE_PROTOCOLNovember 2009 329BSMI Reference NotesSupport for Overlap Receive mode are enabled using the overl
The Bfv API FunctionsNovember 2009 33Module Status and Monitoring FunctionsWith the module status and monitoring functions, you can: Set and get the
Using the overlap_rcv feature of L4L3mENABLE_PROTOCOLNovember 2009 330How Overlap Receive Mode Changes Call Control Events PresentationVolume 5, Bfv A
Using the overlap_rcv feature of L4L3mENABLE_PROTOCOLNovember 2009 331Network Brooktrout Controller HostSetup (no sending completeor called party #IE)
Q.921/Q.931 TimersNovember 2009 332Q.921/Q.931 TimersAn application can change the default behavior in Instant ISDN Software Level 2 and Level 3 param
Q.921/Q.931 TimersNovember 2009 333unsigned shortn200 Maximum number of retransmissions. Default value is 3.unsigned shortn201 Maximum number of oc
Q.921/Q.931 TimersNovember 2009 334If layer 2 has been enabled, you will receive the data (termed payload) you expect with the layer 2 headers strippe
November 2009 3369 - Using the BSMI R2 Signaling Capability This chapter describes R2 signaling as used with BSMI-level call control. The chapter has
CPE Signaling ModelNovember 2009 337Line Signaling) and MF compelled (MFC) (R2 Inter-register Signaling). Signaling is controlled via the BSMI interfa
CPE Signaling ModelNovember 2009 338Table 17. Line Signaling Model State CAS Bits NotesOutbound AB Inbound ABIdle 10 10 Both outbound and inbound ch
CPE Signaling ModelNovember 2009 339The inter-register signaling performs the exchange of address information via R2 MF tones. The split-band forward
The Bfv API FunctionsNovember 2009 34Structures and Return ValuesThe Bfv API uses argument structures to pass values to and from functions. The applic
CPE Signaling ModelNovember 2009 340Information passed from the inbound side to the outbound side is: Called line condition (for example, free with c
CPE Signaling ModelNovember 2009 341Figure 52 illustrates an example inter-register exchange in which the inbound protocol is configured to collect DN
Enabling the R2 ProtocolNovember 2009 342Enabling the R2 ProtocolUsing the R2 protocol is similar to using the LEC protocols. Each individual channel
Enabling the R2 ProtocolNovember 2009 343BSMI does not support varying any parameter settings from channel to channel on a single trunk. Trunk level c
Enabling the R2 ProtocolNovember 2009 344Table 19 identifies the IISDN_R2_INTERREGISTER_PARAMS sub-structure containing the parameters required used t
Enabling the R2 ProtocolNovember 2009 345pulseToneDuration Duration of a backward pulse signal (Ref. ITU Q.442).ms Typically [100 - 200]Outbound MFC T
Enabling the R2 ProtocolNovember 2009 346Backward Channel Signal DefinitionssendNextDigitDNIS Signal request for next DNIS digit (state DNIS).Table 20
Enabling the R2 ProtocolNovember 2009 347The MFC inter-register protocol is specified through a subset of the parameters in Table 17 on page 338 that
Enabling the R2 ProtocolNovember 2009 348Protocol Parameter MechanicsThe set of protocol parameters is specified according to a simple procedure. Indi
Enabling the R2 ProtocolNovember 2009 349Forward ChannelThe set of forward channel actions to backward channel signals is defined in Table 21.Actions
The Bfv API FunctionsNovember 2009 35Miscellaneous Functions and MacrosSome administration functions and macros cannot be classified with other functi
Enabling the R2 ProtocolNovember 2009 350Backward ChannelTable 19 identifies the set of backward inter-register signals. The tones defined are those u
Enabling the R2 ProtocolNovember 2009 351Table 22 identifies the enumeration of Group B called line conditions. This enumeration forms the set of indi
Enabling the R2 ProtocolNovember 2009 352Table 23 identifies the set of backward channel actions to forward signals.Table 23. IISDN_R2MFCP_BACKWARD_
Enabling the R2 ProtocolNovember 2009 353Inbound calls require generation of call progress tones. If a call has been accepted, BSMI will generate a fi
Enabling the R2 ProtocolNovember 2009 354makeTime3 See makeTime1; not used if numCadences = 2breakTime3 See breakTime1; not used if numCadences = 2num
Enabling the R2 ProtocolNovember 2009 355R2 Call ControlThis section presents an overview of R2 outbound and inbound call setup and tear down. LEC pro
Enabling the R2 ProtocolNovember 2009 356Outbound Call SetupAn outbound call request sequence that results in call acceptance by the remote side is il
Enabling the R2 ProtocolNovember 2009 357Call acceptance by the remote end is determined by BSMI during MFC inter-register signaling. At this point, B
Enabling the R2 ProtocolNovember 2009 358An outbound call request sequence that results in call rejection by the remote side is illustrated in Figure
Enabling the R2 ProtocolNovember 2009 359Inbound Call SetupInbound call setup is illustrated in Figure 55. The host optionally receives an L3L4mPRE_SE
The Bfv API FunctionsNovember 2009 36Call ControlCall control functions enable the application to set up, initiate, connect, disconnect, and perform o
Enabling the R2 ProtocolNovember 2009 360In the event that a failure occurs after the optional L3L4mPRE_SEIZE message, but before the L3L4mSETUP_IND m
Enabling the R2 ProtocolNovember 2009 361Call Tear DownFigure 56 illustrates a call disconnection initiated by the network. BSMI issues an L3L4mDISCON
Enabling the R2 ProtocolNovember 2009 362Figure 57 illustrates a call disconnection initiated by the host application. The host issues an L4L3mCLEAR_R
Enabling the R2 ProtocolNovember 2009 363Channel BlockingBSMI provides a mechanism for the Host application to block and unblock individual channels a
November 2009 36410 - Packaging Your Application for Windows®This chapter describes how to package Dialogic® Brooktrout® software so that you can deli
November 2009 365Brooktrout SDK consists of a collection of software components in a simple installation package known as boston.msi that installs the
Package OptionsNovember 2009 366A merge module consists of a component such as a .dll file and its related files, resources, registry entries, and set
InstallationNovember 2009 367InstallationThe paragraphs in this section provide instructions for: Installing modules and virtual modules (SR140) Ins
InstallationNovember 2009 368Installing SoftwareDepending on how you choose to deliver your package to your customers, Brooktrout provides its softwar
InstallationNovember 2009 369msiexec \I boston.msi \qn INSTALLDIR=D:\ProductFolder SHOWLAUNCHPROGRAM=0 SHOWLAUNCHREADME=1.If you use your own installa
The Bfv API FunctionsNovember 2009 37Typically, the BSMI is used as one component of a system. Firmware download, for example, is achieved using the c
InstallationNovember 2009 370bin\ axis_notice.txt License notice text filebin\ bostvb.dll Host based firmware dllbin\ brktcctrace.exe Call Tracer util
InstallationNovember 2009 371config\ btcall.cfg User-defined configuration fileconfig\ BT_CPARM.CFG Country-specific configuration parameters fileconf
InstallationNovember 2009 372driver\pnp\ brooktrout.cat Security catalog file for the pnp driver componentsdriver\pnp\ trxstream.inf INF file for i
InstallationNovember 2009 373In addition to copying the files to the destination folders, this option registers (service installation) bostsrv.exe wit
InstallationNovember 2009 374ShortcutsThe installation creates the following shortcut under Start –> Programs:Name LocationBrooktrout Configuratio
InstallationNovember 2009 375During the full installation of the User Interface, a dialog appears indicating that a reboot is necessary. However, if y
InstallationNovember 2009 376Configurable Brooktrout SDK Installation OptionsThe first time install Finish page provides an option to:Launch Configura
InstallationNovember 2009 377Files Installed The module contains the following files:Registry Entries NoneEnvironment Variables NoneShortcuts NoneServ
InstallationNovember 2009 378Configuration and Protocol Files (configdata.msm)Merge this module to install the configuration, protocol, and font files
InstallationNovember 2009 379Firmware (firmware.msm)Merge this module to install the firmware files.Files Installed The module contains the following
The Bfv API FunctionsNovember 2009 38Media ProcessingMedia processing refers to the application that is performed on the Brooktrout modules. Depending
InstallationNovember 2009 380Configuration Tool (configtool.msm)Merge this module to install the configuration tool and its help files. Files Installe
InstallationNovember 2009 381TECUpdate (TECUpdate.msm)Distribute TECUpdate to your end users even if you do not plan to distribute the Configuration T
InstallationNovember 2009 382License Manager (softwarelicense.msm)Distribute the License Manager to all end users so that your customers can activate
InstallationNovember 2009 383Utility Programs (utilities.msm)Merge this module to install the utility programs used for querying hardware and software
InstallationNovember 2009 384Boston Host Service (bostsrv.msm)Merge this module to install and register the Boston Host Service.Files Installed The mo
InstallationNovember 2009 385Installing the Merge Module FeatureThe Brooktrout SDK (sdk_windows.exe) includes the Merge Module feature that installs a
InstallationNovember 2009 386The Brooktrout merge modules consist of: dynamic_dlls.msm (independent module) dynamic_dlls_x64.msm (independent module
InstallationNovember 2009 387linking to the DLLs. With the system variable set, you can simply append the absolute path to these files to the Path env
InstallationNovember 2009 388Figure 59. Merging Modules into a Single Feature
InstallationNovember 2009 389Figure 60. Merging Modules into Multiple Features
The Bfv API FunctionsNovember 2009 39Voice Record and PlayWith the Bfv voice record and play functions, the application can: Open, play, and close a
About Plug and Play ComponentsNovember 2009 390About Plug and Play ComponentsPlug and Play happens outside the process of the application that uses th
About Plug and Play ComponentsNovember 2009 391Note: Existing Dialogic® Brooktrout® Fax Products SDK Developers: You cannot start or stop the Plug an
About Plug and Play ComponentsNovember 2009 392Plug and Play Installation ScenariosThe following flowcharts show two scenarios that your users might f
About Plug and Play ComponentsNovember 2009 393Scenario 1 shows the install process beginning with installing the module. At the end of the process yo
About Plug and Play ComponentsNovember 2009 394Scenario 2 shows the install process beginning with installing the software and then installing the mod
About Plug and Play ComponentsNovember 2009 395Structure of the Brooktrout PnP FolderThe Brooktrout PnP folder has the following structure:PnP | brook
About Plug and Play ComponentsNovember 2009 396¾Once you identify the INF file (specifically trxstream.inf), the following actions occur. For an autho
About Plug and Play ComponentsNovember 2009 397 Automatically launches the Brooktrout Configuration ToolFor details about the install package and the
About Plug and Play ComponentsNovember 2009 398displayed, and it instead signals the process level event. The configuration tool (upon getting unblock
About Plug and Play ComponentsNovember 2009 399The Brooktrout Device Manager Property Page is a custom DLL (brktBdevpp.dll) that provides basic integr
The Bfv API FunctionsNovember 2009 40Fax Functions The Bfv API provides a wealth of fax functions that allow you to control every aspect of sending an
Modifying Configuration FilesNovember 2009 400Modifying Configuration FilesThis section describes each of the configuration files. You can edit the co
Modifying Configuration FilesNovember 2009 401User-Defined Configuration File (btcall.cfg)The user-defined configuration file contains parameters that
Including the Brooktrout Configuration ToolNovember 2009 402Call Control (callctrl.cfg) Configuration FileThis file contains configuration parameters
Downloading Firmware FilesNovember 2009 403Downloading Firmware FilesIn addition to installing the software, you must: Update the boot ROM flash memo
Removing SoftwareNovember 2009 404Removing Software The Add/Remove Programs selection on the Windows® Control Panel screen provides options to initiat
Removing the Plug and Play DriverNovember 2009 405Removing the Plug and Play DriverInstalling a Brooktrout device using the Plug and Play Manager (Fou
Removing the Plug and Play DriverNovember 2009 406This value contains the name of the backup copy of the trxstream.inf file that Windows® created duri
Removing the Plug and Play DriverNovember 2009 4077. Examine the registry value InfPath located under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Con
November 2008 408Appendix AG3 Legacy UtilitiesThis appendix describes legacy utilities that help manipulate raw G3 fax files.The utilities described i
November 2009 409The G3 utilities include:ASCII to Fax Conversion UtilityConverts ASCII text files to Brooktrout G3 fax image files.Cut and Paste Util
The Bfv API FunctionsNovember 2009 41Combining the high-, mid-, and low-level functions within the same application program is valid and useful. Need
ASCII to Fax Conversion Utility (asctog3)November 2009 410ASCII to Fax Conversion Utility (asctog3)Converts ASCII text files to Brooktrout Group 3 fax
Cut and Paste UtilitiesNovember 2009 411Cut and Paste UtilitiesThe next two utility commands, g3chop and g3combin, permit cutting and pasting of fax i
Cut and Paste UtilitiesNovember 2009 412Paste Utility (g3combin)Combines portions of Brooktrout Group 3 fax files, and, although it is most commonly u
Epson to Fax Conversion Utility (epstog3)November 2009 413Epson to Fax Conversion Utility (epstog3)Converts Epson print files to Brooktrout Group 3 fa
Epson to Fax Conversion Utility (epstog3)November 2009 414The epstog3 utility displays help information on converting graphics files to fax image file
Fax Display and Edit Utility: Supershow (ss)November 2009 415Fax Display and Edit Utility: Supershow (ss)Displays a fax file on screen for viewing and
Fax Display and Edit Utility: Supershow (ss)November 2009 416For example:ss -rv -iletsig.301displays a file named letsig.301 on the screen in reverse
G3 Conversion Utility (g3cvt)November 2009 417G3 Conversion Utility (g3cvt)Converts a raw fax file between any of these formats—MH, MR, MMR, PCX, and
G3 Conversion Utility (g3cvt)November 2009 418For example:g3cvt MMR fax.mmr MH fax.mhconverts a fax file from MMR format to MH format.-h Causes g3cvt
Print Utility (p)November 2009 419Print Utility (p)Prints the fax file to any one of several printers. Command Syntaxp argument-listp [-ppmode] [-xXOF
The Bfv API FunctionsNovember 2009 42In addition, the fax functions are divided into two subgroups: those that process infopkt-formatted data files an
Print Utility (p)November 2009 420The Print Utility displays help information when no arguments are specified.Note: The Print utility automatically s
November 2008 422Appendix BRecompiling On Linux PlatformsThis appendix provides instructions for recompiling the Boston driver to support new kernel p
November 2009 423Each of these directories also contains a file named bostbase.a, which is a library containing precompiled object files compiled for
November 2009 424For Red Hat Linux releases ES/AS 4.0 and later:The kernel source itself is not required; instead, a development kit is required. This
November 2009 426GlossaryAPI Application Programming InterfaceASR Automatic Speech RecognitionChannel A logical channel of operations provided by a
November 2009 427lapdid The term lapdid has its origins with the LAP-D protocol used for call control, but has an extended meaning for Brooktrout prod
November 2009 428Stream A logical data entity that corresponds to a physical data line on a TDM bus.T1/E1 span The set of slots that comprises one T
The Bfv API FunctionsNovember 2009 43For voice applications, infopkts provide an easy means to build sophisticated interactive voice systems. Using in
430AAbout merge modules 376Accessing the telephone system 36Active redirecting for Japan (call transfer) 187Add/Remove ProgramsRemoving packaged softw
November 2009 431Checking for presence of 369BSMI APIBoston Simple Message Interface 23call control 36control messages 37BT_CPARM.CFG file 32btcall.cf
November 2009 432dfax program 136Diagnostic utilities, tracing messages 101Dialingrestrictions 137dialingISDN overlapped 323Dialing database functions
November 2009 433full duplex call transfer, see Two-channel call transfersFunctionsadministration and initialization 27board status and monitoring 33c
November 2009 434Installing merge modules 385Instant ISDN Software, Layer 2 and Layer 3 parameters 332Integrating Brooktrout software with your softwa
November 2009 435firmware 31miscellaneous 35Making registry entries 384Maximum transmit window (K) 333Media processingBfv functions 26types of applica
November 2009 436Installation flowcharts 392Installation package 364InstallHome Path 373Instructions for installing boards 367Instructions for Plug an
November 2009 437Release Link Trunk 202RELEASE Q.931 message 324, 325Remote fax node parameters 89Remote logging, turn on 134Removing Software, for pa
November 2009 438SpawningInstallation package 364Speechinfopkt parameters 51recording and playing 139, 167, 169, 170recording and playing wave files 1
November 2009 439BfvCallSWConnect 192BfvCallSWGetConns 192BfvCallSWGetInfo 192Conditions for termination 199Configuring echo cancellation 195Connectin
The Bfv API FunctionsNovember 2009 44Tag Infopkts Contain speech parameter structures (which describe the sample rate, coding format, and data format
November 2009 440
The Bfv API FunctionsNovember 2009 45Data Infopkts Contain just the header and data, permitting applications to organize large files as a sequence of
The Bfv API FunctionsNovember 2009 46User-Defined Infopkts Contain a header (the document’s title, the subject of the document, or the total number of
The Bfv API FunctionsNovember 2009 47The Infopkt StreamAn infopkt stream is a file or memory buffer containing concatenated individual infopkts. The l
The Bfv API FunctionsNovember 2009 48Figure 2. Flow Chart for Creating Infopkt Streams that Play Speech_PROMPT_MAPIndex to prompt fileIndexed Prompt
The Bfv API FunctionsNovember 2009 49To create an infopkt stream file to test the fax functionality of your hardware and software:mkinfopk -o fax.ips
page 5Bfv API Reference Manual Volumes 1 - 6Bfv API Reference Manual Volume 1 Administration, Management, and Configuration Bfv API Overview Adm
The Bfv API FunctionsNovember 2009 50Figure 3. Creating Infopkt Streams that Transmit Facsimiles_DOC_PARAMSres, len., widthoptional/conditionalSTART
The Bfv API FunctionsNovember 2009 51Infopkt StructureEvery infopkt consists of a header and data. The 4-byte header consists of a type code and a len
The Bfv API FunctionsNovember 2009 52Fax Infopkt ParametersThe T.30 protocol requires two communicating fax machines to agree on several transmission
The Bfv API FunctionsNovember 2009 53The strip parameters infopkts:INFOPKT_ASCII_STRIP_PARAMETERSINFOPKT_G3_STRIP_PARAMETERSdefine the actual strips o
The Bfv API FunctionsNovember 2009 54When a single G3 strip consists of multiple G3 infopkts, do not insert an INFOPKT_G3_STRIP_PARAMETERS infopkt bet
The Bfv API FunctionsNovember 2009 55This two-page document contains a G3 fax document as a cover page.INFOPKT_G3(Cover sheet; G3 data)It is followed
November 2009 562 - Developing Applications Using the Bfv APIThis chapter describes how to develop applications with Brooktrout Fax Software.The chapt
Developing a Voice ApplicationNovember 2009 57Developing a Voice ApplicationRecording and Playing VoiceThe following steps for recording and playing b
Developing a Voice ApplicationNovember 2009 58Recording Voice1. Prepare channel 2 to record your message:voice -u 2 -r voice.ipsThe command voice invo
Using Prompt FilesNovember 2009 592. Dial the phone number of the channel you selected. Make sure the phone line is attached to the selected channel.T
November 2009 6Chapter 1 – About this Publication . . . . . . . . . . . . . . . . . . . . . . . . . 16Introduction . . . . . . . . . . . . . . . .
Using Prompt FilesNovember 2009 60Using the mkprompt UtilityThe mkprompt utility converts multiple infopkt files into a Brooktrout prompt file and upd
Developing a Fax ApplicationNovember 2009 61Updating an Existing Prompt FileTo update an existing Brooktrout prompt file, at the command line type:mkp
Developing a Fax ApplicationNovember 2009 62Sending a Fax from One Channel to Another¾Use the fax sample program to send a fax from one channel to ano
Developing a Fax ApplicationNovember 2009 63Sending a Fax to a Channel from an External Fax MachineUse the fax.c sample program to send a fax from an
Developing a Fax ApplicationNovember 2009 64Using Bfv API Fax FunctionsThe following sections show how to send and receive facsimiles using the high-
Developing a Fax ApplicationNovember 2009 65args_admin.config_file_name = "usrcnfig.cfg"; BfvLineReset(lp,&args_admin);Resets the channe
Developing a Fax ApplicationNovember 2009 66args_admin.config_file_name = "usrcnfig.cfg"; BfvLineReset(lp,&args_admin);Resets the channe
Developing a Fax ApplicationNovember 2009 67args_admin.config_file_name = "usrcnfig.cfg"; BfvLineReset(lp,&args_admin);Resets the channe
Developing a Fax ApplicationNovember 2009 68for (;;) { BT_ZERO(args_fax); args_fax.s_ips = ips; if ((ret = BfvFaxNextPage(lp, &args_fa
Developing a Fax ApplicationNovember 2009 69args_admin.config_file_name = "usrcnfig.cfg"; BfvLineReset(lp, &args_admin);Resets the chann
November 2009 7ContentsBSMI-Level Call Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Media Pro
Developing a Fax ApplicationNovember 2009 70BT_ZERO(args_admin); BfvLineDetach (lp, &args_admin);Frees all the memory for the attached line and cl
Developing a Fax ApplicationNovember 2009 71BT_ZERO(args_t30); args_t30.bit_rate = BITRATE_14400; args_t30.scan_time = SCANTIME_0; BfvFaxT30Params(lp,
Developing a Fax ApplicationNovember 2009 72BT_ZERO(args_strip); args_strip.fmt = DATA_ASCII; args_strip.resolution = RES_200H_100V; args_strip.width
Developing a Fax ApplicationNovember 2009 73BT_ZERO(args_fax); args_fax.fname = "memo.txt"; args_fax.fmt = DATA_ASCII; BfvFaxSendFile(lp, &a
Developing a Fax ApplicationNovember 2009 74BT_ZERO(args_fax); args_fax.local_id = "Id_string"; BfvFaxSetLocalID(lp,&args_fax);Sets the
Developing a Fax ApplicationNovember 2009 75Sending a Fax Using Calls for TIFF-F FilesOne way to send a fax using function calls for TIFF-F files is d
Developing a Fax ApplicationNovember 2009 76for (;;) { BT_ZERO(args_fax); args_fax.s_tp = tp; args_fax.combine = 0; if (BfvFaxNextPage
Developing a Fax ApplicationNovember 2009 77BT_ZERO(args_tel); args_tel.timeout = 0L; BfvLineWaitForCall (lp, &args_tel);Waits for the detection o
Developing a Fax ApplicationNovember 2009 78Receiving and Storing a Fax in MMR or MR FormatReceiving an Infopkt-Formatted Fax and Storing it in MMR Fo
Developing a Fax ApplicationNovember 2009 79BT_ZERO(args_fax); args_fax.fmt = FMT_MMR_ALIGN_MSB; BfvFaxSetReceiveFmt(lp,&args_fax);Sets the format
November 2009 8ContentsDetermining Fax Status Information from an Application . . . . . . . . . . . . . . . . . . . . . . . 89Chapter 4 – Debuggin
Developing a Fax ApplicationNovember 2009 80BT_ZERO(args_fax); args_fax.fmt = FMT_MR_UNALIGN_MSB; BfvFaxSetReceiveFmt(lp,&args_fax);Sets the forma
Developing a Fax ApplicationNovember 2009 81BfvFaxEndReception(lp, &args_fax);Call this function when there are no more pages to receive.BT_ZERO(a
Developing a Fax ApplicationNovember 2009 82args_page.length = 1143; args_page.ascii_pad = 1; BfvFaxPageParams(lp,&args_page);Sets the page parame
Developing a Fax ApplicationNovember 2009 83Accessing an Infopkt Stream from an ApplicationThe function calls BfvFaxSendPage and BfvFaxNextPage are ty
Developing a Fax ApplicationNovember 2009 84Processing, Bfv API Reference Manual for detailed information on how to access user-defined infopkts when
Developing a Fax ApplicationNovember 2009 85The second method uses the normal TIFF sending functions to transmit a TIFF file that is preceded or succe
Developing a Fax ApplicationNovember 2009 86/* A call to BfvFaxStripParams must be done */ /* here for combination with previous G3 */ /* data (from T
Developing a Fax ApplicationNovember 2009 87BT_ZERO(args_strip); args_strip.fmt = DATA_G3; args_strip.resolution = RES_200H_100V; args_strip.width = W
Developing a Fax ApplicationNovember 2009 88 if ((n = BfvTiffReadImage(&args_tiff)) <= 0) break; process_image(buf,n); }
Developing a Fax ApplicationNovember 2009 89 BfvTiffWriteImage(&args_tiff); args_tiff.ifd_field = &ifd_field; while (determine_next
November 2009 9Contentsboardmon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Developing a Fax ApplicationNovember 2009 90Transfer Mode The application normally keeps track of its own operation mode (transmitting or receiving),
November 2009 913 - DebuggingThis chapter describes how to use the debugging tools.The chapter has the following sections: Bfv API Debug Mode BfvDat
Bfv API Debug ModeNovember 2009 92Bfv API Debug ModeSome components of the Bfv API have their own unique debug functions to produce debug information
BfvLineDumpStructureNovember 2009 93BfvLineDumpStructureThe BfvLineDumpStructure function (Volume 1, Bfv API Reference Manual) dumps the contents of t
Dump HistoryNovember 2009 94Invoking Dump HistoryYou can invoke Dump History from within an application or directly from the command line. From withi
Dump HistoryNovember 2009 95Normally all history is collected in a single main history buffer accessible as module 1 channel 1. During driver configur
Dump HistoryNovember 2009 96Interpreting the OutputThe output from Dump History consists of a status header line at the beginning followed by command
Dump HistoryNovember 2009 9714:02:20.52.00008291 "M2: Queued incoming packet" Pkt bytes: 17 00 24 02 02 FE 01 01 01 02 01 0C 00 08 03 04
Parsed Command InformationNovember 2009 98Timing InformationTiming information is reported first and usually takes the form:hr:min:sec.fracts.sequence
Parsed Command InformationNovember 2009 99First is the facility value in parentheses followed by the name of the facility (01 and ADMIN). Next is the
Commenti su questo manuale