pip install callattendantمضيف المكالمة ( Callattendant ) هو مضيف تلقائي مع مانع مكالمة متكامل ونظام المراسلة الصوتية التي تعمل على Raspberry Pi. إنه يتوقف عن إزعاج Robocalls و Sammals من مقاطعة حياتك. دع مكالمة المصادقة تقاطع وحظر Robocallers و Marketers قبل الحلقة الأولى على خط الأرض الخاص بك.
يوفر Callattendant دعمًا دوليًا لتنسيقات رقم الهاتف القابلة للتكوين ، مع قوائم مرنة وقوائم مرنة وقوائم رقم مسموح بها.
إذا كنت مهتمًا على الإطلاق بهذا المشروع ، فيرجى تقديم بعض الملاحظات من خلال منحه نجمة ، أو حتى أفضل ، المشاركة من خلال تقديم مشكلات ، والانضمام إلى المنتدى و/أو تقديم طلبات السحب. شكرًا!
مضيف المكالمة ( Callattendant ) هو مضيف مكالمات آلي يعتمد على Python ويعمل على مودم USB USB 5637 USB.
يتم توصيل Raspberry Pi و Modem بنظام الهاتف المنزلي بالتوازي مع هاتفك (أجهزة) هاتفك. عند استلام مكالمة واردة ، تنتقل المكالمة إلى هاتفك و Callattendant . خلال فترة الحلقة الأولى ، يقوم Callattendant بتحليل معرف المتصل ، واستنادًا إلى التكوين الخاص بك ، يحدد ما إذا كان ينبغي حظر المكالمة أو السماح بها. يمكن ببساطة تعليق المكالمات المحظورة أو توجيهها إلى نظام الرسائل الصوتية. المكالمات المسموح بها ستحلق ببساطة هاتفك المنزلي كالمعتاد. يمكن إرسال المكالمات إلى نظام البريد الصوتي المتكامل إذا اخترت. تتضمن آليات تصفية Callattendant خدمة بحث عبر الإنترنت وقائمة أرقام مسموح بها وقائمة أرقام محظورة ومطابقة نمط على رقم المتصل و/أو الاسم.
يمكنك مراجعة سجل المكالمات والرسائل الصوتية والأرقام المسموح بها وحظرها ، وتنفيذ إدارة المتصل من خلال واجهة الويب الخاصة بالمكالمة. فيما يلي مثال على الصفحة الرئيسية ذات المقاييس وقائمة مقايضة من المكالمات الحديثة. للحصول على وصف كامل ، انظر دليل المستخدم.

يحتوي مشروع Wiki on Github على وثائق مكالمة مضيفة:
يستخدم Callattendant الأجهزة التالية:

