GAMMU-SMSDRC(5) Gammu GAMMU-SMSDRC(5)

gammu-smsdrc - پرونده پیکربندی دیمن پیامک گامو

دستور gammu-smsd پیکربندی را از یک پرونده پیکربندی می‌خواند. مکان آن می‌تواند در خط فرمان مشخص شود، در غیر این صورت از مسیر پیش‌فرض /etc/gammu-smsdrc استفاده می‌شود.

این پرونده از ساختار پرونده‌های ini استفاده می‌کند، قالب پرونده INI <#ini> را ببینید.

پرونده پیکربندی gammu-smsd حداقل از دو بخش تشکیل شده است - [gammu] <#section-[gammu]> و [smsd]. برای سرویس اس‌کیوال <#gammu-smsd-sql> همچنین می‌توانید از [sql] و [tables] استفاده کنید.

بخش [gammu] <#section-[gammu]> پیکربندی اتصال گوشی است و همان‌گونه است که در پرونده پیکربندی گامو <#gammurc> شرح داده شده است، با این استثنا که LogFile نادیده گرفته شده و ثبت گزارش مشترک برای کتابخانه gammu و دیمن پیامک استفاده می‌شود. با این حال دستورالعمل LogFormat <#option-LogFormat> همچنان مشخص می‌کند که gammu چه مقدار پیام تولید کند.

[smsd]
بخش [smsd] خود دیمن پیامک را پیکربندی می‌کند، که در زیربخش‌های بعدی شرح داده شده‌اند. ابتدا پارامترهای عمومی دیمن پیامک فهرست شده‌اند و سپس پارامترهای خاص برای پشتیبان‌های ذخیره‌سازی می‌آیند.
[include_numbers]
فهرستی از شماره‌هایی که پیام‌های آن‌ها پذیرفته می‌شود، فیلتر کردن پیام‌ها را ببینید.
[exclude_numbers]
فهرستی از شماره‌هایی که پیام‌های آن‌ها رد می‌شود، فیلتر کردن پیام‌ها را ببینید.
[include_smsc]
فهرستی از شماره‌های SMSC که پیام‌های آن‌ها پذیرفته می‌شود، فیلتر کردن پیام‌ها را ببینید.
[exclude_smsc]
فهرستی از شماره‌های SMSC که پیام‌های آن‌ها رد می‌شود، فیلتر کردن پیام‌ها را ببینید.
[sql]
پرس‌وجوهای SQL استفاده شده توسط سرویس اس‌کیوال <#gammu-smsd-sql> را پیکربندی می‌کند؛ معمولاً نیازی به تغییر آن‌ها ندارید.

همچنین ببینید:

پرس‌وجوهای قابل پیکربندی <#configurable-queries>
[tables]
نام جدول‌های SQL استفاده شده توسط سرویس اس‌کیوال <#gammu-smsd-sql> را پیکربندی می‌کند؛ معمولاً نیازی به تغییر آن‌ها ندارید.

همچنین ببینید:

جدول‌ها <#configurable-tables>

سرویس SMSD برای استفاده، یکی از گزینه‌های زیر:
پیام‌ها را در پرونده‌ها ذخیره می‌کند، برای جزئیات پشتیبان Files <#gammu-smsd-files> را ببینید.
پیام‌ها را اصلاً ذخیره نمی‌کند، برای جزئیات پشتیبان Null <#gammu-smsd-null> را ببینید.
SQL
پیام‌ها را در پایگاه‌داده SQL ذخیره می‌کند، برای جزئیات سرویس اس‌کیوال <#gammu-smsd-sql> را ببینید؛ نوع پایگاه‌داده مورد استفاده را با Driver انتخاب کنید.

اضافه شده در نگارش 1.28.93.

منسوخ شده از نگارش 1.28.93: به جای آن از Service = SQL و Driver = native_mysql استفاده کنید.

گزینه سازگاری برای پرونده‌های پیکربندی قدیمی‌تر؛ پیام‌ها را در پایگاه‌داده MySQL ذخیره می‌کند، برای جزئیات پشتیبان MySQL <#gammu-smsd-mysql> را ببینید.

منسوخ شده از نگارش 1.28.93: به جای آن از Service = SQL و Driver = native_pgsql استفاده کنید.

