Basic VoIP Protocols
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
यह उद्योग मानक है, अधिक जानकारी के लिए देखें:
SIP (Session Initiation Protocol)MGCP (Media Gateway Control Protocol) एक signaling और call control protocol है जो RFC 3435 में वर्णित है। यह एक केंद्रीकृत आर्किटेक्चर में कार्य करता है, जिसमें तीन मुख्य घटक होते हैं:
Call Agent या Media Gateway Controller (MGC): MGCP आर्किटेक्चर में मुख्य गेटवे मीडिया गेटवे का प्रबंधन और नियंत्रण करने के लिए जिम्मेदार है। यह कॉल सेटअप, संशोधन और समाप्ति प्रक्रियाओं को संभालता है। MGC मीडिया गेटवे के साथ MGCP प्रोटोकॉल का उपयोग करके संवाद करता है।
Media Gateways (MGs) या Slave Gateways: ये उपकरण विभिन्न नेटवर्कों के बीच डिजिटल मीडिया स्ट्रीम को परिवर्तित करते हैं, जैसे पारंपरिक सर्किट-स्विच टेलीफोनी और पैकेट-स्विच IP नेटवर्क। इन्हें MGC द्वारा प्रबंधित किया जाता है और यह उससे प्राप्त आदेशों को निष्पादित करते हैं। मीडिया गेटवे में ट्रांसकोडिंग, पैकेटाइजेशन, और इको रद्द करने जैसी कार्यक्षमताएँ शामिल हो सकती हैं।
Signaling Gateways (SGs): ये गेटवे विभिन्न नेटवर्कों के बीच signaling संदेशों को परिवर्तित करने के लिए जिम्मेदार होते हैं, पारंपरिक टेलीफोनी सिस्टम (जैसे, SS7) और IP-आधारित नेटवर्क (जैसे, SIP या H.323) के बीच निर्बाध संचार सक्षम करते हैं। signaling गेटवे इंटरऑपरेबिलिटी के लिए महत्वपूर्ण हैं और यह सुनिश्चित करते हैं कि कॉल नियंत्रण जानकारी विभिन्न नेटवर्कों के बीच सही तरीके से संप्रेषित हो।
संक्षेप में, MGCP कॉल एजेंट में कॉल नियंत्रण तर्क को केंद्रीकृत करता है, जो मीडिया और signaling गेटवे के प्रबंधन को सरल बनाता है, दूरसंचार नेटवर्क में बेहतर स्केलेबिलिटी, विश्वसनीयता, और दक्षता प्रदान करता है।
Skinny Client Control Protocol (SCCP) एक स्वामित्व वाला signaling और call control protocol है जो Cisco Systems के पास है। इसका मुख्य रूप से Cisco Unified Communications Manager (जिसे पहले CallManager के नाम से जाना जाता था) और Cisco IP फोन या अन्य Cisco वॉयस और वीडियो एंडपॉइंट्स के बीच संचार के लिए उपयोग किया जाता है।
SCCP एक हल्का प्रोटोकॉल है जो कॉल नियंत्रण सर्वर और एंडपॉइंट उपकरणों के बीच संचार को सरल बनाता है। इसे "Skinny" कहा जाता है क्योंकि इसका न्यूनतम डिज़ाइन और अन्य VoIP प्रोटोकॉल जैसे H.323 या SIP की तुलना में कम बैंडविड्थ आवश्यकताएँ होती हैं।
SCCP-आधारित प्रणाली के मुख्य घटक हैं:
Call Control Server: यह सर्वर, आमतौर पर एक Cisco Unified Communications Manager, कॉल सेटअप, संशोधन, और समाप्ति प्रक्रियाओं का प्रबंधन करता है, साथ ही कॉल फॉरवर्डिंग, कॉल ट्रांसफर, और कॉल होल्ड जैसी अन्य टेलीफोनी सुविधाएँ भी।
SCCP Endpoints: ये उपकरण जैसे IP फोन, वीडियो कॉन्फ्रेंसिंग यूनिट, या अन्य Cisco वॉयस और वीडियो एंडपॉइंट्स हैं जो कॉल नियंत्रण सर्वर के साथ संचार के लिए SCCP का उपयोग करते हैं। ये सर्वर के साथ पंजीकरण करते हैं, signaling संदेश भेजते और प्राप्त करते हैं, और कॉल हैंडलिंग के लिए कॉल नियंत्रण सर्वर द्वारा प्रदान किए गए निर्देशों का पालन करते हैं।
Gateways: ये उपकरण, जैसे वॉयस गेटवे या मीडिया गेटवे, विभिन्न नेटवर्कों के बीच मीडिया स्ट्रीम को परिवर्तित करने के लिए जिम्मेदार होते हैं, जैसे पारंपरिक सर्किट-स्विच टेलीफोनी और पैकेट-स्विच IP नेटवर्क। इनमें ट्रांसकोडिंग या इको रद्द करने जैसी अतिरिक्त कार्यक्षमताएँ भी शामिल हो सकती हैं।
SCCP Cisco कॉल नियंत्रण सर्वरों और एंडपॉइंट उपकरणों के बीच संचार का एक सरल और प्रभावी तरीका प्रदान करता है। हालाँकि, यह ध्यान देने योग्य है कि SCCP एक स्वामित्व प्रोटोकॉल है, जो गैर-Cisco सिस्टम के साथ इंटरऑपरेबिलिटी को सीमित कर सकता है। ऐसे मामलों में, अन्य मानक VoIP प्रोटोकॉल जैसे SIP अधिक उपयुक्त हो सकते हैं।
H.323 एक प्रोटोकॉल का समूह है जो मल्टीमीडिया संचार के लिए है, जिसमें वॉयस, वीडियो, और डेटा कॉन्फ्रेंसिंग शामिल है, जो पैकेट-स्विच नेटवर्कों, जैसे IP-आधारित नेटवर्कों पर होता है। इसे International Telecommunication Union (ITU-T) द्वारा विकसित किया गया था और यह मल्टीमीडिया संचार सत्रों के प्रबंधन के लिए एक व्यापक ढांचा प्रदान करता है।
H.323 समूह के कुछ प्रमुख घटक हैं:
Terminals: ये एंडपॉइंट उपकरण हैं, जैसे IP फोन, वीडियो कॉन्फ्रेंसिंग सिस्टम, या सॉफ़्टवेयर एप्लिकेशन, जो H.323 का समर्थन करते हैं और मल्टीमीडिया संचार सत्रों में भाग ले सकते हैं।
Gateways: ये उपकरण विभिन्न नेटवर्कों के बीच मीडिया स्ट्रीम को परिवर्तित करते हैं, जैसे पारंपरिक सर्किट-स्विच टेलीफोनी और पैकेट-स्विच IP नेटवर्क, H.323 और अन्य संचार प्रणालियों के बीच इंटरऑपरेबिलिटी सक्षम करते हैं। इनमें ट्रांसकोडिंग या इको रद्द करने जैसी अतिरिक्त कार्यक्षमताएँ भी शामिल हो सकती हैं।
Gatekeepers: ये वैकल्पिक घटक हैं जो H.323 नेटवर्क में कॉल नियंत्रण और प्रबंधन सेवाएँ प्रदान करते हैं। ये पते के अनुवाद, बैंडविड्थ प्रबंधन, और प्रवेश नियंत्रण जैसी कार्यें करते हैं, नेटवर्क संसाधनों का प्रबंधन और अनुकूलन करने में मदद करते हैं।
Multipoint Control Units (MCUs): ये उपकरण मल्टीपॉइंट कॉन्फ्रेंसिंग को सुविधाजनक बनाते हैं, कई एंडपॉइंट्स से मीडिया स्ट्रीम को प्रबंधित और मिश्रित करते हैं। MCUs वीडियो लेआउट नियंत्रण, वॉयस-एक्टिवेटेड स्विचिंग, और निरंतर उपस्थिति जैसी सुविधाएँ सक्षम करते हैं, जिससे कई प्रतिभागियों के साथ बड़े पैमाने पर कॉन्फ्रेंस आयोजित करना संभव होता है।
H.323 विभिन्न ऑडियो और वीडियो कोडेक्स का समर्थन करता है, साथ ही कॉल फॉरवर्डिंग, कॉल ट्रांसफर, कॉल होल्ड, और कॉल वेटिंग जैसी अन्य पूरक सेवाएँ भी। VoIP के प्रारंभिक दिनों में इसके व्यापक अपनाने के बावजूद, H.323 को धीरे-धीरे अधिक आधुनिक और लचीले प्रोटोकॉल जैसे Session Initiation Protocol (SIP) द्वारा प्रतिस्थापित किया गया है, जो बेहतर इंटरऑपरेबिलिटी और आसान कार्यान्वयन प्रदान करता है। हालाँकि, H.323 कई विरासती प्रणालियों में उपयोग में है और विभिन्न उपकरण विक्रेताओं द्वारा इसका समर्थन जारी है।
IAX (Inter-Asterisk eXchange) एक signaling और call control protocol है जो मुख्य रूप से Asterisk PBX (Private Branch Exchange) सर्वरों और अन्य VoIP उपकरणों के बीच संचार के लिए उपयोग किया जाता है। इसे Asterisk ओपन-सोर्स PBX सॉफ़्टवेयर के निर्माता मार्क स्पेंसर द्वारा SIP और H.323 जैसे अन्य VoIP प्रोटोकॉल के विकल्प के रूप में विकसित किया गया था।
IAX अपनी सरलता, दक्षता, और कार्यान्वयन में आसानी के लिए जाना जाता है। IAX की कुछ प्रमुख विशेषताएँ हैं:
एकल UDP पोर्ट: IAX एकल UDP पोर्ट (4569) का उपयोग करता है जो signaling और मीडिया ट्रैफ़िक दोनों के लिए होता है, जिससे फ़ायरवॉल और NAT पार करना सरल हो जाता है, और इसे विभिन्न नेटवर्क वातावरणों में तैनात करना आसान हो जाता है।
बाइनरी प्रोटोकॉल: टेक्स्ट-आधारित प्रोटोकॉल जैसे SIP के विपरीत, IAX एक बाइनरी प्रोटोकॉल है, जो इसकी बैंडविड्थ खपत को कम करता है और signaling और मीडिया डेटा को संप्रेषित करने के लिए इसे अधिक प्रभावी बनाता है।
ट्रंकिंग: IAX ट्रंकिंग का समर्थन करता है, जो कई कॉलों को एकल नेटवर्क कनेक्शन में संयोजित करने की अनुमति देता है, ओवरहेड को कम करता है और बैंडविड्थ उपयोग में सुधार करता है।
स्वदेशी एन्क्रिप्शन: IAX में एन्क्रिप्शन के लिए अंतर्निहित समर्थन है, जैसे RSA कुंजी विनिमय और AES मीडिया एन्क्रिप्शन के लिए, जो एंडपॉइंट्स के बीच सुरक्षित संचार प्रदान करता है।
पीयर-टू-पीयर संचार: IAX को केंद्रीय सर्वर की आवश्यकता के बिना एंडपॉइंट्स के बीच सीधे संचार के लिए उपयोग किया जा सकता है, जिससे कॉल रूटिंग सरल और अधिक प्रभावी हो जाती है।
इसके लाभों के बावजूद, IAX की कुछ सीमाएँ हैं, जैसे इसका मुख्य ध्यान Asterisk पारिस्थितिकी तंत्र पर और SIP जैसे अधिक स्थापित प्रोटोकॉल की तुलना में कम व्यापक अपनाना। परिणामस्वरूप, IAX गैर-Asterisk सिस्टम या उपकरणों के साथ इंटरऑपरेबिलिटी के लिए सबसे अच्छा विकल्प नहीं हो सकता है। हालाँकि, जो लोग Asterisk वातावरण में काम कर रहे हैं, उनके लिए IAX VoIP संचार के लिए एक मजबूत और प्रभावी समाधान प्रदान करता है।
SDP (Session Description Protocol) एक टेक्स्ट-आधारित प्रारूप है जिसका उपयोग मल्टीमीडिया सत्रों की विशेषताओं का वर्णन करने के लिए किया जाता है, जैसे वॉयस, वीडियो, या डेटा कॉन्फ्रेंसिंग, IP नेटवर्कों पर। इसे Internet Engineering Task Force (IETF) द्वारा विकसित किया गया था और इसे RFC 4566 में परिभाषित किया गया है। SDP वास्तविक मीडिया ट्रांसमिशन या सत्र स्थापना को संभालता नहीं है, लेकिन इसे अन्य signaling प्रोटोकॉल, जैसे SIP (Session Initiation Protocol) के साथ मिलकर मीडिया स्ट्रीम और उनके गुणों के बारे में जानकारी को बातचीत और विनिमय करने के लिए उपयोग किया जाता है।
SDP के कुछ प्रमुख तत्व हैं:
सत्र जानकारी: SDP एक मल्टीमीडिया सत्र के विवरण का वर्णन करता है, जिसमें सत्र का नाम, सत्र का विवरण, प्रारंभ समय, और समाप्ति समय शामिल है।
मीडिया स्ट्रीम: SDP मीडिया स्ट्रीम की विशेषताओं को परिभाषित करता है, जैसे मीडिया प्रकार (ऑडियो, वीडियो, या टेक्स्ट), परिवहन प्रोटोकॉल (जैसे RTP या SRTP), और मीडिया प्रारूप (जैसे कोडेक जानकारी)।
कनेक्शन जानकारी: SDP नेटवर्क पते (IP पता) और पोर्ट नंबर के बारे में जानकारी प्रदान करता है जहाँ मीडिया भेजा या प्राप्त किया जाना चाहिए।
गुण: SDP सत्र या मीडिया स्ट्रीम के बारे में अतिरिक्त, वैकल्पिक जानकारी प्रदान करने के लिए गुणों के उपयोग का समर्थन करता है। गुणों का उपयोग एन्क्रिप्शन कुंजी, बैंडविड्थ आवश्यकताओं, या मीडिया नियंत्रण तंत्र जैसी विभिन्न सुविधाओं को निर्दिष्ट करने के लिए किया जा सकता है।
SDP आमतौर पर निम्नलिखित प्रक्रिया में उपयोग किया जाता है:
एक आरंभिक पार्टी प्रस्तावित मल्टीमीडिया सत्र का SDP विवरण बनाती है, जिसमें मीडिया स्ट्रीम और उनके गुणों का विवरण होता है।
SDP विवरण प्राप्त करने वाली पार्टी को भेजा जाता है, आमतौर पर signaling प्रोटोकॉल संदेश जैसे SIP या RTSP के भीतर एम्बेडेड होता है।
प्राप्त करने वाली पार्टी SDP विवरण को संसाधित करती है, और अपनी क्षमताओं के आधार पर, यह प्रस्तावित सत्र को स्वीकार, अस्वीकार, या संशोधित कर सकती है।
अंतिम SDP विवरण आरंभिक पार्टी को signaling प्रोटोकॉल संदेश के भाग के रूप में वापस भेजा जाता है, बातचीत प्रक्रिया को पूरा करता है।
SDP की सरलता और लचीलापन इसे विभिन्न संचार प्रणालियों में मल्टीमीडिया सत्रों का वर्णन करने के लिए एक व्यापक रूप से अपनाया गया मानक बनाता है, जो IP नेटवर्कों पर वास्तविक समय के मल्टीमीडिया सत्रों की स्थापना और प्रबंधन में महत्वपूर्ण भूमिका निभाता है।
RTP (Real-time Transport Protocol): RTP एक नेटवर्क प्रोटोकॉल है जो IP नेटवर्कों पर ऑडियो और वीडियो डेटा, या अन्य वास्तविक समय के मीडिया के वितरण के लिए डिज़ाइन किया गया है। इसे IETF द्वारा विकसित किया गया था और इसे RFC 3550 में परिभाषित किया गया है, RTP आमतौर पर SIP और H.323 जैसे signaling प्रोटोकॉल के साथ उपयोग किया जाता है ताकि मल्टीमीडिया संचार सक्षम हो सके। RTP सिंक्रनाइज़ेशन, क्रमबद्धता, और टाइमस्टैम्पिंग के लिए तंत्र प्रदान करता है, जो मीडिया प्लेबैक को सुचारू और समय पर सुनिश्चित करने में मदद करता है।
RTCP (Real-time Transport Control Protocol): RTCP RTP का एक साथी प्रोटोकॉल है, जिसका उपयोग सेवा की गुणवत्ता (QoS) की निगरानी के लिए और मीडिया स्ट्रीम के संचरण पर फीडबैक प्रदान करने के लिए किया जाता है। RTP के समान RFC 3550 में परिभाषित, RTCP RTP सत्र में प्रतिभागियों के बीच नियंत्रण पैकेटों का समय-समय पर आदान-प्रदान करता है। यह पैकेट हानि, जिटर, और राउंड-ट्रिप समय जैसी जानकारी साझा करता है, जो नेटवर्क की स्थितियों का निदान और अनुकूलन करने में मदद करता है, समग्र मीडिया गुणवत्ता में सुधार करता है।
SRTP (Secure Real-time Transport Protocol): SRTP RTP का एक विस्तार है जो मीडिया स्ट्रीम के लिए एन्क्रिप्शन, संदेश प्रमाणीकरण, और पुनरावृत्ति सुरक्षा प्रदान करता है, संवेदनशील ऑडियो और वीडियो डेटा के सुरक्षित संचरण को सुनिश्चित करता है। इसे RFC 3711 में परिभाषित किया गया है, SRTP एन्क्रिप्शन के लिए AES जैसे क्रिप्टोग्राफिक एल्गोरिदम और संदेश प्रमाणीकरण के लिए HMAC-SHA1 का उपयोग करता है। SRTP अक्सर सुरक्षित signaling प्रोटोकॉल जैसे TLS पर SIP के साथ मिलकर उपयोग किया जाता है ताकि मल्टीमीडिया संचार में एंड-टू-एंड सुरक्षा प्रदान की जा सके।
ZRTP (Zimmermann Real-time Transport Protocol): ZRTP एक क्रिप्टोग्राफिक कुंजी-समझौता प्रोटोकॉल है जो RTP मीडिया स्ट्रीम के लिए एंड-टू-एंड एन्क्रिप्शन प्रदान करता है। इसे PGP के निर्माता फिल ज़िमरमैन द्वारा विकसित किया गया है, ZRTP को RFC 6189 में वर्णित किया गया है। SRTP के विपरीत, जो कुंजी विनिमय के लिए signaling प्रोटोकॉल पर निर्भर करता है, ZRTP को signaling प्रोटोकॉल से स्वतंत्र रूप से काम करने के लिए डिज़ाइन किया गया है। यह संवाद करने वाली पार्टियों के बीच साझा रहस्य स्थापित करने के लिए Diffie-Hellman कुंजी विनिमय का उपयोग करता है, बिना पूर्व विश्वास या सार्वजनिक कुंजी अवसंरचना (PKI) की आवश्यकता के। ZRTP में शॉर्ट ऑथेंटिकेशन स्ट्रिंग्स (SAS) जैसी सुविधाएँ भी शामिल हैं जो मैन-इन-द-मिडल हमलों से सुरक्षा प्रदान करती हैं।
ये प्रोटोकॉल IP नेटवर्कों पर वास्तविक समय के मल्टीमीडिया संचार को वितरित और सुरक्षित करने में महत्वपूर्ण भूमिका निभाते हैं। जबकि RTP और RTCP वास्तविक मीडिया ट्रांसमिशन और गुणवत्ता निगरानी को संभालते हैं, SRTP और ZRTP सुनिश्चित करते हैं कि संप्रेषित मीडिया सुनने, छेड़छाड़, और पुनरावृत्ति हमलों से सुरक्षित है।
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)