developer tip

C # SIP 스택 / 라이브러리

copycodes 2020. 11. 25. 08:04
반응형

C # SIP 스택 / 라이브러리


C #으로 작성되었거나 C # 래퍼를 제공하는 좋은 SIP 라이브러리를 찾고 있습니다. 반드시 자유로울 필요는 없습니다. 좋은 것을 사용한 사람이 있습니까?

명확히하기 위해 VoIP 프로토콜 SIP에 대해 이야기하고 있습니다.

나는 이것에 대한 구글 검색 이상의 것을 정말로 찾고있다. 누군가 돌아와서 "우리는 ______을 (를) 사용하며 훌륭하게 작동합니다."라고 말하고 싶습니다.

더 명확히하기 위해 SIP 패킷을 수동으로 구성 할 필요없이 SIP 프록시 서버를 구현하는 데 도움이되는 라이브러리를 찾고 있습니다. 별표, freeswitch 또는 기타 pbx 소프트웨어를 찾고 있지 않습니다.

SIP 패킷을 기다렸다가 응답하는 C # 서비스를 만들고 싶습니다. 대부분의 세부 정보를 처리 할 라이브러리를 원합니다.


7 년 전에 비슷한 퀘스트를했지만 임베디드 C 버전을 찾고있었습니다. oSIP 라이브러리를 살펴 보았습니다 . SIP 패킷을 구조로 변환하는 모든 작업을 수행했습니다.

그러나 문서의 한 점이 저에게 붙어 있습니다. 저자 는 라이브러리를 효과적으로 사용하기 위해 SIP 사양 ( RFC 3261 )에 익숙해 질 것을 권장했습니다 . 사양을 여러 번 읽은 후 내 자신의 파서 및 호출 제어 응용 프로그램을 작성했습니다.

SIP는 여전히 진화하는 표준이라는 점을 기억하십시오. SIP 서비스 공급자 (예 : Vonage)와 SIP-PBX 간의 인터페이스를 표준화하기 위해 현재 SIPConnect 1.1개발하고 있는 활성 SIPForum 그룹이 있습니다 . 사용자 에이전트간에 SIP 기능을 구현하기위한 "모범 사례"를 정의하는 BLISS 라는 활동도 있습니다 .

상호 운용성은 어렵습니다. SIP와 관련된 수백 개의 RFC가 있습니다. 다른 엔드 포인트는 다른 엔드 포인트를 사용하며 사양의 해석이 항상 호환되는 것은 아닙니다. 구현이 다른 사용자와 작동하는지 확인하기위한 여러 가지 상호 운용성 "테스트 이벤트 (예 : SIPit )가 있습니다.

무엇을 선택하든 구현중인 기능의 사양을 잘 이해하고 있어야합니다. 또한 사양 및 라이브러리는 패킷 측에 도움이되지만 여전히 "호출 제어"라이브러리 (SIP 요청 / 응답 처리 방법을 결정하는 더 높은 수준의 "브레인")가 필요합니다. 또한 애플리케이션이 순전히 SIP 프록시가 아닌 경우 오디오를 처리하기위한 미디어 레이어가 필요합니다.

그럼에도 불구하고 여러 ITSP (Internet Telephony Service Provider)는 SIP Express 라우터 를 서비스의 프런트 엔드 프록시로 사용했습니다. 매우 구성 가능하며 호환성에 대한 성공률이 높습니다.


다음은 내가 만난 몇 가지입니다.

http://www.independentsoft.com/sip/index.html

http://voipengine.googlepages.com/sipeksdk


IMHO, 지금까지 최고의 스택 중 하나는 PJSIP 입니다. 매우 이식 가능한 C로 작성되었으며 여러 래퍼가 있습니다. 다음은 정말 잘 작동 하는 .NET 래퍼 입니다.


모금 프로젝트는 또 다른 옵션입니다. 여기에는 C #으로 완전히 작성된 SIP 스택이 포함되어 있습니다.


우리는 SIP.Net을 사용하고 우리를 위해 작동합니다.
우리는 SIP 패킷을 대기하고 SIP 흐름을 매우 간단하게 유지하는 데 사용합니다.
때로는 객체 모델이 너무 상세하므로 제품 자체가 매우 유연합니다 (유연성이 필요한 경우). 그러나 우리는 일을 더 쉽게 만들기 위해 더 높은 수준의 래퍼 (파사드의 일종)를 작성했습니다. 그들은 매우 반응 적이지만 문서는 IMO에 대해 충분히 상세하지 않습니다. nsip
도 확인할 수 있습니다 (링크 만 있으면 직접 시도하지 않았습니다).


