¸ÅÊö
KamailioÊÇÔÚGPLv2+Ï·¢²¼µÄ¿ªÔ´SIP·þÎñÆ÷£¬Ã¿ÃëÄܹ»´¦ÀíÊýǧ¸öºô½ÐÉèÖá£Kamailio¿ÉÓÃÓÚ¹¹½¨VoIPºÍʵʱͨÐŵĴóÐÍÆ½Ì¨-´æÔÚ£¬WebRTC£¬¼´Ê±ÏûÏ¢ºÍÆäËûÓ¦ÓóÌÐò¡£´ËÍ⣬Ëü¿ÉÒÔÇáËÉÓÃÓÚÀ©Õ¹SIPµ½PSTNÍø¹Ø£¬PBXϵͳ»òýÌå·þÎñÆ÷£¬ÈçAsterisk™£¬FreeSWITCH™»òSEMS¡£
Ç¿´óµÄ¹¦ÄܰüÀ¨£ºÒì²½TCP£¬UDPºÍSCTP£¬Í¨¹ýTLS½øÐÐVoIP°²È«Í¨ÐÅ£¨ÓïÒô£¬ÊÓÆµ£¬Îı¾£©;WebSocket¶ÔWebRTCµÄÖ§³Ö;IPv4ºÍIPv6;¼òµ¥µÄ¼´Ê±ÏûÏ¢ºÍ״̬ÓëǶÈëʽXCAP·þÎñÆ÷ºÍMSRPÖмÌ;Òì²½²Ù×÷;ÓÃÓÚVoLTEµÄIMSÀ©Õ¹;ö¾Ù;DIDºÍ×îµÍ³É±¾Â·ÓÉ;¸ºÔØÆ½ºâ;·ÓɹÊÕÏ×ªÒÆ;ÕË»§¡¢ÈÏÖ¤ºÍÊÚȨ;Ö§³ÖÐí¶àºó¶Ëϵͳ£¬ÈçMySQL£¬Postgres£¬Oracle£¬Radius£¬LDAP£¬Redis£¬Cassandra£¬MongoDB£¬Memcached;JsonºÍXMLRPC¿ØÖƽӿڣ¬SNMP¼à¿Ø¡£
×Ô2008ÄêÒÔÀ´£¬KamailioÏîÄ¿ÎüÊÕÁËSIP¸ßËÙ·ÓÉÆ÷£¨SER£©·þÎñÆ÷µÄ¹¦ÄÜ¡£»»¾ä»°Ëµ£¬Äú¿ÉÒÔÊÜÒæÓÚ¹ýÈ¥ÓÉOpenSERºÍSERÔÚͬһSIP·þÎñÆ÷ʵÀýÖÐÌṩµÄËùÓй¦ÄÜ£¬ÒÔ¼°¶àÄêÀ´Ìí¼ÓµÄÐí¶àй¦ÄÜ¡£
½áºÏÆäSIPºËÐŦÄܺͿÉÀ©Õ¹µÄAPI£¬Ê¹ÓÃKamailio£¨K£©¹¹½¨VoIPºÍͳһͨÐÅÆ½Ì¨·Ç³£¼òµ¥¡£
Kamailio¹¦ÄÜ
Ç¿´óÇÒ¸ßÐÔÄܵÄSIP·þÎñÆ÷
×¢²áÆ÷·þÎñÆ÷
λÖ÷þÎñÆ÷
´úÀí·þÎñÆ÷
SIPÓ¦ÓóÌÐò·þÎñÆ÷
ÖØ¶¨Ïò·þÎñÆ÷
²¼ÊðÁé»î
Õ¼ÓÿռäС–ÊÊÓÃÓÚǶÈëʽÉ豸–¶þ½øÖÆÎļþÌå»ýС£¬¿Éͨ¹ýÄ£¿é°þÀë/Ìí¼Ó¹¦ÄÜ
¼´²å¼´ÓÃÄ£¿é½Ó¿Ú–Äܹ»ÔÚ²»½Ó´¥Äں˵ÄÇé¿öÏÂÌí¼ÓÐÂÀ©Õ¹£¬´Ó¶øÈ·±£ºËÐÄ×é¼þµÄ¸ß¶ÈÎȶ¨ÐÔ
Ä£¿é»¯¼Ü¹¹–ºËÐÄ¡¢ÄÚ²¿¿âºÍÄ£¿é½Ó¿Ú£¬ÓÃÓÚÀ©Õ¹·þÎñÆ÷µÄ¹¦ÄÜ
ÁîÈËÓ¡ÏóÉî¿ÌµÄÀ©Õ¹´æ´¢¿â–KamailioÔ´´úÂëÊ÷ÖÐ×ܹ²°üº¬150¶à¸öÄ£¿é
SIP·Óɹ¦ÄÜ
ÎÞ״̬ºÍÊÂÎñÐÔÓÐ״̬SIP´úÀí´¦Àí
´®ÐкͲ¢Ðзֲæ
¶ÔSIPºÍRTPÁ÷Á¿µÄNAT±éÀúÖ§³Ö
¾ßÓжàÖÖ·Ö·¢Ëã·¨ºÍ¹ÊÕÏ×ªÒÆÖ§³ÖµÄ¸ºÔØÆ½ºâ
Áé»îµÄ×îµÍ³É±¾Â·ÓÉ
·ÓɹÊÕÏ×ªÒÆ
¸ß¿ÉÓÃÐÔ£¨HA£©¸´ÖÆ
SIP´«Êä²ã
Ö§³Öͨ¹ýUDP¡¢TCP¡¢TLSºÍSCTP½øÐÐͨÐÅ
IPv4ºÍIPv6
´«Êä²ãÍø¹Ø£¨IPv4µ½IPv6£¬UDPµ½TLS£¬a.s.o.£©
SCTP¶àËÞÖ÷ºÍ¶àÁ÷
WebSocketforWebRTC
Òì²½´¦Àí
Òì²½TCP´¦Àí
Òì²½SIPÏûÏ¢´¦Àí
Òì²½½ø³Ì¼äÏûÏ¢¶ÓÁÐͨÐÅϵͳ
·Ö²¼Ê½ÏûÏ¢¶ÓÁÐ
°²È«Í¨ÐÅ
ժҪʽSIPÓû§Éí·ÝÑéÖ¤
ͨ¹ýACL»ò×é³ÉÔ±Éí·Ý½øÐÐÊÚȨ
IPºÍÍøÂçÉí·ÝÑéÖ¤
¶ÔSIPÐÅÁîµÄTLSÖ§³Ö
͸Ã÷´¦ÀíSRTPÒÔÈ·±£ÒôƵ°²È«
TLSÓòÃûÀ©Õ¹Ö§³Ö
Õë¶ÔÊý¾Ý¿â£¨MySQL£¬PostgreSQL£¬UnixODBC£¬BerkeleyDB£¬Oracle£¬Îı¾Îļþ£©£¬RADIUSºÍDIAMETERµÄÉí·ÝÑéÖ¤ºÍÊÚȨ
IPºÍÓòÃû½âÎö
Ö§³ÖSRVºÍNAPTRDNS²éÕÒ
SRVDNS¹ÊÕÏ×ªÒÆ
DNSsecÖ§³Ö
ö¾ÙÖ§³Ö
ÄÚ²¿DNS»º´æÏµÍ³–±ÜÃâDNS×èÖ¹
IP¼¶±ðºÚÃûµ¥
¶àËÞÖ÷ºÍ¶àÓòÖ§³Ö
ÍØÆËÒþ²Ø–Òþ²ØSIP±êÍ·ÖеÄIPµØÖ·ÒÔ±£»¤ÄúµÄÍøÂç¼Ü¹¹
ÕË»§¹ÜÀí
»ùÓÚʼþµÄÕË»§
¿ÉÅäÖõÄÕË»§Êý¾ÝÏêϸÐÅÏ¢
¶à¶Îºô½Ð¼ÇÕÊ
´æ´¢µ½Êý¾Ý¿â£¬°ë¾¶»òÖ±¾¶
Ô¤¸¶·ÑÒýÇæ
ÅäÖÃÎļþ
ÅäÖÃÎļþµÄ½Å±¾ÓïÑÔ¡£¸ÃÅäÖòÉÓÃÀàËÆÓڽű¾ÓïÑÔµÄÓï·¨£¬ÌṩÁËÒ»ÖÖÇ¿´ó¶øÁé»îµÄ·½·¨À´²¿Êð×Ô¶¨ÒåSIP·þÎñ¡£
α±äÁ¿£¬ÓÃÓÚ·ÃÎʺ͹ÜÀíÌØ¶¨ÓÚÓû§ºÍ·þÎñÆ÷µÄSIPÏûÏ¢ºÍÊôÐԵIJ¿·Ö
ת»»ÒÔÐÞ¸ÄÏÖÓеÄα±äÁ¿£¬½ö·ÃÎÊÐÅÏ¢µÄËùÐ貿·Ö
³¬¹ý1000¸ö²ÎÊý£¬±äÁ¿ºÍº¯Êýµ¼³öµ½ÅäÖÃÎļþ
ÔËÐÐʱ¸üпò¼Ü–±ÜÃâÔÚÐèÒª¸ü¸ÄÅäÖòÎÊýÊ±ÖØÐÂÆô¶¯SIP·þÎñÆ÷
Íⲿ»¥¶¯Áª½Ó
RPC¿ØÖƽӿږͨ¹ýXMLRPC¡¢JSONRPC¡¢UDP»òTCP
RabbitMQºÍNSQÁ¬½ÓÆ÷
·á¸»µÄͨÐÅ·þÎñ
SIP¼òµ¥ÔÚÏß״̬·þÎñÆ÷£¨·á¸»µÄÔÚÏß״̬£©
ÔÚÏß״̬Óû§´úÀí
XCAP¿Í»§¶Ë¹¦ÄÜ
ǶÈëʽXCAP·þÎñÆ÷
״̬¶Ô»°¿òÐÅÏ¢Ö§³Ö–SLA/BLA
¼´Ê±Í¨Ñ¶
ǶÈëʽ½¨ÒéÁãÊۼۼ̵çÆ÷
¼à¿ØºÍ¹ÊÕÏÅųý
SNMP–¼òµ¥ÍøÂç¹ÜÀíÐÒéµÄ½Ó¿Ú
ÅäÖÃÎļþ·Ö²½µ÷ÊÔÆ÷
ͨ¹ýXMLRPC½øÐÐÔ¶³Ì¿ØÖÆ
ͨ¹ýRPCºÍSNMPµ¼³öµÄÄÚ²¿Í³¼ÆÐÅÏ¢
Áé»îµÄµ÷ÊԺʹíÎóÏûÏ¢¼Ç¼ϵͳ–¼Ç¼×Ô¶¨ÒåÏûÏ¢£¬°üÀ¨ÈκαêÍ·»òα±äÁ¿ÒÔ¼°SIPÏûÏ¢½á¹¹µÄÒ»²¿·Ö¡£
¿ÉÀ©Õ¹ÐÔAPI
Perl±à³Ì½Ó¿Ú–ǶÈëÓÃPerl±àдµÄÀ©Õ¹
JavaSIPServletApplicationInterface–±àдJavaSIPServletÒÔÀ©Õ¹ÄúµÄVoIP·þÎñ²¢ÓëWeb·þÎñ¼¯³É
Lua±à³Ì½Ó¿Ú
JavaScript±à³Ì½Ó¿Ú
ÍйܴúÂ루C#£©±à³Ì½Ó¿Ú
òþÉß±à³Ì½Ó¿Ú
Java±à³Ì½Ó¿Ú
ͨ¹ýTCPÁ¬½ÓµÄͨÓÃʼþAPI
¶à¸öÊý¾Ý¿âºó¶Ë
£¨MySQL£¬PostgreSQL£¬SQLite£¬UnixODBC£¬BerkeleyDB£¬Oracle£¬Îı¾Îļþ£©ºÍÆäËû¾ßÓÐunixodbcÇý¶¯³ÌÐòµÄÊý¾Ý¿âÀàÐÍ
Á¬½Ó³Ø
¿ÉÒÔͬʱʹÓò»Í¬µÄºó¶Ë£¨ÀýÈ磬¶ÔOracleµÄ¼ÇÕʺÍÕë¶ÔMySQLµÄÊÚȨ£©
ÓÃÓÚMemcached£¬Redis£¬MongoDBºÍCassandrano-SQLºó¶ËµÄÁ¬½ÓÆ÷
»¥Áª»¥Í¨
ÓëPSTNÍø¹ØµÄÖ±½Ó»¥Á¬
¶ÌÐÅ»òXMPPºÍÆäËûIM·þÎñµÄÍø¹Ø
ÓëÖ§³ÖSIPµÄÉ豸ºÍÓ¦ÓóÌÐò£¨ÈçSIPµç»°£¨Snom¡¢CiscoµÈ£©¡¢Ã½Ìå·þÎñÆ÷£¨Asterisk¡¢FreeSwitchµÈ£©£©µÄ»¥²Ù×÷ÐÔ
IMS
Ö§³ÖÓëÈÏÖ¤
I-CSCF£¬P-CSCF£¬S-CSCF
³äµç¡¢ÖÊÁ¿Ð£×¼¡¢¹ú¼Êѧϰʱ¼ä
Miscellaneous
CPL–ºô½Ð´¦ÀíÓïÑÔ£¨RFC3880£©
ÄÚ²¿Í¨Óûº´æÏµÍ³
Äڴ滺´æÁ¬½ÓÆ÷
RedisNoSQLÊý¾Ý¿âÁ¬½ÓÆ÷
CLI–kamctlºÍsercmd
ÍøÂç¹ÜÀí½çÃæ£ºÎ÷À×Ã×˹
SIP-TºÍSIP-I
ÒôÀÖ±£³Ö¶ÓÁÐ
ÓʼþÕýÎÄѹËõ/½âѹËõ£¨gzipѹËõ£©
ss7½âÎöÆ÷µ½JSONת»»Æ÷
ÃæÏò¹ÜÀíÔ±ºÍ¿ª·¢ÈËÔ±µÄÌṩ´óÁ¿Îĵµ
¿ÉÀ©Õ¹ÐÔ£º
Kamailio¿ÉÒÔÔÚ×ÊÔ´ÓÐÏÞµÄǶÈëʽϵͳÉÏÔËÐÐ-ÐÔÄÜ¿ÉÒԴﵽÿÃëÊý°Ù¸öºô½ÐÉèÖÃ
KamailioÓÃ×÷ÎÞ״̬ģʽϵĸºÔؾùºâÆ÷£¬Ã¿Ãë¿ÉÒÔ´¦Àí³¬¹ý5000¸öºô½ÐÉèÖÃ
ÔÚ¾ßÓÐ4GBÄÚ´æµÄϵͳÉÏ£¬Kamailio¿ÉÒÔΪ³¬¹ý300ÍòÔÚÏß¶©»§Ìṩ·þÎñ
ϵͳ¿ÉÒÔͨ¹ýÌí¼Ó¸ü¶àKamailio·þÎñÆ÷ÇáËÉÀ©Õ¹
Kamailio¿ÉÓÃÓÚµØÀí·Ö²¼Ê½VoIPƽ̨
Kamailio×îµÍ³É±¾Â·ÓÉ¿ÉÀ©Õ¹µ½Êý°ÙÍò¸ö·ÓɹæÔò
Ö±½ÓµÄ¹ÊÕÏ×ªÒÆºÍÈßÓà