title: Implementing OBEX PUSH Server on Android 2.3
body: <p>I need to setup an in-app OBEX server on an Android 2.3 device. Using the Bluetooth Chat Sample code I was able to setup an OBEX server. However, the server needs to use a custom UUID so the service is not registered as an 'OBEX Server' </p>
  
  <pre><code># sdptool browse local
  ...(snip)...
  Service Name: OBEX Object Push
  Service RecHandle: 0x10000
  Service Class ID List:
    UUID 128: ab123abc-1a2b-3c4d-5d7f-1234567890ab
  Protocol Descriptor List:
    "L2CAP" (0x0100)
    "RFCOMM" (0x0003)
      Channel: 18
  </code></pre>
  
  <p>So, when I receive data, it looks like I am receiving a raw OBEX connection request:</p>
  
  <pre><code>80 00 07 10 00 04 00 00 00 00 ...(snip)... 00 00 00 (1kb file)
  </code></pre>
  
  <p>Is there an OBEX implementation that I can use or do I have to implement the protocol myself? </p>
  
  <p>I don't want to use the inbuilt OBEX server - this has to be in app. I have tried BlueCove but I abandoned it when I had issues registering a service. </p>
  
  <p>Yes, I did see <a href="https://stackoverflow.com/questions/7158493/any-examples-on-implementing-obex-in-android-app">this</a> post and read the <a href="https://www.bluetooth.org/Technical/Specifications/adopted.htm" rel="nofollow noreferrer">link</a> in it, but by golly, there must be an easier way!</p>