Hi, how can the bluetooth server identify the discovered clients - get the type of them, for example, that discovered device is blackberry or iphone device?
Bluetooth devices use a Class Of Device, which is returned when one Bluetooth Device performs an inquiry to find what other devices are around.
Typically, the Bluetooth Inquiry function (depending on API) can be configured to search for a specific Class of Device and return only the results that match that.
The Class of Device value is a 3-octet value. Top 11-bits indicate the Service Class (Information, Telephony, Audio, etc..), 5-Bits for the Major Device Class, (Computer, Phone, LAN, etc...) and 6-bits for the Minor Device Class, which depends on the Major Device Class for interpretation.
The enumerations for the Class of Device values can be found from the BlueTooth website (login required) https://www.bluetooth.org/Technical/AssignedNumbers/baseband.htm
Using this you can narrow down that the server is connecting to a Phone (Major Device Class), specifically a Smart Phone (Minor Device Class). But after that, how to determine the make and model is probably specific to that device e.g. in the Device Name or in a custom field in an Extended Inquiry Response. I don't think there is a (Bluetooth) standard way of doing it.
You can use device address to find out the manufacturer. The list for lookup is here: http://standards.ieee.org/regauth/oui/oui.txt