Introduction
Au cours de l’examen mené par notre équipe, il a été décidé de choisir .NET C# en tant que plateforme de développement principale. Le pas suivant consistait à choisir la façon d’implémenter le protocole SIP. Evidemment, plusieurs solutions se sont présentées (différentes en fonction de finances et de temps qu’il faudrait y mettre). Nous pouvons distinguer trois catégories principales:
- Implémentation de SIP entièrement personnalisée
- Bibliothèque SIP commerciale
- Source ouverte de GNU
Chacune de ces trois solutions a ses avantages et ses inconvénients. Voici leur analyse en détail.
- Une implémentation personnalisée nous permet d’éviter tous les soucis de licence et de vendre les produits logiciels sans aucun partage du code. Mais cela peut rendre le processus de développement difficile, augmenter les coûts et par la suite nous obtiendrons des résultats moins stables et moins fonctionnels qu’avec d’autres variantes.
- Une bibliothèque commerciale nécessitera des paiements directs pour une solution SIP qui fonctionne déjà, pour le support et l’utilisation de modèles de la bibliothèque du vendeur. Ainsi, cette option est rapide, stable et permet également d’éviter les problèmes de l’utilisation commerciale. Le seul souci sera le prix d’une telle solution. Il peut varier de $200 (1 licence de développeur pour Independentsoft SIP.Net) à $349.000 (pour la dernière licence d’Ozeki SDK). Il est ainsi très important de calculer si le prix de l’utilisation de la bibliothèque ne dépasse pas celui du développement à partir du zéro.
- Une bibliothèque ouverte est une solution à plusieurs avantages tels que le support de communauté, une bonne documentation, l’accessibilité du code source. Toutes ces caractéristiques ne demandent aucun paiement si votre projet est également une source ouverte. Il est donc très important de lire attentivement la licence de la bibliothèque. Les projets qui sont généralement sources ouvertes (GNU) sont distribués sous la licence GPL. Parfois les GPL se distinguent en fonction de demandes à la publication du code source et de liens. Mais la plupart exigent que votre projet soit aussi GNU. Toutefois, dans certains cas vous avez la possibilité d’acheter même une licence commerciale pour la bibliothèque de source ouverte.
Nous avons mené une analyse profonde et détaillée, nous avons comparé les différentes possibilités (il existe un article à part avec une description détaillée de la comparaison) et nous avons décidé de commencer l’utilisation de la bibliothèque source ouverte PJSIP (www.PJSIP.org) en tant que projet pilote et d’acheter la licence commerciale dans le cas du partage du code. (La pleine licence commerciale de PJSIP est proposée par la société Teluu (http://www.teluu.com) pour 7500 GBP/an.)
La bibliothèque PJSIP a plusieurs avantages:
- Portabilité. Ecrite en C++, elle convient bien aux différentes plateformes mobiles et celles de bureau, aussi bien qu’aux différents systèmes opérationnels. Par exemple, il existe des « wrappers » pour Windows/*nix (Java, .NET, Python), Android, iOS, WM7, etc.
- Bonne documentation. Il y a des description complètes de l’API, des articles sur les meilleures pratiques et les modèles pour des plateformes multiples.
- Large base de connaissances. Grâce à une large utilisation dans de projets différents, il y a de différentes opinions des professionnels qui partagent leur compétence en la matière.
- Fonctionnalité puissante. PJSIP possède une entière implémentation de SIP selon les specifications de RFC, aussi bien que des caractéristiques supplémentaires. Il supporte la communication audio et vidéo, l’échange de messages dans les chats, des conférences téléphoniques et de différents codecs audio et vidéo.
- Maturité. Pour la première fois PJSIP a été réalisé en février 2005, et un grand nombre de professionnels continuent son développement.
Architecture de PJSIP
Le projet de PJSIP comprend quelques bibliothèques séparées qui sont responsables pour des caractéristiques différentes. L’architecture de PJSIP de base pour une application personnalisée peut avoir l’apparence suivante.
Conclusion
Les bibliothèques PJSIP sont une solution idéale pour le développement d’applications SIP personnalisées sans avoir souci de l’implémentation de SIP Background. Elle ne comprend pas de réalisation complète du serveur SIP, mais l’Application Serveur peut être néanmoins créée à la base de l’API de la bibliothèque PJSIP. Une telle façon de développement permet d’éviter l’implémentation de fonctions de base de SIP, et nécessitera uniquement la création de fonctions spécifiques pour le serveur. Cela permettera d’économiser le temps et l’argent. Ainsi, vous aurez la possibilité de développer une application totalement fonctionnelle, stable et sûre qui sera compatible avec la plupart des plateformes en mettant des efforts relativement faibles.
Industries et domaines technologiques
Industries: télécommunications