62 votes

Pile/bibliothèque SIP en C#

Je suis à la recherche d'une bonne bibliothèque SIP, écrite en C# ou fournissant une enveloppe C#. Elle ne doit pas nécessairement être gratuite. Quelqu'un a-t-il utilisé une bonne bibliothèque ?

Pour clarifier, je parle du protocole VoIP SIP.

Je cherche vraiment plus qu'une recherche google sur ce sujet. J'aimerais que quelqu'un revienne et dise "Nous utilisons ______, et ça marche très bien".

Pour clarifier davantage, je suis à la recherche d'une bibliothèque qui m'aiderait à mettre en œuvre un serveur proxy SIP sans avoir à construire manuellement les paquets SIP. Je ne suis pas à la recherche d'asterisk, freeswitch ou tout autre logiciel pbx.

Je cherche à créer un service en C#, qui attendra les paquets SIP et y répondra, et je voudrais une bibliothèque qui s'occupe de la plupart des détails.

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.

22voto

JayG Points 1695

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

Pouvez-vous partager un lien vers un projet open source .net c# qui fonctionne.

9voto

E Dominique Points 1018

A mon avis, l'une des meilleures piles, et de loin, c'est PJSIP . Il est écrit en C très portable et possède un certain nombre d'enveloppes. Voici une wrapper .NET qui fonctionne très bien.

1 votes

0 votes

OUI ! Le meilleur, mais GPL, peut être un problème.

7voto

Xaisoft Points 12363

6voto

sipwiz Points 15291

Mi sipsorcerie est une autre option. Il contient une pile SIP écrite entièrement en C#.

0 votes

Supporte uniquement uLaw. Pas de périphériques audio sélectionnables.

0 votes

Dkapa, sipsorcery est une pile sip, pas une pile rtp. Elle n'est pas appropriée (à mon avis) pour les téléphones sip, mais elle est parfaitement utilisable pour les projets de serveurs sip, bien que l'on puisse avoir besoin d'intégrer une pile rtp pour gérer tout service de média qui pourrait être nécessaire.

0 votes

Sipsorcery fait un bon travail. Je l'utilise depuis cinq ans et je n'ai jamais eu de problèmes avec lui.

5voto

Ron Klein Points 3409

Nous utilisons SIP.Net Cela fonctionne bien pour nous.
Nous l'utilisons pour attendre les paquets SIP et garder le flux SIP très simple.
Notez que son modèle d'objet est parfois trop détaillé, le produit lui-même est donc très flexible (si vous avez besoin d'une telle flexibilité). Cependant, nous avons écrit un wrapper de plus haut niveau (une sorte de façade) juste pour nous faciliter les choses. Ils sont très réactifs, mais la documentation n'est pas assez détaillée, selon moi.
Vous pouvez également vérifier nsip (juste un lien, je ne l'ai pas essayé moi-même)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X