0

Do anybody know of any (free) tools that can aid in the creation\editing of Blue-Tooth's SDP (Service Discovery) records?

Windows based tools preferred.

Anonymouse
  • 935
  • 9
  • 20

2 Answers2

1

You can use my 32feet.NET library. There's no UI for this but there's library code which could be easily used for this. Use class ServiceRecordBuilder. Some docs at Creating Records. For example:

ServiceRecordBuilder bldr = new ServiceRecordBuilder();
bldr.AddServiceClass(BluetoothService.SerialPort);
bldr.ServiceName = "Alan's SPP service";
bldr.AddBluetoothProfileDescriptor(BluetoothService.AVRemoteControl, 1, 0);
bldr.AddCustomAttribute(new ServiceAttribute(0x8001,
    ServiceElement.CreateNumericalServiceElement(ElementType.UInt16, 0xFEDC)));
//
ServiceRecord record = bldr.ServiceRecord;
//
var txt = ServiceRecordUtilities.Dump(record);
Console.WriteLine(txt);
//
var byteArr = record.ToByteArray();
var txtBA = BitConverter.ToString(byteArr);
Console.WriteLine(txtBA);

Output is:

ElementSequence
    ElementSequence
        Uuid16: 0x100 -- L2CapProtocol
    ElementSequence
        Uuid16: 0x3 -- RFCommProtocol
        UInt8: 0x0
( ( L2Cap ), ( Rfcomm, ChannelNumber=0 ) )

AttrId: 0x0006 -- LanguageBaseAttributeIdList
ElementSequence
    UInt16: 0x656E
    UInt16: 0x6A
    UInt16: 0x100

AttrId: 0x0009 -- BluetoothProfileDescriptorList
ElementSequence
    ElementSequence
        Uuid16: 0x110E -- AVRemoteControl
        UInt16: 0x100

AttrId: 0x0100 -- ServiceName
TextString: [en] 'Alan's SPP service'

AttrId: 0x8001
UInt16: 0xFEDC

array:

35-51-09-00-01-35-03-19-11-01-09-00-04-35-0C-35-03-19-01-00-35-05-19-00-03-08-00-09-00-06-35-09-09-65-6E-09-00-6A-09-01-00-09-00-09-35-08-35-06-19-11-0E-09-01-00-09-01-00-25-12-41-6C-61-6E-27-73-20-53-50-50-20-73-65-72-76-69-63-65-09-80-01-09-FE-DC
alanjmcf
  • 3,430
  • 1
  • 17
  • 14
0

BlueZ is the linux Bluetooth stack, and it comes with sdptool utility for working with SDP. This page has some examples, http://alanjmcf.wordpress.com/2011/08/09/bluez-sdptool-usage-notes/

TJD
  • 11,800
  • 1
  • 26
  • 34