ستحتاج إلى Raspberry Pi Running Raspbian أو أفضل مع الوصول إلى الإنترنت لتثبيت البرامج ، وفي النهاية لبحث Robocaller عبر الإنترنت. بالنسبة للمشروع ، ستحتاج إلى مودم من نوع ما للقيام بالاتصالات الهاتفية. لقد ثبت أن مودم USB USB 56K USB ساري المفعول. بالنسبة لبعض عمليات التثبيت ، فهو يعمل فقط ، لا يلزم التهيئة. ظهر باسم /dev /ttyacm0.
يدعو التثبيت إلى Python3.x.
تقوم الإرشادات التالية بإنشاء وتنشيط بيئة افتراضية تسمى VenV داخل المجلد الحالي:
# Install virtualenv - if not installed
sudo apt install virtualenv
# Create the virtual environment
virtualenv venv --python=python3
# Activate it
source venv/bin/activate أنت الآن تعمل مع بيثون افتراضي. للتحقق ، إصدار أمر which أمر وضمان يشير الإخراج إلى بيئتك الافتراضية ؛ وأيضًا تحقق من إصدار Python:
$ which python
/home/pi/venv/bin/python
$ python --version
Python 3.7.3 في وقت لاحق ، عند تثبيت برنامج Callattendant ، سيتم وضعه في مجلد البيئة الظاهرية (تحت lib/python3.x/site-packages ). البيئة الافتراضية ، عند تنشيطها ، تغير مسارك بحيث يبحث النظام عن Python وحزمه داخل هذا المجلد الهرمي.
البرنامج متاح على PYPI. تثبيت وتحديث باستخدام pip :
# Using the virtual environment you use "pip" to install the software
pip install callattendant
# You must use "pip3" on the Pi if your not using a virtual environment
pip3 install callattendant إذا كنت لا تستخدم البيئة الافتراضية ، فقد تحتاج إلى إعادة تشغيل أو تسجيل الدخول/تسجيل الدخول لتحديث $PATH لملفك الشخصي للعثور على أمر callattendant واستخدامه.
تتضمن حزمة Callattendant أمر callattendant لبدء النظام. قم بتشغيل هذا الأمر في المرة الأولى مع خيار- --create-folder لإنشاء البيانات والملفات الأولية في مجلد البيانات الافتراضي: ~/.callattendant . هذا هو مجلد مخفي قبالة جذر الدليل المنزلي الخاص بك. يمكنك تجاوز هذا الموقع مع خيار- --data-path .
Usage: callattendant --config [FILE] --data-path [FOLDER]
Options:
-c, --config [FILE] load a python configuration file
-d, --data-path [FOLDER] path to data and configuration files
-f, --create-folder create the data-path folder if it does not exist
-h, --help displays this help text
# Creating the default data folder with the default configuration
callattendant --create-folder
# Using the default configuration
callattendant
# Using a customized config file in an alternate, existing location
callattendant --config myapp.cfg --data-path /var/lib/callattendantيجب أن ترى إخراج النموذج:
Command line options:
--config=app.cfg
--data-path=None
--create-folder=False
[Configuration]
BLOCKED_ACTIONS = ('greeting', 'voice_mail')
BLOCKED_GREETING_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/blocked_greeting.wav
BLOCKED_RINGS_BEFORE_ANSWER = 0
BLOCK_ENABLED = True
BLOCK_NAME_PATTERNS = {'V[0-9]{15}': 'Telemarketer Caller ID'}
BLOCK_NUMBER_PATTERNS = {}
BLOCK_SERVICE = NOMOROBO
CONFIG_FILE = app.cfg
DATABASE = callattendant.db
DATA_PATH = /home/pi/.callattendant
DB_FILE = /home/pi/.callattendant/callattendant.db
DEBUG = False
ENV = production
PERMITTED_ACTIONS = ('greeting', 'record_message')
PERMITTED_GREETING_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/general_greeting.wav
PERMITTED_RINGS_BEFORE_ANSWER = 6
PERMIT_NAME_PATTERNS = {}
PERMIT_NUMBER_PATTERNS = {}
PHONE_DISPLAY_FORMAT = ###-###-####
PHONE_DISPLAY_SEPARATOR = -
ROOT_PATH = /home/pi/.local/lib/python3.7/site-packages/callattendant
SCREENED_ACTIONS = ('greeting', 'record_message')
SCREENED_GREETING_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/general_greeting.wav
SCREENED_RINGS_BEFORE_ANSWER = 0
SCREENING_MODE = ('whitelist', 'blacklist')
TESTING = False
VERSION = 1.1.0
VOICE_MAIL_GOODBYE_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/goodbye.wav
VOICE_MAIL_GREETING_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/general_greeting.wav
VOICE_MAIL_INVALID_RESPONSE_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/invalid_response.wav
VOICE_MAIL_LEAVE_MESSAGE_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/please_leave_message.wav
VOICE_MAIL_MENU_FILE = /home/pi/.local/lib/python3.7/site-packages/callattendant/resources/voice_mail_menu.wav
VOICE_MAIL_MESSAGE_FOLDER = /home/pi/.callattendant/messages
Initializing Modem
Opening serial port
Looking for modem on /dev/ttyACM0
******* Conextant-based modem detected **********
Serial port opened on /dev/ttyACM0
Modem initialized
{MSG LED OFF}
Starting the Flask webapp
Running the Flask server
Waiting for call...
* Serving Flask app "userinterface.webapp" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
قم بإجراء بعض المكالمات لنفسك لاختبار الخدمة. سيظهر الإخراج القياسي تقدم المكالمات. ثم انتقل إلى http://<pi-address>|<pi-hostname>:5000 في متصفح الويب للتغلب على واجهة الويب.
اضغط على ctrl-c لإغلاق النظام
http://<pi-address>|<pi-hostname>:5000 لعرض واجهة الويب ، ما عليك سوى توجيه متصفح الويب الخاص بك إلى المنفذ 5000 على Raspberry Pi. على سبيل المثال ، في متصفح Raspberry Pi الخاص بك ، يمكنك استخدام:
http://localhost:5000/
انظر دليل المستخدم لمزيد من المعلومات.
يمكن التحكم في سلوك مكالمات مكالمة بواسطة ملف تكوين. لتجاوز التكوين الافتراضي ، افتح ~/.callattenant/app.cfg وتعديل محتوياته.
nano ~ /.callattendant/app.cfgثم حدد ملف التكوين والمسار على سطر الأوامر ، على سبيل المثال:
callattendant --config app.cfg
راجع قسم التكوين في ويكي للمشروع لمزيد من المعلومات.