گزینه سازگاری برای پرونده‌های پیکربندی قدیمی‌تر؛ پیام‌ها را در پایگاه‌داده PostgreSQL ذخیره می‌کند، برای جزئیات پشتیبان PostgreSQL <#gammu-smsd-pgsql> را ببینید.

منسوخ شده از نگارش 1.28.93: به جای آن از Service = SQL و Driver = DBI driver استفاده کنید.

گزینه سازگاری برای پرونده‌های پیکربندی قدیمی‌تر؛ پیام‌ها را در هر پایگاه‌داده‌ای که توسط libdbi پشتیبانی شود ذخیره می‌کند، برای جزئیات پشتیبان DBI <#gammu-smsd-dbi> را ببینید.

نکته:

دسترس‌پذیری پشتیبان‌ها به بستر و پیکربندی زمان کامپایل بستگی دارد.
کد PIN برای سیم‌کارت. این گزینه اختیاری است، اما اگر گوشی شما پس از روشن شدن به PIN نیاز دارد باید آن را تنظیم کنید.
گذرواژه شخصی‌سازی شبکه. این گزینه اختیاری است، اما برخی تلفن‌ها پس از روشن شدن به آن نیاز دارند.
گذرواژه قفل تلفن. این گزینه اختیاری است، اما برخی تلفن‌ها پس از روشن شدن به آن نیاز دارند.
پرونده‌ای که در آن کنش‌های SMSD ثبت می‌شوند. همچنین می‌توانید از مقدار ویژه syslog استفاده کنید که تمام پیام‌ها را به دیمن syslog می‌فرستد. در ویندوز مقدار ویژه دیگری به نام eventlog وجود دارد که گزارش‌ها را به Windows Event Log می‌فرستد.

اگر SMSD را به عنوان یک دیمن سیستمی (یا سرویس) اجرا می‌کنید، توصیه می‌شود از مسیر مطلق برای پرونده گزارش استفاده کنید زیرا پوشه راه‌اندازی ممکن است با آنچه انتظار دارید متفاوت باشد.

پیش‌فرض بدون ثبت گزارش است.

نکته:

برای ثبت گزارش در Windows Event Log، توصیه می‌شود منبع Event Log را با فراخوانی gammu-smsd -e نصب کنید (این کار در طول نصب Gammu به طور خودکار انجام می‌شود).
فسیلیتی (Facility) مورد استفاده در پشتیبان‌های ثبت گزارش که از آن پشتیبانی می‌کنند (در حال حاضر فقط syslog). یکی از گزینه‌های زیر:
  • DAEMON (پیش‌فرض)
  • USER
  • LOCAL0
  • LOCAL1
  • LOCAL2
  • LOCAL3
  • LOCAL4
  • LOCAL5
  • LOCAL6
  • LOCAL7

اضافه شده در نگارش 1.30.91.

سطح اشکال‌زدایی برای SMSD. مقدار عددی صحیح باید مجموع تمام پرچم‌هایی باشد که می‌خواهید فعال کنید.
1
اطلاعات اولیه اشکال‌زدایی را فعال می‌کند
2
ثبت پرس‌وجوهای SQL پشتیبان‌های سرویس را فعال می‌کند
4
ثبت اطلاعات اشکال‌زدایی gammu را فعال می‌کند

به‌طور کلی برای دریافت بیشترین اطلاعات اشکال‌زدایی ممکن، از 255 استفاده کنید.

پیش‌فرض 0 است، که به معنای عدم ارائه اطلاعات اضافی است.

تعداد ثانیه‌هایی که SMSD پس از خالی بودن صندوق خروجی منتظر می‌ماند پیش از آنکه دوباره آن را پویش کند.

پیش‌فرض 30 است.

نشان می‌دهد که SMSD هنگام ارسال پیامک چند ثانیه باید منتظر پاسخ شبکه بماند. اگر در این مدت اتفاقی نیفتد، پیامک دوباره ارسال خواهد شد.

پیش‌فرض 30 است.

چند بار SMSD در صورت شکست در ارسال پیام، تلاش مجدد خواهد کرد. این مورد برای هر پیام جداگانه ردیابی می‌شود و در حال حاضر تنها با پشتیبان‌های SQL پشتیبانی می‌شود.

پیش‌فرض 1 است.

