Je suis passé par une quête similaire il y a 7 ans, mais en cherchant une version C embarquée. J'ai regardé le oSIP bibliothèque. Elle fait tout le travail de conversion des paquets SIP en structures et inversement.
Cependant, un point de la documentation m'a marqué. L'auteur recommande de se familiariser avec la spécification SIP ( RFC 3261 ) pour utiliser efficacement la bibliothèque. Après avoir lu les spécifications plusieurs fois, j'ai fini par écrire mon propre analyseur et mon application de contrôle des appels.
N'oubliez pas que le SIP est une norme en constante évolution. Il existe une SIPForum groupe qui développe actuellement SIPConnect 1.1 pour normaliser une interface entre un fournisseur de services SIP (par exemple, Vonage) et un PBX SIP. Il existe également une activité appelée BLISS pour définir les "meilleures pratiques" de mise en œuvre des fonctionnalités SIP entre agents utilisateurs.
L'interopérabilité est difficile. Il existe des centaines de RFC liées à SIP. Différents points finaux en utilisent différents, et les interprétations des spécifications ne sont pas toujours compatibles. Il existe plusieurs "événements de test" d'interopérabilité différents (comme SIPit ) pour s'assurer que votre mise en œuvre fonctionne avec les autres.
Quel que soit votre choix, assurez-vous de bien comprendre les spécifications des fonctionnalités que vous implémentez. En outre, les spécifications et les bibliothèques vous aideront à gérer les paquets, mais vous aurez toujours besoin d'une bibliothèque de "contrôle d'appel" (le "cerveau" de niveau supérieur qui décide comment traiter une demande/réponse SIP). Vous avez également besoin d'une couche média pour gérer l'audio, à moins que votre application ne soit purement un proxy SIP.
Ceci étant dit, plusieurs fournisseurs de services de téléphonie sur Internet (FSTI) ont utilisé l'outil Routeur SIP Express comme un proxy frontal pour leurs services. Il est très configurable et présente un taux de réussite élevé en matière de compatibilité.
0 votes
Juste pour être sûr : quand vous dites 'sip', vous parlez comme avec voip ?
0 votes
Ayant fait la même chose, vous pourriez envisager de regarder une version C++ et peut-être de compiler en code géré. Les solutions gérées (il y a peu de temps) n'étaient pas très bonnes. (Nous avons fini par écrire la nôtre -- si c'est un proxy seulement, ce n'est pas si difficile).
0 votes
@MichaelGG - Je suis d'accord. JayG a fait un commentaire similaire dans sa réponse ci-dessous concernant l'écriture et la maintenance de votre propre pile.
0 votes
Je suis également à la recherche d'un bon sipclient. En attendant, tout ce que je peux dire, c'est que ni sip.net ni konnetic ne répondent à mes courriels. l'absence de support est pour moi un facteur de rupture.