This document describes the Bluetooth PAN Profile API, which supports standard IP-based network services deployed over the Bluetooth transport layer.
Familiarity with PAN Profile specification by the Bluetooth SIG is assumed.
The Personal Area Network (PAN) profile is designed to make a Bluetooth network simulate an ethernet, from an application's perspective.
Each remote device that connects to the PAN device for networking purposes will be merged into the same active PAN.
*Key Concepts
*Architectural Relationships
*PAN Roles
Personal Area Network (PAN)
A PAN is an ad-hoc network of devices communicating on a standard network configuration, over a Bluetooth radio connection. A PAN may have anywhere from 2 to 8 participating member devices.
A PAN is not the same as a piconet. Where a piconet is any ad-hoc networking of devices over a Bluetooth connection for the purposes of sharing data or services, like when you pair your phone to your Bluetooth hands-free kit, a PAN deals specifically with networking resources.
PAN Profile
The Bluetooth specification identifies several profiles including the Bluetooth Personal Area Networking (PAN) profile. The PAN profile simplifies the now deprecated Bluetooth LAN Access and Dial-up Networking profiles by reducing the number of layers in a network Bluetooth connection.
The PAN profile identifies certain configuration and setup details of a participant of the network, including the PAN host. If a device wants to join a PAN it must support and be able to be configured according to the requirements of the profile in use. For more general information about Bluetooth profiles see Introduction to Bluetooth Profiles.
PAN profile roles
Typical PAN profile roles include the following:
*PANU *PAN-GN *PAN-NAP
PANU (User) acts as a client member of a PAN-GN (Group ad hoc Network) or a PAN-NAP (Network Access Point).
Any device in either the PAN-GN or the PAN-NAP role acts as a server.
The PAN Profile roles are described below:
PANU
A Bluetooth enabled device seeking entry into a network or participating in a peer-to-peer (one on one) connection assumes the PANU role, thus becoming a client member of the piconet.
PANU to PANU connection
PAN-GN
A PAN-GN device assumes the role of a forwarding node or host and the attached PANU devices act as clients, networking up to a maximum of seven PANUs. The wireless network is formed without the need of additional hardware like a hub or router as in the case of a conventional cabled network.
Group Ad-hoc Network (GN) is a temporary, ad hoc network of devices in proximity for sharing information and services. It is called ad hoc because of its on-the-fly or transient nature and can include up to eight (including the host) available Bluetooth-enabled devices in the immediate vicinity, that are willing to participate.
The device that initiates the network - in this case the PAN-GN - becomes the host or controller. Correspondence in a PAN between the clients is routed through the PAN-GN device (host) in both one-to-one and one-to-many cases.
Piconet - PAN-GN to PANU relationship
PAN-NAP
A PAN-NAP device plays the role of a proxy, bridge, or a router between an existing network say a LAN or the Internet and Bluetooth-enabled devices. The PAN-NAP device takes up to seven active wireless clients. The NAP device acts as a bridge between PANU devices or bluetooth networks and other networks for routing ethernet packets. The Symbian OS PAN-NAP role allows only a single PANU client access to the uplink for the external network.
PAN-NAP, bridging networks
The following image shows a Bluetooth-enabled laptop accessing the Internet through a mobile handset that is acting as a PAN-NAP device. The Bluetooth handset may provide the uplink via GPRS, WIFI, dial-up, or in some other way.
Dial-up networking
For more information about please see the PAN NAP Role Guide.
The PAN Profile specification fits in between the application and the hardware abstraction layers. It is connected to and accessed through the Comms-Infras socket by the application.
Initially, the connection preferences are set in CommDB(http://docs.huihoo.com/symbian/s60-5th-edition-cpp-developers-library-v2.1/GUID-35228542-8C95-4849-A73F-2B4F082F0C44/sdk/doc_source/guide/Communications-Infrastructure-subsystem-guide/CommDbGuide/index.html#CommDbGuide%2etoc) through the code. The Bluetooth stack is then initialized. An RConnection and RSocketServ instance are created as part of initiating an ESock(http://docs.huihoo.com/symbian/s60-5th-edition-cpp-developers-library-v2.1/GUID-35228542-8C95-4849-A73F-2B4F082F0C44/sdk/doc_source/guide/Communications-Infrastructure-subsystem-guide/esock/index.html#CommsInfrastructure%2eesock%2etoc) session and the RConnection object opens the connection through the RSocketServ instance. RConnection::Control() allows configuration of certain aspects of the PAN, for instance adding and deleting devices to/from the PAN.
Intact ethernet payloads are transported with the BNEP (Bluetooth Network Encapsulation Protocol) underneath. The PAN profile interacts with the Bluetooth BB (baseband) and conveys the various roles that PAN network nodes would play.
The following tutorials have been provided to help give licensee developers guidance when writing applications that make use of the PAN profile.
*Creating a Personal Area Network(http://docs.huihoo.com/symbian/s60-5th-edition-cpp-developers-library-v2.1/GUID-35228542-8C95-4849-A73F-2B4F082F0C44/sdk/doc_source/guide/Short-Link-Services-subsystem-guide/ShortLinkServices/BluetoothProfiles/BluetoothPAN/BTPanTutorial/BTPANProfileTutorial.html#bt%2eguide%2ebtpan%2eapi%2estart)
*Removing a device from the PAN(http://docs.huihoo.com/symbian/s60-5th-edition-cpp-developers-library-v2.1/GUID-35228542-8C95-4849-A73F-2B4F082F0C44/sdk/doc_source/guide/Short-Link-Services-subsystem-guide/ShortLinkServices/BluetoothProfiles/BluetoothPAN/BTPanTutorial/BTPANProfileRemove.html#bt%2eguide%2ebtpan%2eapi%2eremove)
PAN Example
PAN Profile Example Guide