مدت زمان انتظار پیش از ارسال مجدد پیام ناموفق (باید توسط MaxRetries فعال شده باشد).

در update_retries <#option-update_retries> استفاده می‌شود.

پیش‌فرض 600 است.

تعداد ثانیه‌های بین بررسی دریافت پیامک‌های جدید، زمانی که گوشی مشغول ارسال پیامک است. به طور معمول بررسی پیامک‌های دریافتی هر CommTimeout ثانیه و پس از ارسال هر پیامک انجام می‌شود.

پیش‌فرض 15 است.

تعداد ثانیه‌های بین به‌روزرسانی وضعیت تلفن (باتری، سیگنال) ذخیره‌شده در حافظه مشترک و احتمالاً در پشتیبان‌های سرویس. برای غیرفعال کردن از 0 استفاده کنید.

شاید بخواهید برای بازدهی بالاتر این مقدار را افزایش دهید.

پیش‌فرض 60 است.

تعداد ثانیه‌هایی که SMSD پیش از بررسی فعالیت‌ها به خواب می‌رود. لطفاً توجه داشته باشید که تنظیم این مقدار روی عددی بزرگ‌تر از 1 بر سایر پیکربندی‌های مبتنی بر زمان تأثیر خواهد گذاشت، زیرا آن‌ها عملاً به مضربی از این مقدار گرد خواهند شد.

تنظیم این گزینه روی 0 حالت خواب را غیرفعال می‌کند. لطفاً توجه داشته باشید که این کار ممکن است باعث مصرف توان پردازنده زیادی توسط Gammu شود زیرا در عمل یک حلقه مشغول (busy loop) انجام می‌دهد.

این خواب فقط در صورتی استفاده می‌شود که حلقه اصلی (ارسال و دریافت پیام‌ها) کمتر از زمان تعریف‌شده طول بکشد. به عنوان مثال اگر LoopSleep را روی 5 ثانیه تنظیم کنید و ارسال پیام‌ها 10 ثانیه طول بکشد، در تکراری که مشغول ارسال پیام است هیچ خوابی انجام نخواهد شد. همچنین مدت زمان خواب به میزان زمان از پیش پردازش‌شده کاهش می‌یابد.

پیش‌فرض 1 است.

تعداد ثانیه‌هایی که SMSD برای رسیدن تمام بخش‌های یک پیام چندبخشی منتظر می‌ماند. اگر تمام بخش‌ها به موقع نرسند، بخش‌ها به عنوان پیام‌های جداگانه پردازش خواهند شد.

پیش‌فرض 600 (۱۰ دقیقه) است.

آیا بررسی شود که آیا تلفن نیاز به وارد کردن PIN دارد یا خیر.

پیش‌فرض 1 (فعال) است.

اضافه شده در نگارش 1.34.0.

آیا تماس‌های ورودی به طور خودکار قطع شوند یا خیر.

پیش‌فرض 0 (غیرفعال) است.

آیا وضعیت باتری تلفن به صورت دوره‌ای بررسی شود یا خیر.

پیش‌فرض 1 (فعال) است.

آیا سطح سیگنال به صورت دوره‌ای بررسی شود یا خیر.

پیش‌فرض 1 (فعال) است.

اضافه شده در نگارش 1.37.90.

آیا وضعیت شبکه به صورت دوره‌ای بررسی شود یا خیر.

اگر گزارش شود تلفن در شبکه نیست، SMSD تلاش می‌کند آن را روشن کند.

پیش‌فرض 1 (فعال) است.

تعداد ثانیه‌های بین انجام بازنشانی نرم‌افزاری پیشگیرانه به منظور به حداقل رساندن موارد قفل شدن تلفن‌ها؛ برای مثال Nokia 5110 گاهی در حالتی فریز می‌شود که تنها پس از خارج کردن باتری دوباره کار خواهد کرد.

پیش‌فرض 0 (استفاده نمی‌شود) است.

اضافه شده در نگارش 1.28.92.

هشدار:

برای برخی تلفن‌ها، بازنشانی سخت‌افزاری به معنی حذف تمامی داده‌های درون آن است. مگر اینکه دقیقاً بدانید چه کار می‌کنید، به جای آن از ResetFrequency استفاده کنید.

