湯元斌 胥獻(xiàn)偉
摘要:針對(duì)目前通信專業(yè)理論和實(shí)踐教學(xué)嚴(yán)重脫節(jié)的問(wèn)題,該文從促進(jìn)通信專業(yè)實(shí)踐教學(xué)改革,論述了開源軟件Asterisk的價(jià)值和如何應(yīng)用到通信工程專業(yè)的各個(gè)課程的實(shí)踐環(huán)節(jié)中,對(duì)學(xué)生理論聯(lián)系實(shí)際和工程實(shí)踐能力提高具有重要的意義。
關(guān)鍵詞:Asterisk;教學(xué)儀器;實(shí)踐教學(xué)
中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)27-6417-02
Abstract: To bridge the current gap between the communications theory and practice teaching and to promote the reform of the practice teaching of communications major, the paper discusses the value of the open source software Asterisk and how to apply it to the practice teaching of each course of communications engineering, which is significant for the enhancement of students ability to integrate theory with practice and engineering practice ability.
Key words: Asterisk; Teaching equipment; Practice Teaching
隨著通信技術(shù)的高速發(fā)展和Internet等通信業(yè)務(wù)的廣泛應(yīng)用,人們?nèi)粘I钜呀?jīng)離不開對(duì)通信業(yè)務(wù)的需求。特別是下一代網(wǎng)絡(luò)(Next Generation Network,NGN)和第三代、第四代移動(dòng)通信(3rd·Generation,3G)技術(shù)的發(fā)展及其應(yīng)用,通信類專業(yè)已經(jīng)成為技術(shù)發(fā)展和更新最快、對(duì)人才的需求量最大的專業(yè)之一[1][5]。為了適應(yīng)社會(huì)生產(chǎn)發(fā)展的需要,國(guó)內(nèi)大多數(shù)高校都開設(shè)了通信工程專業(yè)。但目前高校通信專業(yè)教學(xué)存在的普遍問(wèn)題是理論性較強(qiáng),實(shí)踐環(huán)節(jié)偏弱,再加上學(xué)校教學(xué)經(jīng)費(fèi)緊張和通信實(shí)驗(yàn)設(shè)備價(jià)格高昂,一方面造成了學(xué)生無(wú)法理論和實(shí)踐結(jié)合、學(xué)以致用,另外一方面無(wú)法滿足通信行業(yè)用人要求。因此,如何在通信工程專業(yè)既能提高學(xué)生理論聯(lián)系實(shí)踐的能力又能節(jié)約教學(xué)成本是亟待解決的問(wèn)題。
開源軟件Asterisk是由于完全免費(fèi)、功能完備和可擴(kuò)展性好成為通信領(lǐng)域研究的熱點(diǎn),已經(jīng)在中小型企業(yè)的語(yǔ)音業(yè)務(wù)中得到廣泛的應(yīng)用[2][3]。目前Asterisk的應(yīng)用主要分為兩個(gè)方面:1) 基于Asterisk的語(yǔ)音業(yè)務(wù),比如語(yǔ)音業(yè)務(wù)的平臺(tái)和呼叫中心等,主要在中小型企業(yè)和事業(yè)單位使用。2) 基于Asterisk的教學(xué)系統(tǒng),主要是利用Asterisk開發(fā)針對(duì)某門通信課程的實(shí)驗(yàn)教學(xué)系統(tǒng)。該文是在深入分析和研究了Asterisk結(jié)構(gòu)和技術(shù)特點(diǎn)的基礎(chǔ)上,探討Asterisk在整個(gè)通信專業(yè)學(xué)習(xí)過(guò)程中的教學(xué)實(shí)踐價(jià)值和意義,這為如何利用開源軟件解決通信專業(yè)的實(shí)踐教學(xué)提供了一種較好的解決方案。
1 Asterisk簡(jiǎn)介和價(jià)值[4]
Asterisk是Digium公司贊助開源開發(fā)的,運(yùn)行在Linux環(huán)境下的語(yǔ)音通信解決方案,是為企業(yè)通信量身定做的“媒體交換機(jī)”。它的主要特點(diǎn)如下:1)它既支持傳統(tǒng)的電話線路,包括:模擬電話線/模擬電話(POTS)、TDM(Time Division Muhiplexing)、E1/T1模式、PRI、SS7(7號(hào)信令)等,也支持多種主流的VoIP協(xié)議。包括:會(huì)話初始協(xié)議SIP(SIP-Session Initiation Protocol)、H.323(國(guó)際電信工業(yè)會(huì)的一種標(biāo)準(zhǔn))、IAX(Inter-Asterisk x-Change)、媒體網(wǎng)關(guān)控制協(xié)議(MGCP-Media Gateway Control Protocol)等其他協(xié)議。2) 提供完善的PBX功能。Asterisk可以連接普通電話機(jī)、IP電話機(jī)和軟電話等多種不同的電話終端,支持多種主流的IP電話協(xié)議的語(yǔ)音網(wǎng)關(guān),提供如視頻電話、語(yǔ)音信箱、會(huì)議電話、交互式語(yǔ)音提示和自動(dòng)電話轉(zhuǎn)接等以前只有昂貴的專業(yè)PBX系統(tǒng)才支持的功能。3) 提供了強(qiáng)大的二次開發(fā)功能。Asterisk提供了豐富的底層接口函數(shù)和二次開發(fā)的框架,用戶能很方便在此基礎(chǔ)上進(jìn)行靈活的二次開發(fā),實(shí)現(xiàn)極具個(gè)性的軟交換增值業(yè)務(wù)功能。利用開源的Asterisk進(jìn)行通信專業(yè)的實(shí)踐教學(xué)有如下考慮:
1) Asterisk作為一個(gè)開源的代碼,主要由C語(yǔ)言進(jìn)行開發(fā),涉及到編程技術(shù)有數(shù)據(jù)結(jié)構(gòu)、動(dòng)態(tài)鏈接庫(kù)、多線程、內(nèi)存管理、文件管理、網(wǎng)絡(luò)通信和系統(tǒng)模塊化架構(gòu)。這可以讓學(xué)生學(xué)習(xí)如何使用C語(yǔ)言及各門計(jì)算機(jī)課程的知識(shí)(數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)和計(jì)算機(jī)網(wǎng)絡(luò)等課程)實(shí)現(xiàn)一個(gè)完整的實(shí)用化通信系統(tǒng)。
2) Asterisk是一個(gè)既支持傳統(tǒng)的通信協(xié)議,又支持當(dāng)前流行的VoiP協(xié)議的多種通信協(xié)議的開源解決方案。一方面在實(shí)踐教學(xué)中有利于學(xué)生對(duì)多種協(xié)議的了解,另外開源的解決方案既不會(huì)涉及版權(quán)問(wèn)題,也大大降低實(shí)踐教學(xué)的成本。
3) Asterisk提供了強(qiáng)大完善的PBX功能,可以很方便搭建成為各種語(yǔ)音業(yè)務(wù)的使用平臺(tái),這將有利于在實(shí)踐中讓學(xué)生了解通信網(wǎng)絡(luò)整體架構(gòu)、基本通話流程和實(shí)用有趣的增值業(yè)務(wù)功能,調(diào)動(dòng)學(xué)生理論聯(lián)系實(shí)際的積極性。
4) Asterisk具有強(qiáng)大的二次開發(fā)功能,在實(shí)踐中學(xué)生充分發(fā)揮自己的想象力實(shí)現(xiàn)一些豐富多彩的增值業(yè)務(wù),這不但給通信專業(yè)學(xué)生的第二課堂提供了進(jìn)行深入學(xué)習(xí)和研究的手段,而且也為畢業(yè)設(shè)計(jì)、工程實(shí)踐提供了很好的基礎(chǔ)平臺(tái),能夠很好的培養(yǎng)學(xué)生的創(chuàng)新能力和實(shí)踐能力。
總之,Asterisk作為開源的通信平臺(tái)解決方案,其中涉及到的知識(shí)點(diǎn)已經(jīng)涵蓋到通信專業(yè)大多數(shù)課程,因此利用它作為實(shí)踐教學(xué)的研究對(duì)象能夠很好的滿足通信專業(yè)理論聯(lián)系實(shí)踐的需要。
2 Asterisk實(shí)踐教學(xué)中的應(yīng)用
本文把開源源碼Asterisk應(yīng)用于實(shí)踐教學(xué)中的關(guān)鍵目的是利用它對(duì)各門課程的起到輔助教學(xué)的作用,以及臨近畢業(yè)對(duì)整個(gè)專業(yè)起到綜合實(shí)踐的作用,最終達(dá)到學(xué)生在學(xué)習(xí)的過(guò)程中能從點(diǎn)到面,逐步理解每門課程在整個(gè)專業(yè)體系的意義。針對(duì)Asterisk在通信專業(yè)的實(shí)踐教學(xué)中的應(yīng)用,該文設(shè)計(jì)了一整套Asterisk輔助實(shí)踐教學(xué)的解決方案。該方案貫穿整個(gè)通信專業(yè)的理論教學(xué)課程中以及最后的綜合實(shí)訓(xùn),形成了對(duì)理論教學(xué)很好的補(bǔ)充,使得理論和實(shí)踐相結(jié)合,學(xué)生能夠?qū)W以致用。整個(gè)解決方案如圖1所示。
1) Asterisk在計(jì)算機(jī)課中的實(shí)踐應(yīng)用
通信專業(yè)是需要扎實(shí)的計(jì)算機(jī)課程作為基礎(chǔ),作為以后進(jìn)行通信領(lǐng)域研發(fā)的工具。通信專業(yè)開設(shè)的計(jì)算機(jī)課程有C語(yǔ)言程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)(或者Linux操作系統(tǒng))和數(shù)據(jù)庫(kù)等。在學(xué)習(xí)這些課程的時(shí)候,教師可以把Asterisk中相關(guān)的部分抽取出來(lái)作為課堂理論教學(xué)的補(bǔ)充。針對(duì)C語(yǔ)言的課程教學(xué),可以把Asterisk中的經(jīng)典字符串處理、指針處理、函數(shù)處理、結(jié)構(gòu)體和鏈表以及文件讀寫的代碼截取出來(lái)和學(xué)生一起學(xué)習(xí),讓學(xué)生了解C語(yǔ)言只是在實(shí)際應(yīng)用中是如何得到應(yīng)用。同時(shí),還可以把Asterisk良好的代碼書寫格式和風(fēng)格展現(xiàn)個(gè)學(xué)生,讓學(xué)生養(yǎng)成良好的書寫代碼的習(xí)慣。針對(duì)數(shù)據(jù)結(jié)構(gòu),Asterisk里含有很多數(shù)據(jù)結(jié)構(gòu)應(yīng)用,例如鏈表、隊(duì)列、檢索和樹結(jié)構(gòu)等,通過(guò)對(duì)這些具體應(yīng)用的學(xué)習(xí),讓學(xué)生明白枯燥的數(shù)據(jù)結(jié)構(gòu)如何真正得到應(yīng)用。針對(duì)操作系統(tǒng),特別是Linux操作系統(tǒng)的課程,Asterisk就發(fā)揮更大的作用。因?yàn)锳sterisk本身就運(yùn)行在Linux操作系統(tǒng)下,并且還應(yīng)用了很多操作系統(tǒng)的核心知識(shí),因此通過(guò)Asterisk可以了解多線程管理、內(nèi)存管理、進(jìn)程管理和設(shè)備驅(qū)動(dòng)等應(yīng)用,更重要的可以讓學(xué)生了解Asterisk上的二次開發(fā)功能。針對(duì)數(shù)據(jù)庫(kù),Asterisk中有非常通用的數(shù)據(jù)庫(kù)中間件的接口模塊,可以讓學(xué)生實(shí)際體會(huì)到數(shù)據(jù)庫(kù)實(shí)際使用以及如何進(jìn)行通用性一致性開發(fā)。
2) Asterisk在專業(yè)課中的實(shí)踐應(yīng)用
通信專業(yè)的專業(yè)課程比較多,該文主要討論通信專業(yè)的在實(shí)際工作中應(yīng)用很廣泛的專業(yè)課程。針對(duì)通信原理,Asterisk關(guān)于語(yǔ)音的采集、編碼、傳輸、解碼播放,可以讓學(xué)生實(shí)際了解通信中PCM等編碼的實(shí)際意義。同時(shí)E1、T1這些中繼接口也在Asterisk中有實(shí)際體現(xiàn)。針對(duì)計(jì)算機(jī)網(wǎng)絡(luò)課程,Asterisk可以向?qū)W生展示的實(shí)際應(yīng)用的知識(shí)點(diǎn)就更多了。從編程的角度來(lái)說(shuō),有多并發(fā)條件下UDP和TCP的數(shù)據(jù)通信以及數(shù)據(jù)解析。從協(xié)議角度,Asterisk中涉及了各種網(wǎng)絡(luò)及其通信協(xié)議,例如SIP協(xié)議、RTP協(xié)議、H323、telnet、HTTP等等,學(xué)生不僅可以了解這些協(xié)議在實(shí)際中的應(yīng)用,而且還可以了解這些協(xié)議的協(xié)議棧如何實(shí)現(xiàn)。針對(duì)現(xiàn)代交換原理課程,首先學(xué)生可以了解軟交換這個(gè)新概念的架構(gòu)、體系結(jié)構(gòu)以及實(shí)際應(yīng)用,同時(shí)了解SIP、RTP、SS7等這些信令的實(shí)際使用,還可以了解傳統(tǒng)的程控交換和軟交換之間的互聯(lián)互通。
3) Asterisk在實(shí)訓(xùn)及畢業(yè)設(shè)計(jì)中的應(yīng)用
通過(guò)基礎(chǔ)課程和專業(yè)課的學(xué)習(xí),學(xué)生對(duì)Asterisk也有了較為系統(tǒng)和全面的學(xué)習(xí),那么到了四年級(jí)上學(xué)期末或者下去,學(xué)生可以充分利用Asterisk來(lái)進(jìn)行各種實(shí)踐應(yīng)用??梢园褜?shí)踐應(yīng)用分為兩個(gè)部分:1) 實(shí)訓(xùn)應(yīng)用??梢岳肁sterisk完善的功能,通過(guò)它對(duì)各種其他通信設(shè)備進(jìn)行互聯(lián)互通,比如程控交換設(shè)備、各種語(yǔ)音網(wǎng)關(guān)設(shè)備、E1中繼設(shè)備、IP電話等等,讓學(xué)生系統(tǒng)全面了解通信領(lǐng)域的系統(tǒng)架構(gòu)以及設(shè)備之間是如何互聯(lián)互通。2) 畢業(yè)設(shè)計(jì)。四年級(jí)末,學(xué)生要進(jìn)行畢業(yè)設(shè)計(jì)。畢業(yè)設(shè)計(jì)的目標(biāo)是讓學(xué)生把所學(xué)的課程知識(shí)應(yīng)用到實(shí)際中,是對(duì)學(xué)生大學(xué)四年所學(xué)知識(shí)的一次全面檢驗(yàn)。Asterisk不但有較強(qiáng)的語(yǔ)音通信和交換功能,而且有很好的二次開發(fā)的特點(diǎn)。因此,學(xué)生可以在此基礎(chǔ)上利用所學(xué)知識(shí),并發(fā)揮自己的想象力,實(shí)現(xiàn)通信中的各種增值型業(yè)務(wù)。
(下轉(zhuǎn)第6446頁(yè))
(上接第6418頁(yè))
通過(guò)這一步的鍛煉和學(xué)習(xí),學(xué)生不但對(duì)自己整個(gè)通信專業(yè)所學(xué)知識(shí)如何在實(shí)際中應(yīng)用有了一個(gè)全面了解和體會(huì),而且面向畢業(yè)后的就業(yè)和實(shí)際工作都有積極的意義。
4) Asterisk在第二課堂中的應(yīng)用
這部分主要面向動(dòng)手能力強(qiáng)和興趣很高的學(xué)生設(shè)計(jì)。該文提到Asterisk有較好的二次開發(fā)功能,因此,在具備了Asterisk二次開發(fā)所需要的基礎(chǔ)知識(shí)后,部分優(yōu)秀的學(xué)生可以組建團(tuán)隊(duì),利用業(yè)余時(shí)間在老師的指導(dǎo)下結(jié)合目前一些其它新技術(shù)研發(fā)一些通信領(lǐng)域的增值業(yè)務(wù),以此來(lái)培養(yǎng)學(xué)生的動(dòng)手能力和創(chuàng)新能力。學(xué)生在這部分研究成果一方面可以向市場(chǎng)推廣,讓學(xué)生實(shí)際體會(huì)知識(shí)的意義;另外一方面通過(guò)這些作品參加“挑戰(zhàn)杯”等各種競(jìng)賽,提高學(xué)生的競(jìng)爭(zhēng)意識(shí)。
3 結(jié)束語(yǔ)
開源軟件Asterisk是由于完全免費(fèi)、功能完備和可擴(kuò)展性好成為通信領(lǐng)域研究的熱點(diǎn),并且也在實(shí)際的語(yǔ)音業(yè)務(wù)中得到廣泛的應(yīng)用。該文充分利用Asterisk的各種優(yōu)勢(shì),把它應(yīng)用于通信專業(yè)配套的實(shí)踐教學(xué)中,而且制定了切實(shí)有效的實(shí)踐教學(xué)方案和細(xì)節(jié)。這為應(yīng)用型本科高校的通信專業(yè)的實(shí)踐教學(xué)提供了很好的解決思路,同時(shí)對(duì)通信專業(yè)學(xué)生的就業(yè)和以后的實(shí)際工作都有重要的意義。
參考文獻(xiàn):
[1] 韓一石,韓國(guó)軍.應(yīng)用型通信工程專業(yè)培養(yǎng)方案的研究和實(shí)踐[J].廣東工業(yè)大學(xué)學(xué)報(bào),2010,10:159-161.
[2] 趙建濤,鄭永靜.基于軟交換平臺(tái)Asterisk的電力呼叫中心的設(shè)計(jì)與實(shí)現(xiàn)[J].電力科學(xué)與工程,2007,23(4):59-61.
[3] 潘云良,楊觀賜,周應(yīng)權(quán).基于Asterisk與OpenVPN的企業(yè)集團(tuán)IP分布式呼叫中心[J].計(jì)算機(jī)應(yīng)用,2010,30(3):756-760.
[4] 鄧國(guó)棟,胡越明,自英彩.基于Asterisk的軟交換運(yùn)營(yíng)平臺(tái)設(shè)計(jì)[J].計(jì)算機(jī)工程,2007,23(33):145-147.
[5] 黃飛江,劉光燦,陳威兵.應(yīng)用型本科通信工程專業(yè)實(shí)踐教學(xué)研究[J].教育理論與實(shí)踐,2011,31(5):6-8.