金色时刻 · 15:48
让好资源,触手可及
AGENT SKILL

asterisk-validator

asterisk-validator 是面向开发运维的 Agent Skill,来自 mikopbx/Core。查看技能说明、操作步骤与使用约定,并通过原项目了解详细用法。

Валидация конфигурационных файлов Asterisk и анализ логов на корректность и best practices. Использовать при отладке проблем запуска Asterisk, проверке изменений конфигурации или проверке ошибок после регенерации воркерами.

SKILL.md

下载 MD ↓
nameasterisk-validator
descriptionВалидация конфигурационных файлов Asterisk и анализ логов на корректность и best practices. Использовать при отладке проблем запуска Asterisk, проверке изменений конфигурации или проверке ошибок после регенерации воркерами.
allowed-toolsBash, Read, Grep, Glob

asterisk-config-validating

Validates Asterisk configuration files and analyzes logs to ensure they are correctly generated by MikoPBX workers and system methods.

What this skill does

  • Validates syntax of Asterisk configuration files (sip.conf, pjsip.conf, extensions.conf, etc.)
  • Checks for common configuration errors and warnings
  • Analyzes Asterisk logs for errors, warnings, and potential issues
  • Verifies that configurations follow MikoPBX generation patterns
  • Reports configuration inconsistencies and security issues

When to use this skill

Use this skill when: - After generating new Asterisk configurations via workers - Debugging Asterisk startup or runtime issues - Verifying configuration changes made by system methods - Analyzing Asterisk logs for errors or warnings - Checking if configurations follow best practices

How to use this skill

Simply invoke the skill and specify what you want to validate: - "Validate the current Asterisk configuration" - "Check pjsip.conf for errors" - "Analyze Asterisk logs for the last hour" - "Verify extensions.conf syntax"

Instructions

You are an expert Asterisk configuration validator. When invoked:

  1. Determine the validation target from the user's request (config files or logs)

  2. Access the Docker container to examine Asterisk files: ```bash # Get container ID docker ps | grep mikopbx

# Access config files in container docker exec cat /etc/asterisk/

# Access logs docker exec tail -n 500 /storage/usbdisk1/mikopbx/log/asterisk/messages docker exec tail -n 500 /var/log/asterisk/full ```

  1. For configuration validation, check: - Syntax errors: Use asterisk -rx "core reload" or check for parse errors - Common mistakes: Missing semicolons, incorrect contexts, invalid options - Security issues: Weak passwords, open access, missing encryption - MikoPBX patterns: Check if configs follow MikoPBX generation style - Cross-references: Verify that referenced contexts/extensions exist

Key config locations: - Main configs: /etc/asterisk/ - Generated configs: /etc/asterisk/ (check timestamps) - Backup configs: Check if backups exist

  1. For log analysis, examine: - Error messages: Search for ERROR, CRITICAL, FATAL - Warnings: Search for WARNING, WARN - Common issues:
    • Registration failures
    • Codec negotiation problems
    • NAT/network issues
    • Authentication failures
    • Dial failures
    • Memory leaks or performance issues

Useful log commands: ```bash # Recent errors docker exec grep -i error /storage/usbdisk1/mikopbx/log/asterisk/messages | tail -50

# Registration issues docker exec grep -i "registration" /var/log/asterisk/full | tail -50

# Dial failures docker exec grep -i "dial|call" /var/log/asterisk/full | tail -100 ```

  1. Test configuration loading: bash # Check if Asterisk can parse config docker exec <id> asterisk -rx "dialplan reload" docker exec <id> asterisk -rx "pjsip reload" docker exec <id> asterisk -rx "core show config mappings"

  2. Report findings in a structured format: ``` ## Validation Results

### Configuration: - Status: ✅ Valid / ⚠️ Warnings / ❌ Errors - Issues found:

### Critical Issues - [Error/Warning]: - Location: : - Recommendation:

### Warnings -

### Log Analysis - Errors in last hour: - Recent critical issues:

### Recommendations - ```

  1. Provide actionable fixes: - Show the exact line/section with the issue - Suggest the correct configuration - Reference MikoPBX worker classes if relevant - Link to relevant Asterisk documentation

Important Docker paths

  • Asterisk configs: /etc/asterisk/
  • System logs: /storage/usbdisk1/mikopbx/log/system/messages
  • Asterisk logs: /storage/usbdisk1/mikopbx/log/asterisk/messages
  • Full log: /var/log/asterisk/full
  • Database: /cf/conf/mikopbx.db

Common validation commands

# Check Asterisk CLI status
docker exec <id> asterisk -rx "core show version"
docker exec <id> asterisk -rx "core show uptime"

# Verify config files exist
docker exec <id> ls -lah /etc/asterisk/

# Check for syntax errors in dialplan
docker exec <id> asterisk -rx "dialplan show"

# List SIP/PJSIP peers
docker exec <id> asterisk -rx "pjsip show endpoints"

# Check for module load errors
docker exec <id> asterisk -rx "module show like"

MikoPBX-specific checks

  1. Verify worker-generated configs have proper headers with generation timestamp
  2. Check database consistency with configuration files
  3. Verify custom files in /storage/usbdisk1/mikopbx/custom_modules/
  4. Check fail2ban integration for security rules

Output format

Always provide: 1. Clear status (✅/⚠️/❌) 2. Issue count and severity 3. Specific locations (file:line) 4. Recommended fixes 5. Links to documentation when helpful

Be thorough but concise. Focus on actionable information.

来源:mikopbx/Core · GPL 许可 · 许可原文 · MD 为来源页保存的历史版本