User Manual
Table Of Contents
- Access Server
- Table of Contents
- List of Tables
- Chapter 1. Introduction to Access Server
- Chapter 2. Getting Started with Access Server
- Chapter 3. Using the System
- 3.1. Network Interfaces
- 3.2. Bluetooth
- 3.3. Compact Flash Cards
- 3.4. USB Memory Dongles and Compact Flash Memory Cards
- 3.5. Servers
- 3.5.1. Finder
- 3.5.2. ObexSender
- 3.5.3. SMS Gateway Server
- 3.5.4. User Level Watchdog
- 3.5.5. Remote Management
- 3.5.5.1. Overview
- 3.5.5.2. Management Packet Format
- 3.5.5.3. Management Packet Information File Format
- 3.5.5.4. Management Operation Example: Hello World
- 3.5.5.5. Management Operation Example: Software Update
- 3.5.5.6. Management Operation Example: IPQUERY
- 3.5.5.7. Management with USB Memory Dongle or Compact Flash Memory Card
- 3.5.6. FTP
- 3.5.7. Web Server
- 3.5.8. SNMP
- 3.5.9. OpenVPN
- 3.5.10. SSH
- 3.5.11. Telnet
- 3.5.12. NTP
- 3.6. Utilities
- 3.7. Real Time Clock
- 3.8. Time Zone
- 3.9. System ReInstall and Upgrade
- Chapter 4. SPPoverIP
- Chapter 5. Obexsender
- Chapter 6. Software Development Kit
- 6.1. Introduction to SDK
- 6.2. Installing SDK
- 6.3. Creating Applications
- Chapter 7. iWRAP Bluetooth Interface
- 7.1. Terms
- 7.2. Starting the iWRAP Servers
- 7.3. Writing iWRAP Applications
- 7.4. Commands Controlling iWRAP
- INFO
- QUIT
- SET
- SAVE
- LOAD
- PING
- PONG
- ECHO
- LOCK
- UNLOCK
- SHUTDOWN
- SLEEP
- 7.5. Finding Bluetooth Devices
- INQUIRY
- NAME
- 7.6. Making a Bluetooth Connection
- CALL
- CONNECT
- NO CARRIER
- RING
- RINGING
- CLOSE
- LIST
- STATUS
- 7.7. Service Discovery
- SDPSEARCH
- SDPATTR
- SDPQUERY
- SDP bdaddr
- SDP ADD
- SDP DEL
- SDP LIST
- 7.8. Example Sessions
- 7.9. Error Codes
- Chapter 8. I/O API
- Chapter 9. Advanced Use Cases for Access Server
- Chapter 10. Certification Information and WEEE Compliance
- Appendix A. Directory Structure
- Appendix B. Setup Options
- Appendix C. Open Source Software Licenses
- Appendix D. Supported Hardware
7.3. Writing iWRAP Applications
There are two approaches when writing a iWRAP server program (a program accepting incom-
ing calls) for Access Server, both having different pros and cons:
1. Forklistener
2. iWRAP Client
Note: When writing a client program (that is, a program making an outgoing call), you have to use
iWRAP.
7.3.1. Forklistener
This is a standard program reading data from standard input and writing output to standard
output. See the SDK directory examples/forkserver/ for an example of this kind of program.
Pros:
• Easy to write.
• Very robust for simple services.
• You do not have to understand Bluetooth or iWRAP.
Cons:
• Your program is started and stopped for every incoming connection.
• If there are multiple connections, it is not possible to communicate to an external program
through one socket.
• You cannot use stdout for debugging; you must use syslog or a log file.
• iWRAP’s advanced features are not available: powermodes, MSC, SDP, inquiry, ...
To setup a forklistener, see the SET command.
7.3.2. iWRAP Client
iWRAP client is a program communicating with the iWRAP server through control and data
sockets. See the SDK directory examples/btserver/ for an example of this kind of program.
Pros:
• The cons with forklistener do not apply.
Cons:
• More complex than forklistener.
• You must have basic knowledge about Bluetooth and iWRAP.
For documentation about iWRAP, read this chapter carefully.
69