تعداد ثانیه‌های بین انجام بازنشانی سخت‌افزاری پیشگیرانه به منظور به حداقل رساندن موارد قفل شدن تلفن‌ها.

پیش‌فرض 0 (استفاده نمی‌شود) است.

آیا گزارش تحویل استفاده شود یا خیر، یکی از گزینه‌های no، log، sms.
ثبت یک خط در پرونده گزارش،
ذخیره در صندوق ورودی به عنوان یک پیامک دریافتی
بدون گزارش تحویل

پیش‌فرض no است.

تأخیر بر حسب ثانیه که در طول آن گزارش تحویل هنوز معتبر تلقی می‌شود. این مورد به نقص‌های شبکه شما بستگی دارد (گزارش تحویل باید برچسب زمانی یکسانی با پیام ارسال‌شده داشته باشد). اگر گزارش‌های تحویل با پیام‌های ارسالی جفت نمی‌شوند، این مقدار را افزایش دهید.

پیش‌فرض 600 (۱۰ دقیقه) است.

رشته‌ای حاوی اطلاعات درباره تلفن مورد استفاده برای ارسال/دریافت. این می‌تواند مفید باشد اگر بخواهید چندین دیمن پیامک را اجرا کنید (چندین مودم را ببینید).

هنگامی که PhoneID را تنظیم می‌کنید، تمام پیام‌ها (از جمله پیام‌های تزریق‌شده) با این رشته علامت‌گذاری می‌شوند (در پایگاه‌داده به عنوان SenderID ذخیره می‌شود) و این امکان را می‌دهد که چندین دیمن پیامک یک پایگاه‌داده مشترک داشته باشند.

در این حالت دیمن SMSD پیام‌های صندوق خروجی <#outbox> را تنها با SenderID منطبق یا خالی ارسال خواهد کرد.

این گزینه عملاً بر پشتیبان Files <#gammu-smsd-files> تأثیری ندارد.

اضافه شده در نگارش 1.36.2.

