I am thinking about an application that will establish a mesh network between smartphones on Android and maybe iOS devices. It'd look like netsukuku between smartphones + Voice, Chat, Data, maybe Local network.
Is it possible by GSM? Any GSM architecture restrictions?
Is it possible to connect phones via GSM in android? and/or iOS?
Can I use Android libs to make it or I need direct access to the GSM module to do it??
First of all, there are tons of regulations related to wireless usage. In the US, the FCC takes care of that and each country has its sets of rules that luckily, have some common points. If you want to use a cellphone modem in its current frequency range, you have to modify it and it's not "legal". The frequency range it uses are "owned" by the carriers, they pay big bucks to use it. Second, your cell modem is meant to look for a cell tower and "hook-up" to it. It doesn't have what is necessary to do a mesh. This would require rewriting the firmware in the cell modem itself, and this is only if the chipset support mesh networking (I doubt it). Even after doing all that work, you would have to use available radio frequency band (there's not much) to do that and the cell phone modem antenna is probably not supporting it. So, for your mesh architecture to work, you would have to get some hardware work into it. Here is an idea: you built a little dungle that would connect to your cell through Bluetooth. This dungle would in turn have a longer reach wireless radio in the ISM band which is license free (you still have to go through FCC... certification). But in the ISM band, the transmission power is also limited so, you mesh will still need to be devices not too far appart.
Simpler and cheaper solution: use the internet to connect your devices together. You can use a server in the cloud where all devices register and then can talk together.