codecs g723 และ g729 ที่จะทำการติดตั้งต่อไปนี้เป็นแบบฟรีนะครับจากเว็บ
asterisk.hosting.lv/ ซึ่งจะมีการติดตั้งง่ายๆดังต่อปีนี้
การติดตั้งจะให้ง่ายก็โดยการเลือกดาวน์โหลดโมดูลที่มีการคอมไพล์ไว้แล้วตามชนิดของ CPU และเวอร์ชันของโปรแกรม Asterisk ที่ใช้งานอยู่
1 ดูว่าใช้ CPU อะไรอยู่ได้จากคำสั่ง
| Code: |
# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
stepping : 10
cpu MHz : 1995.056
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe
nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr lahf_lm
bogomips : 3991.70
|
จากคำสั่งข้างต้นจะได้ชนิดของซีพียูที่ใช้เป็น Xeon
2 ดูว่าใช้ Asterisk เวอร์ชันอะไร โดยการสั่ง asterisk -rvvvv
| Code: |
# asterisk -rvvvv
Asterisk 1.4.26.1, Copyright (C) 1999 - 2008 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
|
และใช้ Asterisk เวอร์ชั่น 1.4.26.1 จากข้อมูลนี้เราก็ไปเลือกดาวน์โหลดโมดูลที่เหมาะสมกับระบบของเรา ดูรายละเอียดเรื่องซีพียูได้จากลิ้งค์นี้
asterisk.hosting.lv/#notes
ผมเลือกใช้เป็นโมดูลสำหรับ Core2 แทนโดยการเลือกใช้ไฟล์ codec_g729-ast14-gcc4-glibc-core2.so
3 ทำการดาวน์โหลด codec_g729-ast14-gcc4-glibc-core2.so
| Code: |
# wget http://asterisk.hosting.lv/bin/codec_g729-ast14-gcc4-glibc-core2.so
|
ได้ไฟล์มาแล้วเปลี่ยนชื่อไฟล์ เป็น codec_g729.so แล้วเอาไปไว้ที่ /usr/lib/asterisk/modules
| Code: |
# mv codec_g729-ast14-gcc4-glibc-core2.so codec_g729.so
# mv codec_g729.so /usr/lib/asterisk/modules
|
จากนี้เข้าสู่ Asterisk CLI แล้วตรวจสอบการใช้งานcodecs ด้วยคำสั่ง core show translation
| Code: |
*CLI> core show translation
Translation times between formats (in milliseconds) for one second of data
Source Format (Rows) Destination Format (Columns)
g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g722
g723 - - - - - - - - - - - - -
gsm - - 2 2 2 2 1 3 - 12 - 2 2
ulaw - 2 - 1 2 2 1 3 - 12 - 2 2
alaw - 2 1 - 2 2 1 3 - 12 - 2 2
g726aal2 - 2 2 2 - 2 1 3 - 12 - 1 2
adpcm - 2 2 2 2 - 1 3 - 12 - 2 2
slin - 1 1 1 1 1 - 2 - 11 - 1 1
lpc10 - 2 2 2 2 2 1 - - 12 - 2 2
g729 - - - - - - - - - - - - -
speex - 2 2 2 2 2 1 3 - - - 2 2
ilbc - - - - - - - - - - - - -
g726 - 2 2 2 1 2 1 3 - 12 - - 2
g722 - 2 2 2 2 2 1 3 - 12 - 2 -
|
ในแนวตั้งและแนวนอนที่เห็นเป็น - นั้นแสดงว่ายังไม่สามารถใช้งาน codecs นั้นได้ ให้เราโหลด codec ที่เราเพิ่งเพิ่มเข้าไปใหม่ด้วยคำสั่ง load codec_g729.so
| Code: |
*CLI> load codec_g729.so
The 'load' command is deprecated and will be removed in a future release. Please use 'module load' instead.
== Registered translator 'g729tolin' from format g729 to slin, cost 1
== Registered translator 'lintog729' from format slin to g729, cost 3
Loaded codec_g729.so => (g729 Coder/Decoder, based on IPP)
|
หลังจากสั่ง load codec_g729.so แล้วสั่ง core show translation เพื่อดูการใช้งาน
| Code: |
*CLI> core show translation
Translation times between formats (in milliseconds) for one second of data
Source Format (Rows) Destination Format (Columns)
g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g722
g723 - - - - - - - - - - - - -
gsm - - 2 2 2 2 1 3 4 12 - 2 2
ulaw - 2 - 1 2 2 1 3 4 12 - 2 2
alaw - 2 1 - 2 2 1 3 4 12 - 2 2
g726aal2 - 2 2 2 - 2 1 3 4 12 - 1 2
adpcm - 2 2 2 2 - 1 3 4 12 - 2 2
slin - 1 1 1 1 1 - 2 3 11 - 1 1
lpc10 - 2 2 2 2 2 1 - 4 12 - 2 2
g729 - 2 2 2 2 2 1 3 - 12 - 2 2
speex - 2 2 2 2 2 1 3 4 - - 2 2
ilbc - - - - - - - - - - - - -
g726 - 2 2 2 1 2 1 3 4 12 - - 2
g722 - 2 2 2 2 2 1 3 4 12 - 2 -
|
จะเห็นว่าในแถวของ g729 ทั้งแนวตั้งและแนวนอน มีข้อมูลตัวเลขขึ้นมาแล้วแสดงว่าพร้อมใช้งานได้แล้วครับ
ส่วนการทำ g723 ก็เป็นวิธีเดียวกันครับ