المقدمة
يصف هذا وثيقة كيف أن يتحرى APNS "400 طلب سيئ" خطأ؛ إصدار معروف يوثق في ال cisco بق IDCSCvi01660.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
Apple Push Notifications
التكوين.
Apple Push Notifications
الوظائف.
المكونات المستخدمة
لا يقيد هذا وثيقة إلى خاص جهاز وبرمجية صيغة.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
عندما يتم تمكين نظام المجموعة لديك لإجراء إعلامات الدفع، يستخدم Cisco Unified Communications Manager وخدمة المراسلة الفورية والحضور خدمة الإعلامات المؤقتة من Apple أو خدمة الإعلامات المؤقتة من Google'cloud لإرسال إعلامات الدفع إلى عملاء Cisco Jabber أو Webex المتوافقين الذين يعملون على أجهزة iOS أو Android. تتيح الإعلامات المؤقتة للنظام الاتصال بالعميل، حتى بعد دخوله في وضع الخلفية (المعروف أيضا باسم وضع الإيقاف المؤقت). من دون الإعلامات المؤقتة، قد يتعذر على النظام إرسال المكالمات أو الرسائل إلى العملاء الذين دخلوا وضع الخلفية.
للمصادقة باستخدام Cisco Cloud، يقوم خادم Cisco Communications Manager بإنشاء رمز مميز كجزء من عملية الإلحاق، إذا تلقيت رسالة "طلب غير صحيح"، فإن الرمز المميز للوصول إلى الجهاز الخاص بك لخدمة Push Notifications قد انتهت صلاحيته وتحتاج إلى تحديث الرمز المميز للوصول يدويا وفقا للمستندات:
https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/push_notifications/cucm_b_push-notifications-deployment-guide/cucm_b_push-notifications-deployment-guide_chapter_01.html?bookSearch=true
استكشاف الأخطاء وإصلاحها
قم بتعيين السجلات التالية لتصحيح الأخطاء وتجميعها باستخدام أداة مراقبة الوقت الفعلي:
مدير الاتصالات الموحدة من Cisco
:
خدمة الإعلامات من Cisco
خدمة وكيل الإدارة من Cisco
مدير الاتصالات الموحدة من Cisco - المراسلة الفورية والحضور:
مدير تكوين Cisco XCP
جهاز توجيه Cisco XCP
على سجلات خدمة الإعلامات المؤقتة من Cisco، يمكنك أن ترى أن CUCM يستلم العديد 400 رد أثناء إحضار الرمز المميز الذي يجعل APNs يفشل، وبالتالي لا تزيد العدادات:
2024-07-16 15:09:50,514 DEBUG [Timer-144] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400 2024-07-16 15:19:51,007 DEBUG [Timer-145] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400 2024-07-16 15:29:51,605 DEBUG [Timer-146] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400 2024-07-16 15:39:52,096 DEBUG [Timer-147] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400 2024-07-16 15:49:52,565 DEBUG [Timer-148] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400 2024-07-16 15:59:53,032 DEBUG [Timer-149] ccmpns.CCMPNServer (CCMPNServer.java:306) - fetchAndStoreAccessToken() Response received : 400
يمكنك رؤية إستجابة غير صحيحة على سجلات موجه Cisco XCP حول الوقت الذي يتم فيه إجراء الاستدعاء:
2024-07-16 17:21:43,464 DEBUG [Timer-1382] xmlframework.XCPConfigMgr - FetchAndStoreAccessToken: Calling createAccessToken() with granttype:refresh_token, refreshToken:MTc2YzFhN2YtMDA1Ny00MTVlLWJGZmMjcwYTU3MjY1NGI1NzItZmE0, accessTokenURL proxyUsernamenull 2024-07-16 17:21:43,468 INFO [Timer-1382] utilities.CloudOnboarding - TRACKING ID:::::::FOS_e8e8ee93-818f-4fe5-8a23-6b08a879b91b 2024-07-16 17:21:43,790 ERROR [Timer-1382] utilities.TomcatTrustManager - checkServerTrusted:entered 2024-07-16 17:21:43,791 ERROR [Timer-1382] utilities.TomcatTrustManager - checkServerTrusted:entered 2 2024-07-16 17:21:43,958 DEBUG [Timer-1382] xmlframework.XCPConfigMgr - XCPConfigMgr:Inside responseStatus() 2024-07-16 17:21:43,958 ERROR [Timer-1382] xmlframework.XCPConfigMgr - 400 Bad Request: invalid_request, unsupported_grant_type, invalid_client, invalid_refresh_token, tokenlimit_reached 2019-07-16 17:21:43,958 DEBUG [Timer-1382] xmlframework.XCPConfigMgr - XCPConfigMgr:FetchAndStoreAccessToken: Inside Finally Block
هذا يعرف cisco بق id CSCvi01660.
الحل
قم بإنشاء نظام مختبري وتحديث الرمز المميز للتحديث من المختبر إلى نظام الإنتاج.
بمجرد نشر النظام المعملي، قم بإجراء الخطوات التالية:
الخطوة 1:
في Call Manager Publisher الخاص بك، افتح جلسة CLI وقم بتشغيل الأمر تشغيل sql select * من machineAccountDetails" وحفظ جميع المخرجات في ملف txt.
بمجرد حفظ جميع المخرجات، انتبه بشكل خاص لمدير المكالمات الخاص بك، على سبيل المثال، بيئة مختبرنا هي "e40c24c0-cd4c-4256".
أيضا، قم بتشغيل الأمر "تشغيل sql select * من MachineAccountDetails" في بيئة المختبر الخاصة بك وقم بحفظ كل المخرجات في ملف .txt.
اولي اهتماما خاصا للرمز المميز للتحديث في بيئة مختبرك حيث إن هذا هو الرمز المميز الصالح الذي نستخدمه لاستبدال الرمز المميز غير الصحيح في بيئة الإنتاج الخاصة بك. في بيئة مختبرنا شيء مثلOGYyZGI2MWMtNjUwYy00Y2FiLThh.
الخطوة 2:
نحتاج إلى إستبدال رمز التحديث المميز غير العامل الحالي برمز مختبري صالح.
بعد حفظ ملف الإنتاج الخاص بك، قم بتشغيل استعلام sql هذا في Product Call Manager Publisher:
شغل SQL update machineAccountDetails set refreshToken='هنا يذهب الرمز المميز للتحديث الصحيح لبيئتك المخبرية' حيث يذهب pkid='هنا الإنتاج الخاص بك'.
يقوم استعلام SQL السابق بتغيير الرمز المميز غير العامل باستخدام الرمز المميز العامل من بيئة المختبر.
الخطوة 3:
بعد تحديث MachineAccountDetails باستخدام الرمز المميز لتحديث المختبر، الرجاء إعادة تشغيل هذه الخدمات:
مدير الاتصالات الموحدة من Cisco
::
- خدمة وكيل الإدارة (CMAS) من Cisco
- خدمة الإعلامات المؤقتة من Cisco (CCMPNS)
- Tomcat
مدير الاتصالات الموحدة من Cisco - المراسلة الفورية والحضور:
- مدير تكوين XCP
- موجه XCP
- Tomcat
يجب إعادة تشغيل هذه الخدمات بعد ساعات لتجنب أي تأثير على الخدمة.
التحقق من الصحة
قم الآن بالتشغيل مرة أخرى "تشغيل SQL Select * من MachineAccountDetails" على جميع العقد بما في ذلك IMPs وتحقق الآن من توفر الرمز المميز للتحديث الخاص بي.