شماره SMSC مورد استفاده برای ارسال پیام‌ها در صورتی که در پیام مشخص نشده باشد (گزینه‌های gammu-smsd-inject <#gammu-smsd-inject> را ببینید).

در بیشتر موارد به این تنظیم نیاز ندارید زیرا Gammu تلاش می‌کند SMSC صحیح را از تلفن بخواند، اما گاهی این کار با شکست مواجه می‌شود (دستور gammu getsmsc را امتحان کنید).

برنامه‌ای را پس از دریافت پیام اجرا می‌کند.

این پارامتر از طریق پوسته اجرا می‌شود، بنابراین ممکن است لازم باشد برخی نویسه‌های ویژه را اسکیپ کنید و می‌توانید هر تعداد پارامتری را بگنجانید. علاوه بر این، پارامترهایی با شناسه‌های پیام‌های دریافتی به انتهای خط فرمان اضافه می‌شوند. شناسه‌ها به پشتیبان سرویس مورد استفاده بستگی دارند؛ معمولاً شناسه سطر درج‌شده برای پشتیبان‌های پایگاه‌داده یا نام پرونده برای پشتیبان‌های مبتنی بر پرونده است.

دیمن Gammu SMSD منتظر پایان یافتن اسکریپت می‌ماند. اگر کار زمان‌بری در آنجا انجام دهید، باعث می‌شود SMSD پیام‌های جدید را دریافت نکند. با این حال برای محدود کردن اختلال ناشی از این وضعیت، زمان انتظار به دو دقیقه محدود شده است. پس از این زمان، SMSD به عملکرد عادی خود ادامه می‌دهد و ممکن است اسکریپت شما را دوباره اجرا کند.

این فرآیند اطلاعات زیادی درباره پیام دریافتی در متغیرهای محیطی در دسترس دارد، برای جزئیات بیشتر دستورالعمل RunOnReceive <#gammu-smsd-run> را بررسی کنید.

اضافه شده در نگارش 1.28.93.

برنامه‌ای را هنگام بروز خطا اجرا می‌کند.

این می‌تواند برای واکنش پیشگیرانه به برخی خطاها یا برای تشخیص تعاملی خطای ارسال پیام استفاده شود.

این برنامه یک پارامتر اختیاری دریافت خواهد کرد که در حال حاضر می‌تواند INIT (به معنی خطا در راه‌اندازی اولیه تلفن) یا شناسه پیام باشد، که نشان‌دهنده خطا در حین ارسال پیام است.

نکته:

محیط حاوی اطلاعات پیام (همان‌طور که در RunOnReceive وجود دارد) به دستور ارسال نمی‌شود.
اضافه شده در نگارش 1.36.4.

برنامه‌ای را پس از ارسال پیام اجرا می‌کند.

این برنامه یک پارامتر اختیاری شامل شناسه پیام و محیط حاوی جزئیات پیام را همان‌گونه که در دستورالعمل RunOnReceive <#gammu-smsd-run> شرح داده شده، دریافت خواهد کرد.

اضافه شده در نگارش 1.38.5.

برنامه‌ای را پس از قطع کردن تماس ورودی اجرا می‌کند.

این برنامه پارامتری حاوی شماره تلفن تماس را دریافت خواهد کرد. این نیازمند فعال بودن HangupCalls است.

پرونده‌ای شامل فهرست شماره‌هایی که توسط SMSD پذیرفته می‌شوند. این پرونده در هر خط شامل یک شماره است، خطوط خالی نادیده گرفته می‌شوند. پرونده در زمان راه‌اندازی خوانده می‌شود و تنها زمانی دوباره خوانده می‌شود که پیکربندی مجدداً بارگذاری شود. برای جزئیات، فیلتر کردن پیام‌ها را ببینید.
پرونده‌ای شامل فهرست شماره‌هایی که توسط SMSD پذیرفته نمی‌شوند. این پرونده در هر خط شامل یک شماره است، خطوط خالی نادیده گرفته می‌شوند. پرونده در زمان راه‌اندازی خوانده می‌شود و تنها زمانی دوباره خوانده می‌شود که پیکربندی مجدداً بارگذاری شود. برای جزئیات، فیلتر کردن پیام‌ها را ببینید.
پرونده‌ای شامل فهرست شماره‌های SMSC که توسط SMSD پذیرفته می‌شوند. این پرونده در هر خط شامل یک شماره است، خطوط خالی نادیده گرفته می‌شوند. پرونده در زمان راه‌اندازی خوانده می‌شود و تنها زمانی دوباره خوانده می‌شود که پیکربندی مجدداً بارگذاری شود. برای جزئیات، فیلتر کردن پیام‌ها را ببینید.
پرونده‌ای شامل فهرست شماره‌های SMSC که توسط SMSD پذیرفته نمی‌شوند. این پرونده در هر خط شامل یک شماره است، خطوط خالی نادیده گرفته می‌شوند. پرونده در زمان راه‌اندازی خوانده می‌شود و تنها زمانی دوباره خوانده می‌شود که پیکربندی مجدداً بارگذاری شود. برای جزئیات، فیلتر کردن پیام‌ها را ببینید.
چند بار پشتیبان SMSD عملیات را دوباره امتحان کند.

پیاده‌سازی در پشتیبان‌های مختلف متفاوت است، برای پشتیبان‌های پایگاه‌داده عموماً به معنای چند بار تلاش برای اتصال مجدد به کارساز است.

پیش‌فرض 10 است.

اضافه شده در نگارش 1.28.91.

آیا ارسال پیام‌ها فعال باشد یا خیر.

پیش‌فرض True است.

اضافه شده در نگارش 1.28.91.

آیا دریافت پیام‌ها فعال باشد یا خیر.

پیش‌فرض True است.

تمامی پشتیبان‌های DBI، ODBC، MYSQL و PGSQL (برای مستندات آن‌ها پشتیبان MySQL <#gammu-smsd-mysql>، پشتیبان ODBC <#gammu-smsd-odbc>، پشتیبان PostgreSQL <#gammu-smsd-pgsql> و پشتیبان DBI <#gammu-smsd-dbi> را ببینید) از گزینه‌های یکسانی برای پیکربندی اتصال به پایگاه‌داده پشتیبانی می‌کنند:

نام کاربری مورد استفاده برای اتصال به پایگاه‌داده.
گذرواژه مورد استفاده برای اتصال به پایگاه‌داده.
نشانی کارساز پایگاه‌داده. همچنین می‌تواند شامل درگاه یا مسیر سوکت پس از دونقطه باشد، برای مثال localhost:/path/to/socket یا 192.168.1.1:8000.

برای ODBC این گزینه به عنوان نام منبع داده (Data source name) استفاده می‌شود.

نکته:

برخی کارسازهای پایگاه‌داده بین استفاده از localhost (برای استفاده از سوکت محلی) و 127.0.0.1 (برای استفاده از اتصال TCP/IP محلی) تفاوت قائل می‌شوند. لطفاً مطمئن شوید که تنظیمات SMSD شما با تنظیمات کارساز پایگاه‌داده مطابقت دارد.

اضافه شده در نگارش 1.28.92.

منسوخ شده از نگارش 1.28.92: لطفاً به جای آن از Host استفاده کنید.

مترادفی برای Host است که برای سازگاری با گذشته نگه داشته شده است.

نام پایگاه‌داده (یا طرح‌واره) برای استفاده و جایی که SMSD می‌تواند جدول‌های خود را در آن بیابد.

لطفاً توجه داشته باشید که باید قبل از استفاده از gammu-smsd جدول‌ها را در این پایگاه‌داده ایجاد کنید. پرونده‌های SQL برای ایجاد جدول‌های مورد نیاز در مستندات پشتیبان‌های منفرد پایگاه‌داده گنجانده شده‌اند: پشتیبان MySQL <#gammu-smsd-mysql>، پشتیبان ODBC <#gammu-smsd-odbc>، پشتیبان PostgreSQL <#gammu-smsd-pgsql>، پشتیبان DBI <#gammu-smsd-dbi>

هنگامی که از برخی مراکز پیامک، پیام ارسال می‌کنید ممکن است گزارش‌های تحویل را از شماره SMSC دیگری دریافت کنید. می‌توانید در اینجا شماره این SMSC مورد استفاده خود را تنظیم کنید و Gammu شماره آن را هنگام اختصاص گزارش‌ها به پیامک‌های ارسالی بررسی نخواهد کرد.
درایور SQL مورد استفاده، Gammu از چندین درایور بومی و رابط عمومی با استفاده از ODBC و DBI پشتیبانی می‌کند. در دسترس بودن پشتیبان‌ها به گزینه‌های زمان کامپایل بستگی دارد.

درایورهای موجود:

odbc

با استفاده از ODBC به پایگاه‌داده متصل می‌شود، پشتیبان ODBC <#gammu-smsd-odbc> را ببینید.

native_mysql

پیام‌ها را در پایگاه‌داده MySQL ذخیره می‌کند، برای جزئیات پشتیبان MySQL <#gammu-smsd-mysql> را ببینید.

native_pgsql

پیام‌ها را در پایگاه‌داده PostgreSQL ذخیره می‌کند، برای جزئیات پشتیبان PostgreSQL <#gammu-smsd-pgsql> را ببینید.

db2, firebird, freetds, ingres, msql, mysql, oracle, pgsql, sqlite, sqlite3

پیام‌ها را با استفاده از کتابخانه DBI در پشتیبان مشخص‌شده ذخیره می‌کند. برای این که کار کند باید درایور DBI مناسب را نصب کرده باشید. برای جزئیات پشتیبان DBI <#gammu-smsd-dbi> را ببینید.
گویش SQL مورد استفاده. این گزینه به‌ویژه با پشتیبان ODBC <#gammu-smsd-odbc> مفید است که در آن SMSD دقیقاً نمی‌داند با چه کارسازی صحبت می‌کند.

مقادیر ممکن:

  • mysql - MySQL
  • pgsql - PostgreSQL
  • sqlite - SQLite
  • mssql - Microsoft SQL Server
  • sybase - Sybase
  • access - Microsoft Access
  • oracle - Oracle
  • odbc - Generic ODBC

اضافه شده در نگارش 1.28.93.

همچنین ببینید:

همچنین می‌توانید پرس‌وجوهای SQL مورد استفاده را همان‌طور که در پرس‌وجوهای SQL <#sql-queries> شرح داده شده کاملاً سفارشی کنید.
مسیری که درایورهای DBI در آن ذخیره شده‌اند؛ این مورد معمولاً در صورت نصب صحیح درایورها نیازی به تنظیم ندارد.
دایرکتوری پایگاه‌داده برای برخی از درایورهای DBI (در حال حاضر فقط sqlite). در اینجا مسیری را تنظیم کنید که پرونده‌های پایگاه‌داده sqlite در آن ذخیره می‌شوند.

پشتیبان FILES گزینه‌های پیکربندی زیر را می‌پذیرد. برای شرح دقیق‌تر پشتیبان سرویس، پشتیبان Files <#gammu-smsd-files> را ببینید. لطفاً توجه داشته باشید که تمام مسیرها باید حاوی جداکننده پایانی مسیر باشند (/ در سیستم‌های یونیکس):

جایی که پیامک‌های دریافتی ذخیره می‌شوند.

پیش‌فرض دایرکتوری جاری است.

جایی که پیامک‌های ارسالی باید در آن قرار گیرند.

پیش‌فرض دایرکتوری جاری است.

جایی که پیامک‌های ارسال‌شده قرار می‌گیرند؛ اگر با OutboxPath یکسان باشد، پیام‌های منتقل‌شده حذف می‌شوند.

پیش‌فرض حذف پیام‌های ارسال‌شده است.

جایی که پیامک‌های دارای خطا در ارسال قرار می‌گیرند.

پیش‌فرض همان SentSMSPath است.

قالبی که در آن پیامک ذخیره خواهد شد: detail، unicode، standard.
قالب مورد استفاده برای پشتیبان‌گیری پیام توسط ابزار Gammu <#gammu>، قالب پشتیبان‌گیری پیامک <#gammu-smsbackup> را ببینید.
متن پیام ذخیره‌شده به صورت یونیکد (UTF-16)
متن پیام ذخیره‌شده در مجموعه نویسه سیستم

تنظیمات standard و unicode برای پیام‌های ۸ بیتی اعمال نمی‌شوند؛ آن‌ها همیشه به صورت خام همان‌طور که با پسوند .bin دریافت شده‌اند نوشته می‌شوند.

پیش‌فرض unicode است.

نکته:

در قالب detail، تمام بخش‌های پیام در یک پرونده واحد ذخیره می‌شوند؛ برای بقیه، هر بخش پیام به طور جداگانه ذخیره می‌شود.
قالبی که در آن پیام‌های ایجادشده توسط gammu-smsd-inject <#gammu-smsd-inject> ذخیره خواهند شد؛ مقادیر مشابه با InboxFormat را می‌پذیرد.

اگر Gammu همراه با توابع پشتیبان‌گیری کامپایل شده باشد، پیش‌فرض detail است؛ در غیر این صورت unicode است.

قالب برای ارسال پیامک: auto، unicode، 7bit.

این گزینه تنها در صورتی استفاده می‌شود که OutboxFormat روی detail تنظیم نشده باشد. در چنین حالتی از کدگذاری مشخص‌شده در پیام استفاده می‌شود (می‌توانید آن را به gammu-smsd-inject <#gammu-smsd-inject> مشخص کنید).

پیش‌فرض auto است.

دیمن SMSD امکان می‌دهد تنها زیرمجموعه محدودی از پیام‌های ورودی پردازش شوند. می‌توانید فیلترهایی را برای شماره فرستنده در بخش‌های [include_numbers] و [exclude_numbers] یا با استفاده از دستورالعمل‌های IncludeNumbersFile و ExcludeNumbersFile تعریف کنید.

اگر بخش [include_numbers] وجود داشته باشد، تمام مقادیر آن (کلیدها نادیده گرفته می‌شوند) به عنوان شماره‌های تلفن مجاز استفاده می‌شوند و هیچ پیام دیگری پردازش نمی‌شود. از سوی دیگر، در [exclude_numbers] می‌توانید شماره‌هایی را مشخص کنید که می‌خواهید نادیده گرفته شوند.

فهرست‌های هر دو منبع با یکدیگر ادغام می‌شوند. اگر شماره‌ای در فهرست include وجود داشته باشد، تنها فهرست include استفاده می‌شود و فقط پیام‌های موجود در این فهرست پذیرفته می‌شوند. اگر فهرست include خالی باشد، فهرست exclude می‌تواند برای نادیده گرفتن پیام‌های برخی شماره‌ها استفاده شود. اگر هر دو فهرست خالی باشند، همه پیام‌ها پذیرفته می‌شوند.

قوانین فیلتر مشابهی را می‌توان برای فیلتر کردن شماره SMSC استفاده کرد؛ آن‌ها فقط از مجموعه متفاوتی از گزینه‌های پیکربندی استفاده می‌کنند - بخش‌های [include_smsc] و [exclude_smsc] یا دستورالعمل‌های IncludeSMSCFile و ExcludeSMSCFile.

مثال کامل‌تری در مستندات Gammu موجود است. لطفاً توجه داشته باشید که برای سادگی، مثال‌های زیر شامل بخش [gammu] <#section-[gammu]> نیستند؛ می‌توانید برای دیدن نمونه‌هایی از نحوه پیکربندی آن به پرونده پیکربندی گامو <#gammurc> نگاه کنید.

پرونده پیکربندی SMSD برای پشتیبان FILES می‌تواند شبیه به این باشد:

[smsd]
Service = files
PIN = 1234
LogFile = syslog
InboxPath = /var/spool/sms/inbox/
OutboxPath = /var/spool/sms/outbox/
SentSMSPath = /var/spool/sms/sent/
ErrorSMSPath = /var/spool/sms/error/

اگر می‌خواهید از پشتیبان MYSQL استفاده کنید، به چیزی شبیه به این نیاز خواهید داشت:

[smsd]
Service = sql
Driver = native_mysql
PIN = 1234
LogFile = syslog
User = smsd
Password = smsd
PC = localhost
Database = smsd

برای پشتیبان DBI <#gammu-smsd-dbi>، در این مورد خاص SQLite:

[smsd]
Service = sql
Driver = sqlite3
DBDir = /var/lib/sqlite3
Database = smsd.db

برای پشتیبان ODBC <#gammu-smsd-odbc>، در این مورد خاص با استفاده از کارساز DSN با نام smsd:

[smsd]
Service = sql
Driver = odbc
Host = smsd

تعریف DSN (در ~/.odbc.ini در یونیکس) برای استفاده از کارساز MySQL به شکل زیر خواهد بود:

[smsd]
Description         = MySQL
Driver              = MySQL
Server              = 127.0.0.1
Database            = smsd
Port                =
Socket              =
Option              =
Stmt                =
[smsdsuse]
Driver              = MySQL ODBC 3.51.27r695 Driver
DATABASE            = smsd
SERVER              = 127.0.0.1

تنها پردازش پیام‌های ارسالی از شماره 123456:

[include_numbers]
number1 = 123456

عدم پردازش پیام‌های ارسالی از شماره ناخواسته 666:

[exclude_numbers]
number1 = 666

فعال‌سازی اشکال‌زدایی:

[smsd]
debuglevel = 255
logfile = smsd.log

شما می‌توانید هر تعداد نمونه SMSD را اجرا کنید و آن‌ها حتی می‌توانند از یک پایگاه‌داده پشتیبان مشترک استفاده کنند. برای مسیریابی پیام‌ها، باید برای هر نمونه یک PhoneID متفاوت تنظیم کنید و ستون SenderID را در جدول صندوق خروجی <#outbox> مقداردهی نمایید.

مثال زیر پیکربندی دو مودم را نشان می‌دهد، اما شما می‌توانید هر تعداد نمونه SMSD داشته باشید. تنها محدودیت، عملکرد سخت‌افزار شما است، به ویژه اگر همه مودم‌ها با استفاده از USB متصل شده باشند.

پیکربندی برای اولین SMSD:

[gammu]
device = /dev/ttyACM0
connection = at
[smsd]
Service = sql
Driver = native_mysql
PIN = 1234
LogFile = syslog
User = smsd
Password = smsd
PC = localhost
Database = smsd
PhoneID = first

پیکربندی برای دومین SMSD:

[gammu]
device = /dev/ttyACM1
connection = at
[smsd]
Service = sql
Driver = native_mysql
PIN = 1234
LogFile = syslog
User = smsd
Password = smsd
PC = localhost
Database = smsd
PhoneID = second

سپس می‌توانید دو نمونه جداگانه از SMSD را راه‌اندازی کنید:

gammu-smsd -c /path/to/first-smsdrc
gammu-smsd -c /path/to/second-smsdrc

Michal Čihař <michal@cihar.com>

2009-2015, Michal Čihař <michal@cihar.com>

February 9, 2026 1.43.2