सभी को नमस्कार!
मैं विरोध नहीं कर सकता और सिस्को कॉलमैनगर पर कॉल पेजिंग जैसे आवश्यक फीचर को लागू करने के अनुभव को साझा नहीं कर सकता। यह कुछ इस तरह काम करना चाहिए:
- ग्राहक फोन उठाता है, फ़ंक्शन एक्सेस कुंजी दबाता है, और प्रसारण शुरू करता है;
- पूर्वनिर्धारित फोन अपने स्पीकरफोन के माध्यम से ध्वनि प्राप्त करते हैं और खेलते हैं।
दुर्भाग्य से, इस तथ्य के बावजूद कि पेजिंग किसी भी पारंपरिक पीबीएक्स की एक मानक विशेषता है, सीसीएम नहीं जानता कि कैसे। हालांकि, 7900 श्रृंखला वाले फोन में निर्मित XML ब्राउजर के लिए धन्यवाद, पेजिंग (और न केवल यह) एक सेवा के रूप में लागू किया जा सकता है।
सिद्धांत
यहाँ इस बारे में एक अच्छा मार्गदर्शक है। इससे आप यह जान सकते हैं कि फोन के साथ संचार में कुछ XML ऑब्जेक्ट्स को इसे स्थानांतरित करने में शामिल हैं, जो इसे कुछ कार्रवाई करने के लिए मजबूर करते हैं। ये क्रियाएं कुछ कम हैं: एक पाठ, मेनू या छवि प्रदर्शित करें, एक कॉल करें, एक ध्वनि चलायें और, हमें कौन सी रुचियाँ सबसे अधिक पसंद हैं, माइक्रोफोन से आरटीपी को दिए गए पते पर स्थानांतरण करें या आरटीपी प्राप्त करें और स्पीकर को ध्वनि बजाएं (g.711u का उपयोग करके)।
मैंने केवल दो ऑब्जेक्ट का उपयोग किया (सिंटैक्स को उसी गाइड में वर्णित किया गया है):
- CiscoIPPhoneExecute - एक कमांड चलाएँ या एक URL खोलें। ऑडियो स्ट्रीम के प्रसारण को नियंत्रित करने के लिए, RTPRx और RTPTx कमांड का उपयोग किया जाता है;
- CiscoIPPhoneText - फ़ोन डिस्प्ले पर टेक्स्ट प्रदर्शित करें। पाठ और शीर्षक के अलावा, इस ऑब्जेक्ट में SoftKeyItem तत्व शामिल हो सकते हैं - प्रोग्राम करने योग्य कुंजी। CiscoIPPhoneExecute ऑब्जेक्ट के समान आप उन्हें (अलग से दबाने और जारी करने के लिए) क्रिया प्रदान कर सकते हैं।
कार्यान्वयन
सबसे आदिम कार्यान्वयन कुछ इस तरह दिख सकता है:
- फ़ोन को दिए गए पोर्ट से RTP चलाएं:
<CiscoIPPhoneExecute>
<ExecuteItem प्राथमिकता = "0" URL = "RTPMRx: 239.0.0.45: 20480: 90" />
</ CiscoIPPhoneExecute>
आरटीपीएमआरएक्स कमांड पर ध्यान दें - प्रयोगों की एक श्रृंखला के बाद, मैंने मल्टीकास्ट के साथ ध्वनि बाहर भेजने का फैसला किया। पता को मनमाने ढंग से चुना जाता है, पोर्ट नंबर भी होना चाहिए और 20480-32768 की सीमा में; - जिस फ़ोन से पेजिंग की जाती है, वह एक न्यूनतम इंटरफ़ेस बनाएँ: एक टेक्स्ट लेबल और दो बटन, "स्टार्ट" और "बाहर निकलें":
<CiscoIPPhoneText>
<शीर्षक> चेतावनी </ शीर्षक>
<Prompt> आरंभ करें पर क्लिक करें </ Prompt>
<पाठ> चेतावनी </ पाठ>
<SoftKeyItem>
<नाम> आरंभ करें </ नाम>
<URL> RTPTx: स्टॉप </ URL>
<URLDown> RTPMTx: 239.0.0.45: 20480 </ URLDown>
<स्थिति> 1 </ स्थिति>
</ SoftKeyItem>
<SoftKeyItem>
<नाम> साइन आउट करें </ Name>
<URL> SoftKey: बाहर निकलें </ URL>
<URLDown> http://10.1.1.65/page_stop.php </ URLDown>
<स्थिति> 4 </ स्थिति>
</ SoftKeyItem>
</ CiscoIPPhoneText>
"प्रारंभ" बटन दबाकर, फोन को URLDown तत्व, RTPMTx: 239.0.0.45: 20480 से एक कमांड प्राप्त होता है, और निर्दिष्ट पते पर एक ध्वनि स्ट्रीम भेजना शुरू होता है। जब ग्राहक बटन जारी करता है, तो फोन RTPTx को निष्पादित करता है: URL तत्व से कमांड को रोकें; - दुर्भाग्य से, मुझे एक उपयोगकर्ता कार्रवाई के लिए दो कमांड निष्पादित करने का कोई तरीका नहीं मिला, इसलिए "प्रारंभ" बटन जारी करने के बाद, रिसीवर फोन आरटीपी खेलना जारी रखता है (जो पहले से ही चला गया है)। इसलिए, जब आप "बाहर निकलें" बटन पर क्लिक करते हैं, तो फोन के प्रसारण को सुनने के लिए एक और वस्तु को कॉल किया जाता है:
<CiscoIPPhoneExecute>
<ExecuteItem प्राथमिकता = "0" URL = "RTPMRx: Stop" />
</ CiscoIPPhoneExecute>
मैंने इसे php + mysql (फ़ोन पते को संग्रहीत करने के लिए) में कार्यान्वित किया। मैं पहले से ही यह पता लगाने में बहुत आलसी था कि उन्हें CCM डेटाबेस से कैसे प्राप्त किया जाए), लेकिन मैं आपको तुरंत चेतावनी देता हूं - मैं यहां तक कि एक प्रोग्रामर भी नहीं हूं, इसलिए जो कुछ आप
यहां देखते
हैं और
यहां सबसे अधिक है। असली गोवनोकॉड सावधानी से आगे बढ़ें।
इससे बड़ा और क्या हो सकता है
और बहुत सी चीजें: मौसम का पूर्वानुमान / विनिमय दर / समाचार, पाठ संदेश, अनुस्मारक / अलार्म, मैंने सीसीटीवी कैमरों से चित्रों को प्रसारित करने के बारे में भी सुना है। और हां, सबसे जिज्ञासु के लिए - यह देखा गया कि जब आप माइक्रोफ़ोन को दूरस्थ रूप से चालू करते हैं, तो यह फोन केवल डिस्प्ले पर एक अचूक चिह्न के साथ संकेत देता है ...