SIPX (SIP eXchange) е SIP сървър, който има базовата функционалност за проксиране на разговор между два SIP клиента (телефона или програми). Той не претендира да бъде напълно завършено SIP решение, но е добър пример колко малко трябва, за да направите напълно фунционално SIP прокси, програмирано на C. SIPX беше стартиран и разработен за забавление като домашен тестов проект (без някаква конкретна крайна цел, която да се постигне - просто изучавайки SIP протокола и експериментирайки с него на C). За моя изненада аз успях да завърша базовата функционалност на едно такова SIP прокси на по-малко от 500 реда програмен код на C! Това е нещото, което нарекох SIPX версия 1.0. Ден или два по-късно реших да го направя малко по-структурирано и ето как се появи малко по-струткурирана версия/вариант на този мой бета тест, който го маркирах като SIPX версия 2.0. Както вече отбелязах, SIPX
не претендира да бъде напълно
функционално прокси с много опции.
Всъщност то НЯМА никакви допълнителни
опции (освен проксирането на
разговорите и приемането на всички
регистрации от крайни клиенти - SIP
телефони или програми). И още нещо - постарах се SIPX да се компилира и на LINUX и на Windows. Всъщност кода е достатъчно прост, нахвърлян, леко структуриран (може би;), но тепърва може да се доразвива (ако има заинтересовани и желаещи да помагат). За да го стартирате и
тествате: След като го стартирате можете да регистрирате SIP клиенти (телефони или програми) на указаните IP:port. Използвайте различни идентификатори за потребителско име при регистрация за всеки отделен SIP клиент. SIPX приема всяка една заявка за регистрация. За да наберете от SIP клиент A до SIP клиент B, въведете идентификацията, с която се е регистрирал SIP клиент B (т.е. потребителското му име). Това трябва да е всичко до момента! Успешно е тестван с SJ Phone и X-Lite SIP програми. Би трябвало да работи с всеки друг SIP клиент (поне не виждам проблем защо да не стане). Ако имате някакви коментари, идеи или предложения, драснете някой ред на: tsvetozar@gmail.com |