I'd suggest you to take a look at http://people.csail.mit.edu/rudolph/Teaching/Articles/BTBook.pdf, it is a great book that includes examples in C and Python,including information about Bluetooth profiles, I believe it might help you.
i will read it carefully and i'll hope to find right solution.
I had already try with:
1) with rfcomm listen, after an connection the SO crashed
2) register a new SDP with sdp_lib, but sdp_connect not works, i had to change bluetooth.service adding -C, so it works but i wasn't able to add SPP profile, i try other variant but software crash with Segmentation Fault
3) try with sdptool add -channel 1 SP , it add service correctly and socket accept connection but the socket doesn't receive any data.
However: i try with SPP-loopback.py, it works correctly.
I'm run out of options.
I am also working on the SPP Buetooth in C ++. Did you find a solution?