- शिप
- 24 अप्रैल 2026 को 10:36 pm बजे UTC
- लेखक
- Kamo
- Commit
- 5d98d8a
कोर मॉडल परिवर्तन: एक org → कई VoipProviderInstances (was: one per org). हर प्रदाता एपीआई कॉल अब उदाहरण-स्किप किया गया है। PhoneProvider interface: - एक्सटेंशन / उपयोगकर्ता / डिवाइस CRUD + वॉयसमेल ऑडियो / ट्रांसक्रिप्शन के लिए नए तरीके। - नई क्षमता झंडे (एक्सटेंशनमैनेजमेंट, उपयोगकर्ता प्रबंधन, उपकरण प्रबंधन, वॉयसमेल ट्रांसक्रिप्शन). डिफ़ॉल्ट फेंक **************** (HTTP 501) इसलिए स्टब प्रदाता नहीं टूटते। फ्रंटेंड चेक getCapability () प्रति प्रदाता को छिपाने / अक्षम करने के लिए। - बाह्य निर्भरता विफलताओं के लिए प्रदाताException (HTTP 502)। PhoneProvider Factory: - getInstance (UUID) / **************** विरासत की जगह GetProvider(long orgId); getPrimaryForOrg(long) विरासत कॉल साइटों के लिए रखा (कैलकंट्रोलर, क्षमताओं नियंत्रक, सिपकंट्रोलर, वेबहुक इनबाउंड)। - रिंगसेंट्रल ओथ टोकन अब (ऑर्गिड, प्रदाता, उदाहरण Id) द्वारा दायर किया गया था ताकि एक org एकाधिक स्वतंत्र रिंगसेंट्रल तैनाती को प्रमाणित कर सकते हैं। - FreePBX निर्माण config json → {baseUrl, ClientId, ClientSecret पढ़ा, SslErrors} को अनदेखा करें और एक समर्पित FreePBXGraphQLClient को तत्कालीन करें। रिंगसेंट्रल (RingCentralProvider): - कंस्ट्रक्टर लॉग संदर्भ के लिए उदाहरण आईडी लेता है। - नई विधियां: सूची विस्तार / निर्माण विस्तार / अद्यतन विस्तार / RemoveExtension; listUsers / createUser / अद्यतनUser / removeUser (RC मॉडल) दोनों प्रकार = उपयोगकर्ता एक्सटेंशन; सूचीडिवाइस / निर्माणडिवाइस / अद्यतनडिवाइस / Device; getVoicemailAudio (streams संलग्नक सामग्री) और Voicemail transcription. FreePBX (FreePBXProvider) — पूर्ण कार्यान्वयन प्लेसहोल्डर को प्रतिस्थापित करता है: - FreePBXTokenCache (~1h TTL) के माध्यम से क्लाइंट-credentials OAuth2 टोकन कैशिंग 401 पर ऑटो रिफ्रेश, प्रति इंस्टेंस). FreePBXGraphQLClient: वैकल्पिक के साथ GraphQL + REST परिवहन स्व-signed ऑन-प्रेम PBXes के लिए छोड़-SSL सत्यापन। - एक्सटेंशन, उपयोगकर्ता प्रबंधक उपयोगकर्ता, एंडपॉइंट मैनेजर डिवाइस, वॉयसमेल सूची/mark-read/delete + ऑडियो स्ट्रीम, CDR कॉल इतिहास, SIP क्रेडेंशियल एक्सटेंशन के Pjsip रहस्य से प्राप्त, स्वास्थ्य के माध्यम से asteriskInfo। - एसएमएस स्पष्ट रूप से असमर्थित (क्षमता एसएमएस = झूठी) - FreePBX संभाल नहीं करता है वाहक एसएमएस। Flowroute एसएमएस (FlowrouteTextProvider): - HTTP बेसिक (एक्सेसकी, गुप्त कुंजी) के साथ संदेश v2.1 एपीआई। - स्वास्थ्य जांच ने जीईटी / संख्या? सीमा = 1 मारा। - थोकTextProviderफैक्टरी के साथ पंजीकृत नए FLOWROUTE enum मान के माध्यम से। नियंत्रक: - VoipInstanceController (profederConfigController) - पूर्ण CRUD प्रति इंस्टेंस टेस्ट / सिंक के साथ / एपी / वीओआईपी / इंस्टेंसेस। जीईटी जवाब ('***'); विलय-अपडेट यूआई राउंड-ट्रिप को बिना किसी रीडैक्ट फ़ील्ड देता है क्लोबरिंग संग्रहीत क्रेडेंशियल। - BulkTextInstanceController (BoldTextConfigController) - दर्पण CRUD at /api/bulktext/instances with test/Test-send/ Send. - OAuthController ने उदाहरण के लिए लिखित OAuth: शुरू, कॉलबैक, स्थिति, सभी उदाहरण Id लेना डिस्कनेक्ट करें। - SmsController सदस्य से उदाहरण को हल करता है। उदाहरण Id → org प्राथमिक, संलग्न बातचीत करना। - कैलकंट्रोलर / क्षमताओंकंट्रोलर / सिपकंट्रोलर ऑर्ग के सामने वापस आते हैं विरासत एकल दूरी समापन बिंदुओं के लिए प्राथमिक सक्रिय उदाहरण। सेवाएं: - InstanceSyncService: पुल-थ्रू कैश सिंक - एक्सटेंशन / उपयोगकर्ता / devices / वॉयसमेल प्रदाता से स्थानीय टेबल तक कॉपी किया गया, लापता पंक्तियों को नरम चिह्नित किया गया UNKNOWN. प्रत्येक उप-चरण लपेटा जाता है इसलिए एक असमर्थित क्षमता विफल नहीं होती है संपूर्ण सिंक (जैसे FreePBX no-SMS + has-extensions)। - VoipMessageService: सभी वार्तालाप / संदेश पथ उदाहरण Id को प्रचारित करते हैं। टेस्ट: पूर्व मौजूदा VoipProviderConfig-विशिष्ट परीक्षण हटा दिया (कवर किया गया) नाम दिया गया प्रकार; पुनर्लेखन प्रति डिज़ाइन spec 10 के दायरे से बाहर है - कोई TDD नहीं इस रिफैक्टर में बुनियादी ढांचा जोड़ा जा रहा है। अद्यतन kamo साझा पुस्तकालय के साथ हरे रंग का निर्माण करता है।.