나는 이것을 잠시 전에 필요로했고 결국 내 자신의 B2BUA (오디오를 처리하고 대화의 양쪽에 대한 끝점 역할을하는 SIP 프록시)를 작성하게되었습니다.

SIP 사양 (및 RTP)의 문제는 매우 복잡하다는 것입니다. 특히 몇 년 동안 추가 된 모든 선택적 추가 사항을 고려한다는 점입니다. 누구나 약간 다르게 구현하므로 축소 된 소프트웨어를 사용하면 특정 전화 나 서버에 문제가 발생할 수 있습니다.

제 경우에는 Microsoft Speech Server가 SIP 터미네이터와 통신하도록하려고했습니다. Microsoft는 SIP 사양에 대해 특히 창의적으로 해석했습니다 (가장 주목할만한 예는 UDP를 지원하지 않는다는 것입니다). 또한 일부 VOIP 게이트웨이는 감독 된 전송에 대해 REFER를 지원하지 않으므로 많은 애플리케이션에 필요합니다.

다른 답변에는 몇 가지 괜찮은 링크가 제공되었습니다. 제 조언은 SIP 구현에서 불가피한 비 호환성에 부딪혔을 때 필요에 따라 조정할 수 있도록 직접 롤링하거나 오픈 소스로 이동하는 것입니다.


CodeProject 기사 가 괜찮은 출발점처럼 보입니다 . 그러나 미디어 스트림을 처리한다고 생각하지 않습니다.


http://www.konnetic.com 은 비교적 새로운 추가 기능입니다. 완전히 관리됩니다. SIP 및 SDP 작업에 필요한 모든 것. 그들은 다른 많은 것들처럼 표준에서 낮게 매달린 과일을 선택하지 않았습니다. Microsoft와 마찬가지로 훌륭하지만 Microsoft에 연결된 것은 Microsoft Lync 서버입니다.


여기서 무엇을 찾고 있는지 잘 모르겠습니다. 클라이언트 측 VOIP 애플리케이션 또는 서버 측을 찾고 계십니까? 후자의 경우 FreeSwitch를 확인하는 것이 좋습니다. 한 가지 기능은 C #을 허용하는 Mono로 확장 코드를 작성할 수 있다는 것입니다. mod_mono 지원을 찾으십시오.

FreeSwitch


Konnetic은 .NET 개발을위한 완전 관리 형 SIP 구성 요소를 제공합니다.

그들의 .NET SIP SDK는 아마도 가장 포괄적 일 것입니다.

그렇지 않으면 Microsoft의 Lync 서버에는 매우 우수한 관리 SIP 라이브러리가 함께 제공됩니다. www.microsoft.com/en-us/lync/default.aspx


아마도 lumisoft를 사용 해보고 싶을 것입니다. 완전히 C #으로 빌드합니다. 완전 오픈 소스이며 무료입니다. 루미 소프트


음성 요소를 사용해보십시오 .

.NET Telephony Tool이며 자체 SIP 스택이 있습니다. C # 또는 원하는 .NET 언어를 사용하십시오.


Radware의 SIP 스택을 사용하는 상당히 크고 안정적인 VOIP 시스템을 보았습니다 (직접 사용하지 않고 방금 검토했습니다). 매우 훌륭하고 (즉, 문제 없음) 보안 문제도 발견하지 못했습니다.

내가 검토 한 시스템은 C #이었습니다.


과거에는 MS의 Live Communications Server를 사용했습니다 (2003 년이라고 생각 했음). 관련된 SDK는 꽤 나빴습니다.

이제 새 버전 인 Office Communications Server가 있습니다. SDK로 개발하지는 않았지만 꽤 멋진 데모를 보았습니다.


내가 찾은 최고의 것은 VoIP 비디오 SIP SDK 였습니다. 그것은 고품질의 비디오를 제공합니다.


LumiSoft.Net is a very good SIP stack for C#. It has all basic libraries such as SIP, RTP, SDP, DNS and many other libs to build a robust sip proxy server or SIP client very easily.


This looks interesting to me... http://developers.inova.si/sipobjects/Default.aspx?tabid=92 - it's not open source, but it's definitely .NET-centric. It's Avaya centric so it may not suit your purposes.

Also look at this: http://www.codeplex.com/mysipswitch


LanScape: http://www.lanscapecorp.com/

All LanScape VOIP products including the LanScape VOIP Media Engine™ have been designed from the "ground up" to support all versions of Microsoft Windows® 2000 and XP up to and including the latest version of Windows Vista.

I also happen to personally know that it is C#-friendly.


Read about Avaya DMCC. You can register in AvayaDev and download it for free. That C# framework let you leverage all the pbx features with AES and CM. You can check if you have SIP supported too.

참고URL : https://stackoverflow.com/questions/498056/c-sharp-sip-stack-library

반응형