Asterisk 在3G 平台上的應用

這裡介紹基於 CentOS 和 Asterisk 1.4.x 上架設 3G Video。我自己是參考了在 51Asterisk的一篇文章來架設自己的 3G Video作測試用途。實際難度不高,但我想這裡為其他細節上加多一兒補充。

設備如下:

AMD Althon dual core CPU

2GB RAM

Asterisk 1.4.21.2

DAHDI 2.4

libpri 14.11.4

CentOS 5.5

chan SS7 1.3

安裝過程

基本上安裝過程中沒有太大的困難。但有幾點心得:

1, compile ffmpeg 時,我是用以下的 configure:

./configure –prefix=/usr –enable-gpl –enable-libgsm –enable-libxvid –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libmp3lame –enable-libvorbis –enable-libfaac –enable-libfaac –enable-shared –enable-nonfree –enable-version3 –disable-yasm

2, 有很多東西是 CentOS 5.5 沒有的。以下是CentOS 上應該需要自行安裝的程式庫:

gsm-1.0.13

libgsm1-1.0.13

lame

xvid

opencore-amr

face-1.28

3, 更改 apps 上的 Makefile:

echo “app_mp4.so: app_mp4.o” >> /usr/src/server/asterisk-1.4.21.2/apps/Makefile
echo ” \$(CC) \$(SOLINK) -o \$@ \${CYGSOLINK} \$< \${CYGSOLIB} -lmp4 -lmp4v2″ >> /usr/src/server/asterisk-1.4.21.2/apps/Makefile

echo “app_transcoder.so: app_transcoder.o” >> /usr/src/server/asterisk-1.4.21.2/apps/Makefile
echo ” \$(CC) \$(SOLINK) -o \$@ \${CYGSOLINK} \$< \${CYGSOLIB} -lavcodec” >> /usr/src/server/asterisk-1.4.21.2/apps/Makefile

echo “app_h324m.so: app_h324m.o” >> /usr/src/server/asterisk-1.4.21.2/apps/Makefile
echo ” \$(CC) \$(SOLINK) -o \$@ \${CYGSOLINK} \$< \${CYGSOLIB} -lh324m” >> /usr/src/server/asterisk-1.4.21.2/apps/Makefile

實際測試

這裡發現有幾個問題:

1, RTSP 只能 resolve IP Address,如果用 FQDN 的話,RTSP 便會接駁不到。如果是真的話這需要改正 RTSP 的 source code 了。

2, mp4play()需要 hint track,如果 mp4 file 沒有 hint track,Asterisk 便不能夠正確讀取 file。

From Asterisk Guru:

mp4 files can have a hint track, which tells the application (e.g.
mp4play) how to split the audio/video tracks into RTP packets. To hint
an mp4 file use “mp4creator” from mpeg4ip tools. For example:

root@samuel:~# mp4info video.3gp
mp4info version 1.5.0.1
video.3gp:
Track Type Info
201 video H.263, 253.240 secs, 34 kbps, 176×144 @ 9.496920 fps
101 audio AMR, 253.260 secs, 13 kbps, 8000 Hz
root@samuel:~# mp4creator -hint=201 video.3gp
root@samuel:~# mp4creator -hint=101 video.3gp
root@samuel:~# mp4info video.3gp
mp4info version 1.5.0.1
video.3gp:
Track Type Info
201 video H.263, 253.240 secs, 34 kbps, 176×144 @ 9.496920 fps
101 audio AMR, 253.260 secs, 13 kbps, 8000 Hz
65436 hint Payload H263-2000 for track 201
65437 hint Payload AMR for track 101

3, 用 SIP client 測試和用 E1 測試是有分別的。但暫時用 x-lite 測試 mp4play 也 OK。但我暫時未找到方法可以測試 mp4save()。

4, MP4Save() 只可以錄音,不能錄影。

5, 要找一條 E1 SS7 測試 H.324。

Tags:

3 comments for “Asterisk 在3G 平台上的應用

  1. November 8, 2010 at 10:03 PM

    实际上不需要E1/ss7线路,可以用一片2E1卡片来环路。
    MP4Save也可以用sip client测试的,用xlite可以。必须有摄像头,且能够和xlite匹配。

  2. November 9, 2010 at 2:36 AM

    我現在手上只有一只 Digium 110 而已。要試的話便要找多一只或弄一只 2E1了。

    我現在是用 xlite 4 的。已經配備了 camera。mp4play 完全沒有問題。但是 mp4save錄不到聲音影像。不知道是否 codec 的問題。還在查證中。

  3. admin
    November 11, 2010 at 2:05 AM

    用 xlite 作測試 video call。成功了。

Leave a Reply