เป็นที่ทราบกันอยู่แล้วนะครับว่า Elastix ใช้โปรแกรม Asterisk เป็น SIP Server ซึ่งดีฟอลท์จะรองรับ Codec ดังต่อไปนี้
- G.723.1 (Pass through)
- G.729 (ซื้อ License เพิ่ม)
- G.711 alaw
- G.711 ulaw
- ADPCM
- GSM
- iLBC
- G.722
- LPC10
- Speex
- G.726
Codec Passthrough หมายความว่า Asterisk จะไม่ทำอะไรกับ Codec มันจะปล่อยให้ต้นทางและปลายทางจัดการกันเอง ถ้ามีฝั่งใดฝั่งหนึ่งไม่รองรับโคเด็คก็จะคุยกันไม่ได้
ต้นทางและปลายทางจะคุยกันได้จะต้องมีอย่างน้อย 1 โคเด็คที่มีเหมือนกัน ซึ่งอุปกรณ์ VoIP ต้นทางและปลายทางมีความสามารถในการเลือกใช้โคเด็คที่ทั้งสองฝั่งรองรับ (กฏเกณฑ์นี้มีระบุไว้ในมาตรฐาน VoIP ทุกโปรโตคอล)
คำว่า "Pass Through" หรือเรียกได้อีกอย่างหนึ่งคือ "Transparent" หมายความว่า Asterisk จะไม่ทำอะไรที่เกี่ยวกับ Codec เลย รับมาแล้วก็ส่งต่อไปเท่านั้น ปล่อยให้ต้นทางและปลายทางสื่อสารกันเอง นั่นก็แสดงว่าทั้งต้นทางและปลายทางจะต้องรองรับ Codec เดียวกัน ลองดูตัวอย่างของ G.723.1 Pass Through ในรูปต่อไปนี้ครับ
นอกจากนั้น Asterisk ยังมีความสามารถทำ Codec Transcode ได้ หมายความว่ามันสามารถแปลงจากโคเด็คหนึ่งไปเป็นอีกอย่างหนึ่งได้ ยกตัวอย่างเช่น ต้นทางรองรับโคเด็คแบบ GSM ส่วนปลายทางรองรับโคเด็คแบบ G.711 alaw ซึ่งตามปกติแล้วทั้งสองไม่น่าจะโทรหากันได้ แต่เมื่อโทรผ่าน Asterisk มันจะทำหน้าที่แปลงโคเด็คให้ ทั้งสองด้านจึงสื่อสารกันได้ ดังรูปต่อไปนี้
ถึงแม้ว่าการทำ Codec Transcoding จะมีประโยชน์ แต่ก็เป็นการสิ้นเปลืองทรัพยากรในเครื่องเซอร์เวอร์ ถ้าเครื่องไม่ค่อยแรงก็อาจจะรองรับได้ประมาณ 10-20 คู่สายพร้อมๆกัน แต่ถ้าเครื่องแรงๆก็ไม่ต้องเป็นห่วงหรอกครับ