Implementasi P2P dengan memanfaatkan SER dan softphone yang ada rupanya kurang sukses, beberapa user dapat mengambil manfaat, beberapa user merasakan tidak banyak berbeda, beberapa user lain justru menjadi kesulitan berkomunikasi. Sayangnya jumlah user yang menjadi kesulitan ini jumlahnya cukup signifikan sehingga saya harus mengembalikan sistem ke state sebelumnya.
Lalu mengapa provider2 itu bisa ?? seperti Skype.
Jawabannya ada pada softphone yang mereka buat, softphone Skype jauh lebih cerdas dibanding dengan standar softphone untuk SIP/IAX2, hal ini karena standarisasi aplikasi Skype lebih spesifik dibandingkan yang berbasis SIP/IAX2 yang lebih general, harus mencakup banyak pihak dan digunakan untuk banyak keperluan.
Implementator layanan berbasis SIP/IAX2 seperti voiprakyat harus membuat softphone sendiri kalo mau tetap menggunakan pendekatan P2P. Si Softphone ini harus dapat menggunakan http tunnel agar bebas firewall, memanfaatkan TCP (skrg UDP), mengetahui lokasi spesifik target call sehingga apabila 1 network dapat di P2P apabila beda network dapat di coba P2P dan bila gagal server akan handle semua call.
Yang kurang dari default implementation dengan SER dan softphone SIP adalah kemampuan untuk memilih mana komunikasi yang dapat P2P mana yang perlu dihandle oleh server.
Sekarang semua kembali normal tanpa P2P. Untuk memastikan bahwa semua data stream dapat sampai ke tujuan maka semua call di handle oleh server voiprakyat. Kemampuan untuk dapat handling semua call dapat diatur dari sip.conf dan iax.conf di asterisk voiprakyat dengan menambahkan di tiap2 account option berikut:
nat=yes
canreinvite=no
NAT Traversal diatur oleh Asterisk memastikan bahwa Asterisk dapat menjangkau client2 yang berada dibelakang NAT, kemudian asterisk pun melarang reinvite atau redirect sehingga semua call tetap dalam pengawasan asterisk, termasuk jalannya data stream.