Стек SIP C# / [закрытая] Библиотека

Я думаю, что это решение может работать, но оно использует 2 функции. У каждой функции есть рекурсия:

public static void printSequence(int n){
    printSequenceHelp1(1, n - 1);
    for (int i = 1; i <= n; i++)
        System.out.print(i);          
    System.out.println();
    printSequenceHelp2(n - 1);  
}

public static void printSequenceHelp1(int k, int n){
    if (k <= n){
        for (int i = 1; i <= k; i++)
            System.out.print(i);          
        System.out.println();
        printSequenceHelp1(k + 1, n);
    }   
}

public static void printSequenceHelp2(int n){
    if (n >= 1){
        for (int i = 1; i <= n; i++)
            System.out.print(i);          
        System.out.println();
        printSequenceHelp2(n - 1);  
    }   
}

Я уверен, что есть более элегантное решение только с одной функцией. Я постараюсь подумать об этом, когда, если найду, я опубликую это здесь.

63
задан User97693321 28 October 2012 в 09:27
поделиться

13 ответов

Я прошел подобные поиски 7 лет назад, но поиск встроенной версии C. Я посмотрел библиотека oSIP . Это сделало всю работу преобразования пакетов SIP к структурам и назад.

Однако одна точка в документации, застрявшей во мне. Автор рекомендовал стать очень знакомыми со спецификацией SIP ( RFC 3261 ) для пользований библиотекой эффективно. После чтения спецификаций несколько раз, я закончил тем, что писал свой собственный синтаксический анализатор и приложение управления вызовами.

Имеют в виду, что SIP является все еще развивающимся стандартом. Существует активное группа SIPForum , которая в настоящее время разрабатывает SIPConnect 1.1 для стандартизации в интерфейсе между Поставщиком услуг SIP (например, Vonage) и SIP-PBX. Существует также действие, названное BLISS для определения "лучших практик" для реализования опций SIP между Агентами пользователя.

Совместимость жестка. Существуют сотни RFCs, связанные с SIP. Различные конечные точки используют различные, и интерпретации спецификаций не всегда совместимы. Существует несколько другой совместимости "тестовые мероприятия (как SIPit) для проверки работ реализации с другими.

Независимо от того, что Вы выбираете, удостоверьтесь, что у Вас есть хорошее понимание спецификаций для опций, которые Вы реализуете. Кроме того, спецификации и библиотеки помогут со стороной пакетной передачи, но Вам все еще нужна библиотека "управления вызовами" (высокоуровневый "мозг", чтобы решить, как обработать запрос SIP / ответ). Вам также нужен слой медиа для обработки аудио, если приложение не является просто прокси SIP.

сказавший все это, несколько Поставщиков услуг интернет-телефонии (ITSPs) использовали Маршрутизатор SIP Express как прокси фронтенда для их сервисов. Это очень настраивается и имеет высокий показатель успешности для совместимости.

22
ответ дан JayG 24 November 2019 в 16:28
поделиться

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

Все продукты LanScape VOIP включая LanScape VOIP Media Engineв „ў были разработаны от "размолотого" для поддержки всех версий Microsoft WindowsВ® 2000 и XP до и включая последнюю версию Windows Vista.

я также, оказывается, лично знаю, что это - C#-friendly.

0
ответ дан EnocNRoll - Ananda Gopal 24 November 2019 в 16:28
поделиться

Это выглядит интересным мне... http://developers.inova.si/sipobjects/Default.aspx?tabid=92 - это не открытый исходный код, но это определенно центрально.NET. Это - Avaya, центральная, таким образом, это не может удовлетворить Вашим целям.

Также взгляд на это: http://www.codeplex.com/mysipswitch

0
ответ дан ankushnarula 24 November 2019 в 16:28
поделиться

Я видел (не используемый непосредственно, просто рассмотренный) довольно большую и стабильную систему VoIP с помощью стека SIP от Radware. Очень хороший (т.е. никакие проблемы), и я не нашел проблем безопасности с ним также...

