در این بخش به بررسی rtp و همین طور debug کردن آن خواهیم پرداخت.
خیلی وقت ها شده که افراد بر روی مکالمههای خود در SIP، صدایی یک طرفه دارند و دلیل آن را مشکل سخت افزاری گوشی خود میدانند در حالی که مشکل اصلی در واقع در دریافت یا ارسال بستههای rtp میباشد. rtp در واقع پروتکل استفاده شده برای انتقال صدا در کانالهای sip میباشد و چنانچه مشکلی در دریافت و ارسال بستههای rtp صورت گیرد مکالمه به صورت یک طرفه و یا کاملا بدون صدا میشود. این مشکل بیشتر در مواردی اتفاق میافتد که که داخلی خارج از شبکه باشد و پشت NAT قرار گیرد که در این صورت اگر تنظیمات داخلی درست انجام نشده باشد، داخلی بستههای rtp را نمیتواند دریافت کند که باعث یک طرفه شدن صدا میشود. برای مطمئن شدن از ارسال و دریافت بستههای rtp دستور زیر را در کنسول استریسک اجرا کنید.
rtp set debug ip [ip adress]
به دو مثال زیر توجه کنید
ارسال و دریافت بستههای rtp
Got RTP packet from 192.168.1.102:40046 Sent RTP packet to 192.168.1.102:40046 Got RTP packet from 192.168.1.102:40046 Sent RTP packet to 192.168.1.102:40046 Got RTP packet from 192.168.1.102:40046 Sent RTP packet to 192.168.1.102:40046 Got RTP packet from 192.168.1.102:40046 Sent RTP packet to 192.168.1.102:40046
فقط دریافت بستههای rtp
Got RTP packet from 192.168.1.102:40106 Got RTP packet from 192.168.1.102:40106 Got RTP packet from 192.168.1.102:40106 Got RTP packet from 192.168.1.102:40106
خروجی های بالا نشان میدهد که استریسک در مثال اول مشکلی در دریافت و ارسال rtp ندارد در حالی که در مثال دوم فقط میتواند rtp دریافت کند.