система, которую я рассмотрел, была в C#.

1
ответ дан AviD 24 November 2019 в 16:28
поделиться

Не уверенный, что Вы ищете здесь. Вы ищете клиентское приложение VoIP или сторону сервера? Если последний, Вы могли бы хотеть проверить FreeSwitch. Одной функцией, которую они имеют, является способность написать дополнительный код в Моно, который позволяет C#. Ищите поддержку mod_mono.

FreeSwitch

2
ответ дан Erik Funkenbusch 24 November 2019 в 16:28
поделиться

Похож на достойную начальную точку, мог бы быть этот статья CodeProject. Я не полагаю, что это обрабатывает мультимедийный поток, как бы то ни было.

3
ответ дан Sean Bright 24 November 2019 в 16:28
поделиться
7
ответ дан Xaisoft 24 November 2019 в 16:28
поделиться

Я нуждался в этом некоторое время назад и закончил тем, что писал свой собственный B2BUA (прокси SIP, который также обрабатывает аудио и действует как конечная точка обеим сторонам разговора).

проблема со спецификацией SIP (и RTP), то, что это очень сложно, особенно Вы, рассматривают все дополнительные дополнения, которые были сделаны к нему за эти годы. Все реализуют его просто немного по-другому, поэтому если Вы идете с упакованным в термоусадочную пленку программным обеспечением, Вы могли бы столкнуться с проблемами с определенными телефонами или серверами.

В моем случае, я пытался заставить Microsoft Speech Server связываться с разделителями SIP. Microsoft имеет особенно творческую интерпретацию спецификации SIP (самый известный пример, являющийся этим, они не поддерживают UDP). Кроме того, некоторые шлюзы VoIP не поддерживают, ОТНОСЯТСЯ за контролируемыми передачами, который является необходимостью многих приложений.

Несколько достойных ссылок были предоставлены в других ответах: мой совет к самокрутке, или пойдите с чем-то, что является открытым исходным кодом, таким образом, можно настроить его по мере необходимости при столкновении с неизбежными несовместимостями в реализациях SIP.

4
ответ дан Eric Z Beard 24 November 2019 в 16:28
поделиться

По моему скромному мнению, один из лучших стеков безусловно является PJSIP. Это записано в очень портативном C и имеет много оберток. Вот обертка.NET, которая работает действительно хорошо.

8
ответ дан E Dominique 24 November 2019 в 16:28
поделиться

Мы используем SIP.Net, работы хорошо для нас.
Мы используем его, чтобы ожидать пакетов SIP и сохранить поток SIP очень простым.
Обратите внимание, что иногда его объектная модель слишком детализирована, таким образом, сам продукт очень гибок (при необходимости в такой гибкости). Однако мы записали высокоуровневую обертку (своего рода фасад) только для создания вещей легче для нас. Они являются очень быстро реагирующими, но документация не подробно изложена достаточно IMO.
Можно также проверить nsip (просто ссылка, я не попробовал его сам),

5
ответ дан Ron Klein 24 November 2019 в 16:28
поделиться

В прошлом я использовал Live Communications Server от MS (думал, что это было в 2003 году). Связанный SDK был довольно плохим.

Теперь есть новая версия, Office Communications Server. Я не разрабатывал SDK, но видел несколько классных демонстраций.

1
ответ дан LB40 24 November 2019 в 16:28
поделиться

Прочтите об Avaya DMCC. Вы можете зарегистрироваться в AvayaDev и скачать его бесплатно. Эта структура C # позволяет использовать все функции АТС с AES и CM. Вы также можете проверить, поддерживается ли у вас SIP.

-1
ответ дан 24 November 2019 в 16:28
поделиться

Попробуйте Элементы голоса .

Это .NET Telephony Tool, и у них есть собственный стек SIP. Используйте C # или любой другой язык .NET по вашему выбору.

2
ответ дан 24 November 2019 в 16:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: