<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Asterisk PBX HK</title>
	<atom:link href="http://www.asteriskpbxhk.com/portal/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.asteriskpbxhk.com/portal</link>
	<description>Asterisk PBX 技術和相關的網上雜誌</description>
	<lastBuildDate>Mon, 25 Jul 2011 05:05:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Forward: 新晉億萬富翁的十大成功準則</title>
		<link>http://www.asteriskpbxhk.com/portal/2011/07/25/135/</link>
		<comments>http://www.asteriskpbxhk.com/portal/2011/07/25/135/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 05:03:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.asteriskpbxhk.com/portal/?p=135</guid>
		<description><![CDATA[《華爾街日報》&#8211;鮑勃‧帕森斯(Bob Parsons)最出名的可能是作為GoDaddy Girls比基尼女郎們身邊的男士，這些豐滿性感的女郎是為他的域名註冊公司GoDaddy.Com代言的模特。 現在他有了引人注意的新頭銜：億萬富翁。 私募股權公司Kohlberg Kravis Roberts和SilverLake Partners有可能以逾20億美元的價格收購他的公司，這將會令他成為最新一位網絡億萬富豪。目前仍不清楚他擁有公司的多少股份。由於這家公司是由少 數人持股，並沒有進行過太多的籌資活動，帕森斯所持的股份很可能超過一半。 他是怎麼做到的？以下是我最喜歡的10條「鮑勃準則」，正是這些準則幫助他成為了億萬富翁。 一、了解並遠離自己的「舒適地帶」 我老聽人說，「我相信當我們處於自己最舒服的地盤時，不會有什麼意義重大的事情發生，但我還是擔心安全問題。」我對此的反應很簡單：死人最安全。 二、 從不放棄 幾乎沒有什麼事情是第一次嘗試就能成功的。只是因為你做的事情似乎不成，並不意味著它就一定成不了。那只是意味著你用的方法可能不對。如果有那麼容易的話，那所有人都會去做了，你也不會有機會了。 三、 當你想要放棄的時候，往往比你自己以為的更接近成功 我很喜歡一句中國古語，而且也深深地相信其中的道理。那就是「功虧一簣」。 四、一直前行 永遠不要停止投資。永遠不要止步不前。永遠不要停止嘗試新東西。當你停止改進自己的組織結構那一刻，它就開始失去活力。給自己定下每天都要有所長進的目標，即使是很小的長進。記住日本那種「經營方法改善」的理念。每天積累一點小小的進步，最終就會有巨大的進展。 五、 決策要迅速 記住巴頓將軍(General George S. Patton)的話：今天就得到徹底執行的好計劃要遠勝於明天的完美計劃。 六、 任何具有重要性的東西都要量化。 我發誓這是千真萬確的。只要是被量化、受到注意的事物，它都會增長。 七、 任何東西如果不進行管理，就會惡化。 如果你想要發現你自己未曾察覺的問題，只需要花一點點時間，仔細觀察你已經有一陣子沒有去檢查的領域。我保證那些地方一定會有問題。 八、 永遠不要期望生活會是公平的 生活不是公平的。你得自己去突破。如果對你來說，「公平」唯一的意思是你上公共汽車時給的車錢（也就是票價，英文為fare，與fair同音──譯者注），那會對你有好處。 九、 不要把自己看得太高 放輕鬆。通常我們所實現的成就中，至少有一半是出於運氣。我們沒有人像自己以為的那樣掌控著一切。 十、 總有微笑的理由 找到它。畢竟光是活下來就真的很幸運了。生命短暫。我越來越贊同我弟弟的話。他總是提醒我：我們不是為了活得長而來到世上，我們是為了來享受生活！ 對於鮑勃如何成為億萬富豪，你有沒有其他的小貼士？（第11條會不會是「與性有關的內容有助行銷？」） 撰稿：華爾街日報Robert Frank]]></description>
			<content:encoded><![CDATA[<p>《華爾街日報》&#8211;鮑勃‧帕森斯(Bob Parsons)最出名的可能是作為GoDaddy Girls比基尼女郎們身邊的男士，這些豐滿性感的女郎是為他的域名註冊公司GoDaddy.Com代言的模特。</p>
<p>現在他有了引人注意的新頭銜：億萬富翁。</p>
<p>私募股權公司Kohlberg Kravis Roberts和SilverLake  Partners有可能以逾20億美元的價格收購他的公司，這將會令他成為最新一位網絡億萬富豪。目前仍不清楚他擁有公司的多少股份。由於這家公司是由少 數人持股，並沒有進行過太多的籌資活動，帕森斯所持的股份很可能超過一半。</p>
<p>他是怎麼做到的？以下是我最喜歡的10條「鮑勃準則」，正是這些準則幫助他成為了億萬富翁。</p>
<p><span id="more-135"></span></p>
<p>一、了解並遠離自己的「舒適地帶」</p>
<p>我老聽人說，「我相信當我們處於自己最舒服的地盤時，不會有什麼意義重大的事情發生，但我還是擔心安全問題。」我對此的反應很簡單：死人最安全。</p>
<p>二、 從不放棄</p>
<p>幾乎沒有什麼事情是第一次嘗試就能成功的。只是因為你做的事情似乎不成，並不意味著它就一定成不了。那只是意味著你用的方法可能不對。如果有那麼容易的話，那所有人都會去做了，你也不會有機會了。</p>
<p>三、 當你想要放棄的時候，往往比你自己以為的更接近成功</p>
<p>我很喜歡一句中國古語，而且也深深地相信其中的道理。那就是「功虧一簣」。</p>
<p>四、一直前行</p>
<p>永遠不要停止投資。永遠不要止步不前。永遠不要停止嘗試新東西。當你停止改進自己的組織結構那一刻，它就開始失去活力。給自己定下每天都要有所長進的目標，即使是很小的長進。記住日本那種「經營方法改善」的理念。每天積累一點小小的進步，最終就會有巨大的進展。</p>
<p>五、 決策要迅速</p>
<p>記住巴頓將軍(General George S. Patton)的話：今天就得到徹底執行的好計劃要遠勝於明天的完美計劃。</p>
<p>六、 任何具有重要性的東西都要量化。</p>
<p>我發誓這是千真萬確的。只要是被量化、受到注意的事物，它都會增長。</p>
<p>七、 任何東西如果不進行管理，就會惡化。</p>
<p>如果你想要發現你自己未曾察覺的問題，只需要花一點點時間，仔細觀察你已經有一陣子沒有去檢查的領域。我保證那些地方一定會有問題。</p>
<p>八、 永遠不要期望生活會是公平的</p>
<p>生活不是公平的。你得自己去突破。如果對你來說，「公平」唯一的意思是你上公共汽車時給的車錢（也就是票價，英文為fare，與fair同音──譯者注），那會對你有好處。</p>
<p>九、 不要把自己看得太高</p>
<p>放輕鬆。通常我們所實現的成就中，至少有一半是出於運氣。我們沒有人像自己以為的那樣掌控著一切。</p>
<p>十、 總有微笑的理由</p>
<p>找到它。畢竟光是活下來就真的很幸運了。生命短暫。我越來越贊同我弟弟的話。他總是提醒我：我們不是為了活得長而來到世上，我們是為了來享受生活！</p>
<p>對於鮑勃如何成為億萬富豪，你有沒有其他的小貼士？（第11條會不會是「與性有關的內容有助行銷？」）</p>
<p>撰稿：華爾街日報Robert Frank</p>
]]></content:encoded>
			<wfw:commentRss>http://www.asteriskpbxhk.com/portal/2011/07/25/135/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>微軟斥662億併購Skype</title>
		<link>http://www.asteriskpbxhk.com/portal/2011/05/11/123/</link>
		<comments>http://www.asteriskpbxhk.com/portal/2011/05/11/123/#comments</comments>
		<pubDate>Wed, 11 May 2011 01:44:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Lync]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[OCS]]></category>
		<category><![CDATA[Skype]]></category>

		<guid isPermaLink="false">http://www.asteriskpbxhk.com/portal/?p=123</guid>
		<description><![CDATA[Microsoft 的 Lync 很快會支持 Skype 了?! (星島日報報道)全球最大個人電腦軟件商微軟昨日宣布，計畫以八十五億美元（約六百六十二億港元）收購擁有六點六三億用戶的全球最普及的互聯網電話公司Skype，收購完成後，將為微軟帶來融合通訊、資訊與娛樂等互聯網業務，有利其拓展消費服務市場方向。 宣布併購計畫後，微軟昨日在美市早段曾逆市下跌百分之二點二五，見二十五點二五美元；科網股如eBay則受惠，早段曾升百分之三點二三。 微軟發表聲明稱，將向投資公司Silver Lake以現金收購總部在盧森堡的Skype網絡電話公司，有關協議已獲雙方的董事會同意。據知情人士透露，上述出價已計入Skype上月申報的七點七五億美元債務和三千萬美元循環信貸額。 創造新市場機會 微軟收購Skype的出價，遠遠高於華爾街原先預期Skype在首次公開招股（IPO）中籌集所得的資金。八十五億美元的收購價，相當於 Skype調整EBITDA（未計利息、稅項、折舊及攤銷前盈利）的三十二倍。該公司去年夏天曾提交申請，有意在納斯達克上市，之後不斷傳出包括 Google和facebook會提出收購。 市場分析師認為，Skype這個通過互聯網提供電話和視像通訊服務、聯繫數以千萬計客戶的品牌，香港和記環球電訊在○五年更成為首家引入該服務的固網商，微軟將Skype收納旗下，將有助該公司開拓網上的消費服務市場。 流動互聯網時代的到來，使Skype比以前更有價值，不再限於個人電腦，可應用在智能手機上，微軟可以通過整合Skype提供的語音、視頻及共享服務加強其企業協作市場，補齊視窗流動操作系統的不足。況且微軟手頭握有逾五百億美元的現金，在連串收購攻勢後，未嘗不可在流動互聯綱領域上 Google和蘋果鼎足而立。 若成功收購Skype，微軟收購手機製造商的理由會更充分，面對蘋果和Google手機的咄咄進逼，諾基亞和RIM的市場額不斷下滑，與弱勢對手合併，也許能創造出新市場機會。 微軟的雙眼正緊盯着未來，將賭注押在了對一個重大趨勢的判斷上面——他們相信，全世界的人都希望能夠隨時隨地和其他的某些人保持聯絡，而且最好還不付出任何成本。 在周二宣佈的交易當中，微軟支付85億美元收購了互聯網電話先鋒Skype。微軟所擁抱的，是一種改變人們在家中和在單位聯絡方式的技術。微軟 産品的用戶不可計數，而將Skype的技術整合到這些産品當中，這家軟件巨頭就可以很自然地推動主流社會對視頻通訊的接受，尤其是在企業界當中。 微軟雖然富有，雖然強大，但是在智能手機軟件等新的領域卻已經明顯落後，只能眼睜睜地看着後起的谷歌和蘋果自由表演，而收購Skype顯然可以幫助他們獲得更有利的競爭位置。 “Skype一直都是個先驅的角色，這一交易其實正說明微軟努力想要在互聯網通信的新時代贏得自己的位置。”電信業務顧問艾瓦奇安(Berge Ayvazian)評論道，“這確實可以改變微軟面前的局面，加速這一新技術的普及。” 行業分析師和企業高層們都認為，通信領域的未來必然將被互聯網科技所統治，而且視頻電話遲早會獲得與音頻和文本一樣的主流地位。Skype是不 到十年前從個人電腦上起步的，但是現在已經開始進入智能手機領域了。伴隨他們進入起居室，推出基於數字電視的家庭視頻會議等應用，就會徹底顛覆人們慣常的 打電話的方式。 對於現在的電信和科技巨頭們而言，下一代通信既意味着巨大的威脅，同時也意味着巨大的機會，AT&#38;T、Verizon、蘋果、谷歌和Facebook等都難以置身事外。 微軟顯然是在賭Skype能夠幫助改變他們的命運。Skype是互聯網音頻和視頻通信的領先者，擁有1億7000萬的用戶，這些人平均每月通話時間超過100分鐘。在過去一兩年的時間當中，視頻的使用激增，現在已經佔據到了Skype通話流量的40%。 巨大而活躍的用戶本身就是一個不可輕視的資産。“這是個令人稱奇的消費者基礎。”微軟首席執行官鮑爾默(Steven A. Ballmer)在接受採訪時表示，“正如他們所說，Skype已經成為了一個專門的動詞。” 鮑爾默永遠不會提到谷歌，他們超級競爭對手的名字現在其實也已經成為了一個動詞，表示上網搜索的動詞。為了能夠與谷歌抗衡，微軟投入了巨大的人力財力，不錯，他們的必應引擎是取得了一定程度的進展，但是代價卻是不菲的。 其實，谷歌也有類似Skype的免費互聯網電話和視頻通信服務。因此，分析師們指出，微軟這一次是採取了大膽的舉措，想要一舉攫取領導權，不願意再冒被谷歌在一個至關重要的市場上佔據先機，而自己卻只能苦苦追趕的危險。 “Skype將讓微軟在這一新興市場上立竿見影地獲得強大的地位。”麻省理工學院斯隆管理學院高級講師安德森(Howard Anderson)解釋道，與Skype的合併如果獲得成功，微軟就將在自己原本一直落後的消費者互聯網服務領域取得領先地位，進而幫助提升自己的其他業 務，比如智能手機軟件、Office軟件和Xbox視頻游戲控制平台等。 要達到前述的目的，微軟就必須想出辦法讓人們無論在單位還是家中都始終保持聯繫。鮑爾默在舊金山一次媒體發布會上表示：“我們希望能夠讓人們生活中的通訊暢通無阻。” Skype創建於2003年，應該說是一種改變了電信行業面貌的新技術的産物。“一段時間以來，大家都已經非常清楚，電信必然將要走向全部數字 互聯網技術的一天。”賓州大學沃頓商學院副教授、聯邦通信委員會前官員韋巴哈(Kevin Werbach)指出，“Skype已經告訴我們，我們能夠做到怎樣。” Skype是由一位瑞典企業家和一位丹麥企業家聯合創建的，其使用的軟件是由愛沙尼亞的一個程序員小組開發出來。他們開發了一種P2P軟件，最初是用於盜版音樂和電影的非法共享。視頻和音頻是通過互聯網來傳播，而不是依賴傳統的電話綫或者基站網絡。 Skype的發展之路並非一帆風順。eBay在2005年以26億美元收購了這家公司，之後在2009年將其大部分出售給了私募投資者，因為他們始終未能找到從Skype身上贏利的方法。 雖然所有者和管理層發生了這樣那樣的變化，但是對於用戶而言，Skype確實是非常重要的。他們為用戶提供免費的服務，只是在一些企業服務或者是致電傳統電話號碼時才收取一些費用。他們現在在銷售廣告。 Skype總部位於盧森堡，其業務近期以來一直穩步發展。去年，他們的營收增長20%，達到8億6000萬美元，而運營利潤增長到2億6400萬美元，只是償還債款之後還虧損700萬美元。 Skype已經擁有了值得敬畏的科技能力。他們的大多數軟件程序員都在愛沙尼亞的塔林。互聯網瀏覽器先驅網景公司創始人安德森(Marc Andreessen)就是該公司的私募投資人之一，他表示，“Skype最重要的本錢之一就是他們的工程師團隊。這都是些世界級的好手，和硅谷的任何人 相比都不差勁。” 鮑爾默強調，微軟計劃擴大Skype的服務和産品陣容，並增加投資，同時也不會削減免費服務。他還補充說，Skype的技術將有助於強化微軟的 産品。鮑爾默說，他們的游戲設備Xbox Kinect再加上Skype，就可以成為一個家庭視頻會議系統。Skype還可以與他們的Office商用程序，以及Lync多媒體軟件結合起來，讓企 業的不同員工共同完成一個計劃。 這就意味着，一直以來都受困於營收增長緩慢的微軟可以通過將這些服務出售給企業來獲得大量的收入。此外，在Skype投放廣告或許也能夠帶來額外的好處。鮑爾默說：“在微軟的産品當中優化Skype的服務意味着許多重大的機會。” 分析師們認為，Skype也和近期的所有其他革新一樣，是沿着先在消費者群體當中扎下根，然後逐漸滲透到企業市場的軌跡前進的，比如即時通信、 社交網絡和視頻聊天等都是如此。Forrester [...]]]></description>
			<content:encoded><![CDATA[<h1>Microsoft 的 Lync 很快會支持 Skype 了?!</h1>
<div><span style="font-family: 新細明體; font-size: x-small;"><br />
<span id="more-123"></span></p>
<p><span style="font-size: small;">(星島日報報道)全球最大個人電腦軟件商微軟昨日宣布，計畫以八十五億美元（約六百六十二億港元）收購擁有六點六三億用戶的全球最普及的互聯網電話公司Skype，收購完成後，將為微軟帶來融合通訊、資訊與娛樂等互聯網業務，有利其拓展消費服務市場方向。</span></p>
<p><span style="font-size: small;"> 宣布併購計畫後，微軟昨日在美市早段曾逆市下跌百分之二點二五，見二十五點二五美元；科網股如eBay則受惠，早段曾升百分之三點二三。</span></p>
<p><span style="font-size: small;"> 微軟發表聲明稱，將向投資公司Silver  Lake以現金收購總部在盧森堡的Skype網絡電話公司，有關協議已獲雙方的董事會同意。據知情人士透露，上述出價已計入Skype上月申報的七點七五億美元債務和三千萬美元循環信貸額。</span></p>
<p><span style="font-size: small;"> 創造新市場機會</span></p>
<p><span style="font-size: small;"> 微軟收購Skype的出價，遠遠高於華爾街原先預期Skype在首次公開招股（IPO）中籌集所得的資金。八十五億美元的收購價，相當於  Skype調整EBITDA（未計利息、稅項、折舊及攤銷前盈利）的三十二倍。該公司去年夏天曾提交申請，有意在納斯達克上市，之後不斷傳出包括  Google和facebook會提出收購。</span></p>
<p><span style="font-size: small;"> 市場分析師認為，Skype這個通過互聯網提供電話和視像通訊服務、聯繫數以千萬計客戶的品牌，香港和記環球電訊在○五年更成為首家引入該服務的固網商，微軟將Skype收納旗下，將有助該公司開拓網上的消費服務市場。</span></p>
<p><span style="font-size: small;"> 流動互聯網時代的到來，使Skype比以前更有價值，不再限於個人電腦，可應用在智能手機上，微軟可以通過整合Skype提供的語音、視頻及共享服務加強其企業協作市場，補齊視窗流動操作系統的不足。況且微軟手頭握有逾五百億美元的現金，在連串收購攻勢後，未嘗不可在流動互聯綱領域上  Google和蘋果鼎足而立。</span></p>
<p><span style="font-size: small;"> 若成功收購Skype，微軟收購手機製造商的理由會更充分，面對蘋果和Google手機的咄咄進逼，諾基亞和RIM的市場額不斷下滑，與弱勢對手合併，也許能創造出新市場機會。</span></p>
<p>微軟的雙眼正緊盯着未來，將賭注押在了對一個重大趨勢的判斷上面——他們相信，全世界的人都希望能夠隨時隨地和其他的某些人保持聯絡，而且最好還不付出任何成本。</p>
<p>在周二宣佈的交易當中，微軟支付85億美元收購了互聯網電話先鋒Skype。微軟所擁抱的，是一種改變人們在家中和在單位聯絡方式的技術。微軟 産品的用戶不可計數，而將Skype的技術整合到這些産品當中，這家軟件巨頭就可以很自然地推動主流社會對視頻通訊的接受，尤其是在企業界當中。</p>
<p>微軟雖然富有，雖然強大，但是在智能手機軟件等新的領域卻已經明顯落後，只能眼睜睜地看着後起的谷歌和蘋果自由表演，而收購Skype顯然可以幫助他們獲得更有利的競爭位置。</p>
<p>“Skype一直都是個先驅的角色，這一交易其實正說明微軟努力想要在互聯網通信的新時代贏得自己的位置。”電信業務顧問艾瓦奇安(Berge Ayvazian)評論道，“這確實可以改變微軟面前的局面，加速這一新技術的普及。”</p>
<p>行業分析師和企業高層們都認為，通信領域的未來必然將被互聯網科技所統治，而且視頻電話遲早會獲得與音頻和文本一樣的主流地位。Skype是不 到十年前從個人電腦上起步的，但是現在已經開始進入智能手機領域了。伴隨他們進入起居室，推出基於數字電視的家庭視頻會議等應用，就會徹底顛覆人們慣常的 打電話的方式。</p>
<p>對於現在的電信和科技巨頭們而言，下一代通信既意味着巨大的威脅，同時也意味着巨大的機會，AT&amp;T、Verizon、蘋果、谷歌和Facebook等都難以置身事外。</p>
<p>微軟顯然是在賭Skype能夠幫助改變他們的命運。Skype是互聯網音頻和視頻通信的領先者，擁有1億7000萬的用戶，這些人平均每月通話時間超過100分鐘。在過去一兩年的時間當中，視頻的使用激增，現在已經佔據到了Skype通話流量的40%。</p>
<p>巨大而活躍的用戶本身就是一個不可輕視的資産。“這是個令人稱奇的消費者基礎。”微軟首席執行官鮑爾默(Steven A. Ballmer)在接受採訪時表示，“正如他們所說，Skype已經成為了一個專門的動詞。”</p>
<p>鮑爾默永遠不會提到谷歌，他們超級競爭對手的名字現在其實也已經成為了一個動詞，表示上網搜索的動詞。為了能夠與谷歌抗衡，微軟投入了巨大的人力財力，不錯，他們的必應引擎是取得了一定程度的進展，但是代價卻是不菲的。</p>
<p>其實，谷歌也有類似Skype的免費互聯網電話和視頻通信服務。因此，分析師們指出，微軟這一次是採取了大膽的舉措，想要一舉攫取領導權，不願意再冒被谷歌在一個至關重要的市場上佔據先機，而自己卻只能苦苦追趕的危險。</p>
<p>“Skype將讓微軟在這一新興市場上立竿見影地獲得強大的地位。”麻省理工學院斯隆管理學院高級講師安德森(Howard Anderson)解釋道，與Skype的合併如果獲得成功，微軟就將在自己原本一直落後的消費者互聯網服務領域取得領先地位，進而幫助提升自己的其他業 務，比如智能手機軟件、Office軟件和Xbox視頻游戲控制平台等。</p>
<p>要達到前述的目的，微軟就必須想出辦法讓人們無論在單位還是家中都始終保持聯繫。鮑爾默在舊金山一次媒體發布會上表示：“我們希望能夠讓人們生活中的通訊暢通無阻。”</p>
<p>Skype創建於2003年，應該說是一種改變了電信行業面貌的新技術的産物。“一段時間以來，大家都已經非常清楚，電信必然將要走向全部數字 互聯網技術的一天。”賓州大學沃頓商學院副教授、聯邦通信委員會前官員韋巴哈(Kevin Werbach)指出，“Skype已經告訴我們，我們能夠做到怎樣。”</p>
<p>Skype是由一位瑞典企業家和一位丹麥企業家聯合創建的，其使用的軟件是由愛沙尼亞的一個程序員小組開發出來。他們開發了一種P2P軟件，最初是用於盜版音樂和電影的非法共享。視頻和音頻是通過互聯網來傳播，而不是依賴傳統的電話綫或者基站網絡。</p>
<p>Skype的發展之路並非一帆風順。eBay在2005年以26億美元收購了這家公司，之後在2009年將其大部分出售給了私募投資者，因為他們始終未能找到從Skype身上贏利的方法。</p>
<p>雖然所有者和管理層發生了這樣那樣的變化，但是對於用戶而言，Skype確實是非常重要的。他們為用戶提供免費的服務，只是在一些企業服務或者是致電傳統電話號碼時才收取一些費用。他們現在在銷售廣告。</p>
<p>Skype總部位於盧森堡，其業務近期以來一直穩步發展。去年，他們的營收增長20%，達到8億6000萬美元，而運營利潤增長到2億6400萬美元，只是償還債款之後還虧損700萬美元。</p>
<p>Skype已經擁有了值得敬畏的科技能力。他們的大多數軟件程序員都在愛沙尼亞的塔林。互聯網瀏覽器先驅網景公司創始人安德森(Marc Andreessen)就是該公司的私募投資人之一，他表示，“Skype最重要的本錢之一就是他們的工程師團隊。這都是些世界級的好手，和硅谷的任何人 相比都不差勁。”</p>
<p>鮑爾默強調，微軟計劃擴大Skype的服務和産品陣容，並增加投資，同時也不會削減免費服務。他還補充說，Skype的技術將有助於強化微軟的 産品。鮑爾默說，他們的游戲設備Xbox Kinect再加上Skype，就可以成為一個家庭視頻會議系統。Skype還可以與他們的Office商用程序，以及Lync多媒體軟件結合起來，讓企 業的不同員工共同完成一個計劃。</p>
<p>這就意味着，一直以來都受困於營收增長緩慢的微軟可以通過將這些服務出售給企業來獲得大量的收入。此外，在Skype投放廣告或許也能夠帶來額外的好處。鮑爾默說：“在微軟的産品當中優化Skype的服務意味着許多重大的機會。”</p>
<p>分析師們認為，Skype也和近期的所有其他革新一樣，是沿着先在消費者群體當中扎下根，然後逐漸滲透到企業市場的軌跡前進的，比如即時通信、 社交網絡和視頻聊天等都是如此。Forrester Research分析師沙德勒(Ted Schadler)強調：“這一交易正是資訊技術促進消費的另外一個證據。”</p>
<p>觀察家們還指出，微軟與Skype的交易是直指日益高漲的電信行業數字化的浪潮，現在低成本的互聯網通信正在向傳統的運營商施加着愈來愈大的壓 力，尤其是那些固話服務商們。科技行業投資通訊Strategic News Service的首席執行官安德森(Mark R. Anderson)蓋棺論定：“說到通信行業的未來，現在是時候讓電腦小子給運營商們上上課了。”</p>
<p></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.asteriskpbxhk.com/portal/2011/05/11/123/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk 在3G 平台上的應用</title>
		<link>http://www.asteriskpbxhk.com/portal/2010/11/08/116/</link>
		<comments>http://www.asteriskpbxhk.com/portal/2010/11/08/116/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 17:44:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Open Sources]]></category>
		<category><![CDATA[3G]]></category>

		<guid isPermaLink="false">http://www.asteriskpbxhk.com/portal/?p=116</guid>
		<description><![CDATA[這裡介紹基於 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 &#8211;prefix=/usr &#8211;enable-gpl &#8211;enable-libgsm &#8211;enable-libxvid &#8211;enable-libopencore-amrnb &#8211;enable-libopencore-amrwb &#8211;enable-libmp3lame &#8211;enable-libvorbis &#8211;enable-libfaac &#8211;enable-libfaac &#8211;enable-shared &#8211;enable-nonfree &#8211;enable-version3 &#8211;disable-yasm 2, 有很多東西是 CentOS [...]]]></description>
			<content:encoded><![CDATA[<p>這裡介紹基於 CentOS 和 Asterisk 1.4.x 上架設 3G Video。我自己是參考了在 <a href="http://www.51asterisk.com/read.php?tid=516" target="_blank">51Asterisk</a>的一篇文章來架設自己的 3G Video作測試用途。實際難度不高，但我想這裡為其他細節上加多一兒補充。</p>
<p><span id="more-116"></span>設備如下：</p>
<p>AMD Althon dual core CPU</p>
<p>2GB RAM</p>
<p>Asterisk 1.4.21.2</p>
<p>DAHDI 2.4</p>
<p>libpri 14.11.4</p>
<p>CentOS 5.5</p>
<p>chan SS7 1.3</p>
<h1>安裝過程</h1>
<p>基本上安裝過程中沒有太大的困難。但有幾點心得：</p>
<p>1, compile ffmpeg 時，我是用以下的 configure:</p>
<p><span style="color: #ff6600;">./configure &#8211;prefix=/usr &#8211;enable-gpl &#8211;enable-libgsm &#8211;enable-libxvid &#8211;enable-libopencore-amrnb &#8211;enable-libopencore-amrwb &#8211;enable-libmp3lame &#8211;enable-libvorbis &#8211;enable-libfaac &#8211;enable-libfaac &#8211;enable-shared &#8211;enable-nonfree &#8211;enable-version3 &#8211;disable-yasm<br />
</span></p>
<p>2, 有很多東西是 CentOS 5.5 沒有的。以下是CentOS 上應該需要自行安裝的程式庫：</p>
<p>gsm-1.0.13</p>
<p>libgsm1-1.0.13</p>
<p>lame</p>
<p>xvid</p>
<p>opencore-amr</p>
<p>face-1.28</p>
<p>3, 更改 apps 上的 Makefile:</p>
<p><span style="color: #ff6600;">echo &#8220;app_mp4.so: app_mp4.o&#8221; &gt;&gt; /usr/src/server/asterisk-1.4.21.2/apps/Makefile<br />
echo &#8221; \$(CC) \$(SOLINK) -o \$@ \${CYGSOLINK} \$&lt; \${CYGSOLIB} -lmp4 -lmp4v2&#8243; &gt;&gt; /usr/src/server/asterisk-1.4.21.2/apps/Makefile</span></p>
<p>echo &#8220;app_transcoder.so: app_transcoder.o&#8221; &gt;&gt; /usr/src/server/asterisk-1.4.21.2/apps/Makefile<br />
echo &#8221; \$(CC) \$(SOLINK) -o \$@ \${CYGSOLINK} \$&lt; \${CYGSOLIB} -lavcodec&#8221; &gt;&gt; /usr/src/server/asterisk-1.4.21.2/apps/Makefile</p>
<p>echo &#8220;app_h324m.so: app_h324m.o&#8221; &gt;&gt; /usr/src/server/asterisk-1.4.21.2/apps/Makefile<br />
echo &#8221; \$(CC) \$(SOLINK) -o \$@ \${CYGSOLINK} \$&lt; \${CYGSOLIB} -lh324m&#8221; &gt;&gt; /usr/src/server/asterisk-1.4.21.2/apps/Makefile</p>
<h1>實際測試</h1>
<p>這裡發現有幾個問題：</p>
<p>1, RTSP 只能 resolve IP Address，如果用 FQDN 的話，RTSP 便會接駁不到。如果是真的話這需要改正 RTSP 的 source code 了。</p>
<p>2, mp4play()需要 hint track,如果 mp4 file 沒有 hint track，Asterisk 便不能夠正確讀取 file。</p>
<p><span style="color: #ff6600;">From Asterisk Guru:</span></p>
<p><span style="color: #ff6600;">mp4 files can have a hint track, which tells the application (e.g.<br />
mp4play) how to split the audio/video tracks into RTP packets. To hint<br />
an mp4 file use &#8220;mp4creator&#8221; from mpeg4ip tools. For example:</p>
<p>root@samuel:~# mp4info video.3gp </span> <span style="color: #ff6600;"><br />
mp4info version 1.5.0.1<br />
video.3gp:<br />
Track   Type    Info<br />
201     video   H.263, 253.240 secs, 34 kbps, 176&#215;144 @ 9.496920 fps<br />
101     audio   AMR, 253.260 secs, 13 kbps, 8000 Hz<br />
root@samuel:~# mp4creator -hint=201 video.3gp<br />
root@samuel:~# mp4creator -hint=101 video.3gp<br />
root@samuel:~# mp4info video.3gp<br />
mp4info version 1.5.0.1<br />
video.3gp:<br />
Track   Type    Info<br />
201     video   H.263, 253.240 secs, 34 kbps, 176&#215;144 @ 9.496920 fps<br />
101     audio   AMR, 253.260 secs, 13 kbps, 8000 Hz<br />
65436   hint    Payload H263-2000 for track 201<br />
65437   hint    Payload AMR for track 101</span></p>
<p>3, 用 SIP client 測試和用 E1 測試是有分別的。但暫時用 x-lite 測試 mp4play 也 OK。但我暫時未找到方法可以測試 mp4save()。</p>
<p>4, MP4Save() 只可以錄音，不能錄影。</p>
<p>5, 要找一條 E1 SS7 測試 H.324。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.asteriskpbxhk.com/portal/2010/11/08/116/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Off topic: Stay Hungry,Stay Foolish</title>
		<link>http://www.asteriskpbxhk.com/portal/2010/10/25/112/</link>
		<comments>http://www.asteriskpbxhk.com/portal/2010/10/25/112/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 15:05:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.asteriskpbxhk.com/portal/?p=112</guid>
		<description><![CDATA[出生即被未婚的母親送養，付不出昂貴的學費而輟學，被自己創立的公司開除，被醫生診斷出絕症&#8230;&#8230;這一連串的人生低潮，對Steve Jobs而言，卻是最美好的考驗，這位當今世界，舉足輕重的開路先鋒，真摯的分享他生命中的三段故事，沒有當初的難關，就沒有今日的Jobs,末了的一句﹣Stay Hungry,Stay Foolish﹣求知若飢，虛懷若愚，是他自己珍視的座右銘，也是獻給當今學子的真心勉勵。影片來源：Ted.com﻿]]></description>
			<content:encoded><![CDATA[<p>出生即被未婚的母親送養，付不出昂貴的學費而輟學，被自己創立的公司開除，被醫生診斷出絕症&#8230;&#8230;這一連串的人生低潮，對Steve Jobs而言，卻是最美好的考驗，這位當今世界，舉足輕重的開路先鋒，真摯的分享他生命中的三段故事，沒有當初的難關，就沒有今日的Jobs,末了的一句﹣Stay Hungry,Stay Foolish﹣求知若飢，虛懷若愚，是他自己珍視的座右銘，也是獻給當今學子的真心勉勵。影片來源：Ted.com﻿</p>
<p><span id="more-112"></span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="597" height="387" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/Ip0hG7FXVgs?fs=1&amp;hl=zh_TW" /><embed type="application/x-shockwave-flash" width="597" height="387" src="http://www.youtube.com/v/Ip0hG7FXVgs?fs=1&amp;hl=zh_TW"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.asteriskpbxhk.com/portal/2010/10/25/112/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dialogic DiaStar</title>
		<link>http://www.asteriskpbxhk.com/portal/2010/09/25/89/</link>
		<comments>http://www.asteriskpbxhk.com/portal/2010/09/25/89/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 17:17:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.asteriskpbxhk.com/portal/?p=89</guid>
		<description><![CDATA[要馬兒好，馬兒不能不吃草。要用好東西，需要一點付出也很正常。想要在 Asterisk 中使用 Dialogic強大功能已經有官方的支持。 DiaStar是由 Dialogic 直接贊助的開源專案。Asterisk 得到 Dialogic 的強大火力支援，更高階的系統開發也可以做到。但記住， Dialogic 是需要付費的。 http://www.projectdiastar.org/]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://www.projectdiastar.org/images/diastar-overview.png" alt="" width="438" height="170" /></p>
<p>要馬兒好，馬兒不能不吃草。要用好東西，需要一點付出也很正常。想要在 Asterisk 中使用 Dialogic強大功能已經有官方的支持。</p>
<p><a href="http://www.projectdiastar.org/">DiaStar</a>是由 Dialogic 直接贊助的開源專案。Asterisk 得到 Dialogic 的強大火力支援，更高階的系統開發也可以做到。但記住， Dialogic 是需要付費的。</p>
<p><a href="http://www.projectdiastar.org/">http://www.projectdiastar.org/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.asteriskpbxhk.com/portal/2010/09/25/89/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>OpenBTS &#8211; 打造山寨版GSM系統</title>
		<link>http://www.asteriskpbxhk.com/portal/2010/06/15/68/</link>
		<comments>http://www.asteriskpbxhk.com/portal/2010/06/15/68/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 17:54:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Sources]]></category>

		<guid isPermaLink="false">http://www.asteriskpbxhk.com/portal/?p=68</guid>
		<description><![CDATA[簡單地說， OpenBTS是一個開源GSM 基台(Base Transceiver Station)軟件，用戶只需要有一部 Linux, 加上 OpenBTS 和一組 名為 USRP (Universal Software Radio Peripheral)收發器 ，你便可以打造一個GSM 網路。 注意，這篇文章只是針對技術上的介紹和討論。本文無意鼓勵讀者使用該電訊設備。在香港，非法擁有或使用無線電器材是違法的。最高刑罰是被罰款港幣 100,000 及監禁五年。詳情可以參考電訊管理局網頁（http://www.ofta.gov.hk)。 USRP (Universal Software Radio Peripheral) 是一個可以經電腦軟件直接用 USB 或 Gigabit Ethernet (新的 USRP2)控制的無線電收發器(Software Radio)。其設計哲學是電腦軟件會擔任分析電波數據上的分析。比如 modulation / demodulation，而頻率上的sampling, 收發，或 Frequency Inversion 的底部動作便由 USRP FPGA 負責。 USRP 經不同模組的配搭，可以令 USRP 在不同的場合和需要上工作。例如 USRP 可以做 2.4GHz 旳 Wi-Fi 收發器，業餘無線電的火腿機 (HAM)，或可以做為以下文章所介紹的 GSM [...]]]></description>
			<content:encoded><![CDATA[<p>簡單地說， <a href="http://en.wikipedia.org/wiki/OpenBTS">OpenBTS</a>是一個開源GSM 基台(Base Transceiver Station)軟件，用戶只需要有一部 Linux, 加上 OpenBTS 和一組 名為 USRP (Universal Software Radio Peripheral)收發器 ，你便可以打造一個GSM 網路。</p>
<p><span style="color: #ff6600;">注意，這篇文章只是針對<span style="color: #ff6600;">技術上的介紹和討論。本文無意鼓勵讀者使用該電訊設備。在香港，非法擁有或使用無線電器材是違法的。</span></span><span style="color: #ff6600;">最高刑罰是被罰款港幣 100,000 及監禁五年。詳情可以參考<a href="http://www.ofta.gov.hk">電訊管理局</a>網頁（<a href="http://www.ofta.gov.hk">http://www.ofta.gov.hk</a>)。</span></p>
<p><span style="color: #ff6600;"><span id="more-68"></span><span style="color: #000000;"> </span></span></p>
<p><img class="alignleft" src="http://upload.wikimedia.org/wikipedia/en/d/db/Openbts-logo.png" alt="" width="57" height="74" /></p>
<p><span style="color: #ff6600;"><span style="color: #000000;">USRP (Universal Software Radio Peripheral) 是一個可以經電腦軟件直接用 USB 或 Gigabit Ethernet (新的 USRP2)控制的無線電收發器(Software Radio)。其設計哲學是電腦軟件會擔任分析電波數據上的分析。比如 modulation / demodulation，而頻率上的sampling, 收發，或 Frequency Inversion 的底部動作便由 USRP FPGA 負責。<br />
</span></span></p>
<p><span style="color: #ff6600;"><span style="color: #000000;">USRP 經不同模組的配搭，可以令 USRP 在不同的場合和需要上工作。例如 USRP 可以做 2.4GHz 旳 Wi-Fi 收發器，業餘無線電的火腿機 (HAM)，或可以做為以下文章所介紹的 GSM 基台。</span></span></p>
<p><a href="http://en.wikipedia.org/wiki/Universal_Software_Radio_Peripheral">http://en.wikipedia.org/wiki/Universal_Software_Radio_Peripheral</a></p>
<p><a href="http://gnuradio.org">http://gnuradio.org</a></p>
<p><a href="http://gnuradio.org/redmine/wiki/1/OpenBTSDesktopTestingKit">http://gnuradio.org/redmine/wiki/1/OpenBTSDesktopTestingKit</a></p>
<p><a href="http://tw.myblog.yahoo.com/bmw_lab/article?mid=215&amp;prev=216&amp;next=188">http://tw.myblog.yahoo.com/bmw_lab/article?mid=215&amp;prev=216&amp;next=188</a></p>
<p>USRP的硬體線路是公開的。有能力的可以為自己打造一台。</p>
<p><a href="http://code.ettus.com/redmine/ettus/projects/public/documents">http://code.ettus.com/redmine/ettus/projects/public/documents</a></p>
<p>OpenBTS 便是其中一個可以控制 USRP 的軟件，而她是針對 GSM  900MHz 而設計的控制軟件。她搭配 USRP加上適當的模組，便可以架設一個GSM 基台，你的 GSM 電話便會找到她。電話號碼也可以在 OpenBTS 中設定。</p>
<p>而且，OpenBTS 還可以搭配 Asterisk PBX 來把 OpenBTS 的 GSM 和 VoIP (SIP or IAX2) 或 PSTN 橋接在一起。這樣，在這 OpenBTS 下的 GSM 電話便可以經 Asterisk 撥號到其他的電信網路或其他地方。</p>
<p><a href="http://www.asteriskpbxhk.com/portal/wp-content/uploads/2010/06/15/openbts1.png"><img class="alignleft size-medium wp-image-77" title="openbts1" src="http://www.asteriskpbxhk.com/portal/wp-content/uploads/2010/06/15/openbts1-300x151.png" alt="" width="682" height="343" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.asteriskpbxhk.com/portal/2010/06/15/68/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Asterisk 和 Skype 的整合測試</title>
		<link>http://www.asteriskpbxhk.com/portal/2010/04/29/62/</link>
		<comments>http://www.asteriskpbxhk.com/portal/2010/04/29/62/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 06:49:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asterisk]]></category>

		<guid isPermaLink="false">http://www.asteriskpbxhk.com/portal/?p=62</guid>
		<description><![CDATA[http://www.chanskype.com/ 雖然她得到Skype 的認證，但如用過 Vosky ，尤其是需要與其他 PABX 整合時，會感覺到她的限制。所以，現在也需要考慮轉用 Asterisk 來嘗試代替Vosky。 這個 ChanSkype 是一個以Asterisk channel module 模式運作。即是我們可以在Dialplan 中用 Dial() 來Skypeout，或可以bridge 傳統的TDM或 SIP channel。 chanskype 的 Version 是 1.2.11 (FC6)。而chanskype 和 voskey 一樣需要安裝 skype (Linux)。我的經驗是：不要用新的。因為新的版本有很多setting 需要調較，所以建議用版本 1.3。 chanskype 網站有一套 skype 1.3 Linux 版可以下載。 我現在系統的配置如下： Fedora 8 Asterisk 1.4.21 VNC Server Skype 1.3 (Linux) Qt 3 Library AMD Alton [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.asteriskpbxhk.com/portal/wp-content/uploads/2010/04/29/chan-skype.gif"><img class="alignleft size-full wp-image-66" title="chan-skype" src="http://www.asteriskpbxhk.com/portal/wp-content/uploads/2010/04/29/chan-skype.gif" alt="" width="137" height="42" /></a><a href="http://www.chanskype.com/">http://www.chanskype.com/</a></p>
<p>雖然她得到Skype 的認證，但如用過 Vosky ，尤其是需要與其他 PABX 整合時，會感覺到她的限制。所以，現在也需要考慮轉用 Asterisk 來嘗試代替Vosky。</p>
<p style="text-align: justify;"><span id="more-62"></span>這個 ChanSkype 是一個以Asterisk channel module 模式運作。即是我們可以在Dialplan 中用 Dial() 來Skypeout，或可以bridge 傳統的TDM或 SIP channel。</p>
<p style="text-align: justify;">chanskype 的 Version 是 1.2.11 (FC6)。而chanskype 和 voskey 一樣需要安裝 skype (Linux)。我的經驗是：不要用新的。因為新的版本有很多setting 需要調較，所以建議用版本 1.3。 chanskype 網站有一套 skype 1.3 Linux 版可以下載。</p>
<p>我現在系統的配置如下：</p>
<ol>
<li><em>Fedora 8</em></li>
<li><em>Asterisk 1.4.21</em></li>
<li>VNC Server</li>
<li>Skype 1.3 (Linux)</li>
<li>Qt 3 Library</li>
<li><em>AMD Alton CPU</em></li>
<li><em>512 MB RAM</em></li>
</ol>
<p style="text-align: justify;">我嘗試過用CentOS 5.1 安裝但不成功。</p>
<p style="text-align: justify;">另外，系統需要跑 VNC Server。因為每一個chanskype channel 需要一個 Skype account 來支持channel 的運作。這個Skype 會在 VNC 的 Session 裏跑（這正如和 voskey 一樣，voskey需要有一部電腦跑 Windows）。</p>
<p style="text-align: justify;">首先，我們在 <a title="ftp://ftp.chanskype.com/download/packages/" href="ftp://ftp.chanskype.com/download/packages/">ftp://ftp.chanskype.com/download/packages/</a> 下載 chanskype 的 package。我系統是跑 Fedora 8，所以我會安裝<a href="ftp://ftp.chanskype.com/download/packages/chanskype-1.2.11-FC6.bin">chanskype-1.2.11-FC6.bin</a> 這 package。</p>
<p>另外，我也同時在<a title="ftp://ftp.chanskype.com/download/required/" href="ftp://ftp.chanskype.com/download/required/">ftp://ftp.chanskype.com/download/required/</a>中下載<a href="ftp://ftp.chanskype.com/download/required/skype-1.3.0.53-fc5.i586.rpm"> Skype 1.3 for Linux skype-1.3.0.53-fc5.i586.rpm</a>。</p>
<h3>安裝 ChanSkype</h3>
<p>準備好後可以開始安裝。在 shell 中跑 <a href="ftp://ftp.chanskype.com/download/packages/chanskype-1.2.11-FC6.bin">chanskype-1.2.11-FC6.bin</a></p>
<p>如無意外，shell 會顯示如下的資訊：</p>
<p><em>Verifying package integrity… OK! </em></p>
<p><em>ChanSkype files installed.<br />
Now follow the rest of the instructions in the Installation Guide.</em></p>
<h3>設定ChanSkype</h3>
<p style="text-align: justify;">安裝成功後你會在 /etc/asterisk 中看到 skype.conf。打開 skype.conf 然後修改 channels 來設定Asterisk 需要開 skype channels的數目。</p>
<p style="text-align: justify;">如果Asterisk 需要接受來自 Skype channel 的來電，我們便需要在 extensions.conf 設定 dialplan context 給 Skype channel。例如：</p>
<p>context = fromskype</p>
<p>而我現在系統的 skype.conf 配置如下：</p>
<p><em>[general]<br />
; general config options, default values are shown<br />
; all but debug can go also in the device-specific sections.<br />
debug=1             ; misc debug flags, default is 0<br />
channels=1<br />
context=fromskype      ; for calls FROM Skype users<br />
early_ringback=false  ; set to “true” so callers to Skype will<br />
; get a ringing tone straight away</em></p>
<h3>設定 Linux user account 給 ChanSkype</h3>
<p style="text-align: justify;">每一個 ChanSkype channel 是需要設定一個 Skype 。我們需要為每一個 ChanSkype channel 設定一個 Linux user account。而且我們也需要為每一個 Linux user account 設定一個 VNC Server session，利用 VNC Server 的GUI session來開啟 Skype 和 ChanSkype 所需的其他子系統。因此，如果Asterisk 需要開 10個 ChanSkype channel，那麼我們需要設定10個 Linux user account ，10個 VNC Server Session，和預備10個 Skype 的 account。所以這是很費時的步驟，用家要留意！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.asteriskpbxhk.com/portal/2010/04/29/62/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>看到O’Reilly出版社內部的電話系統已經全使用Asterisk後</title>
		<link>http://www.asteriskpbxhk.com/portal/2010/04/29/54/</link>
		<comments>http://www.asteriskpbxhk.com/portal/2010/04/29/54/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 06:26:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.asteriskpbxhk.com/portal/?p=54</guid>
		<description><![CDATA[看到O’Reilly出版社內部的電話系統已經全使用Asterisk後， http://www.oreillynet.com/etel/blog/2007/01/tim_oreilly_on_asterisk.html 開始想問，中港台三地現在有沒有關於 Asterisk應用案例呢？ 說實話，Asterisk 的功能真的很強大，功能也可以直迫老字號如 Nortel，Avaya等。但是它實在太年輕了，電話系統大部分是需要 7/24/365 不間斷工作，那麼穩定程度便來得極其重要(我對Asterisk 1.2.x 的穩定程度極有信心，但 Asterisk 1.4.x 真的要加倍努力了)，所以相比起其他 IT 系統，顧客對電話系統相對比較嚴苛了。但因為它真的太年輕，很多人會懷疑它的穩定程度，所以他們是不會選擇它的。所以我覺得，它現在需要的是時間的歷練，這樣顧客才會對它有信心。 不知道大家有沒有其他看法呢？請大家不要客氣啊！]]></description>
			<content:encoded><![CDATA[<p>看到O’Reilly出版社內部的電話系統已經全使用Asterisk後，<br />
<span id="more-54"></span></p>
<p><a href="http://www.oreillynet.com/etel/blog/2007/01/tim_oreilly_on_asterisk.html" target="_blank">http://www.oreillynet.com/etel/blog/2007/01/tim_oreilly_on_asterisk.html</a></p>
<p style="text-align: justify;">開始想問，中港台三地現在有沒有關於 Asterisk應用案例呢？</p>
<p style="text-align: justify;">說實話，Asterisk 的功能真的很強大，功能也可以直迫老字號如 Nortel，Avaya等。但是它實在太年輕了，電話系統大部分是需要 7/24/365 不間斷工作，那麼穩定程度便來得極其重要(我對Asterisk 1.2.x 的穩定程度極有信心，但 Asterisk 1.4.x 真的要加倍努力了)，所以相比起其他 IT 系統，顧客對電話系統相對比較嚴苛了。但因為它真的太年輕，很多人會懷疑它的穩定程度，所以他們是不會選擇它的。所以我覺得，它現在需要的是時間的歷練，這樣顧客才會對它有信心。</p>
<p style="text-align: justify;">不知道大家有沒有其他看法呢？請大家不要客氣啊！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.asteriskpbxhk.com/portal/2010/04/29/54/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Asterisk Gateway Interace (AGI)</title>
		<link>http://www.asteriskpbxhk.com/portal/2010/04/29/47/</link>
		<comments>http://www.asteriskpbxhk.com/portal/2010/04/29/47/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 06:23:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.asteriskpbxhk.com/portal/?p=47</guid>
		<description><![CDATA[Asterisk 提供了名為 Asterisk Gateway Interface (以下簡稱為 AGI) 的功能，開發者可能以透過 Dialplan 以外的工具或程式 (E.g. Perl, Shell Script,C++, Java, PHP, Mono, etc….)來開發Asterisk的應用程序，控制Asterisk 的 telephony channel，包括Play music,讀寫DTMF等等。 AGI 是一個獨立程式，Asterisk 會經由Dialplan 調用 AGI() 這一程式來執行AGI。它執行後便會用 stdin和 stdout 來控制Asterisk。直至那 channel 收線為止。 AGI 在Asterisk 下，會根據本身的用途和行為特徵分了四種類型: AGI &#8211; AGI 應用程序是與Asterisk 一同在本機內執行。 EAGI &#8211; 有別於 AGI，它除了用 stdin 和 stdout 外，它還會把   音訊輸出到 File descriptor 3。其他應用程式可以用它的File descriptor 3來搜取這channel [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Asterisk 提供了名為 Asterisk Gateway Interface (以下簡稱為 AGI) 的功能，開發者可能以透過 Dialplan 以外的工具或程式 (E.g. Perl, Shell Script,C++, Java, PHP, Mono, etc….)來開發Asterisk的應用程序，控制Asterisk 的 telephony channel，包括Play music,讀寫DTMF等等。</p>
<p style="text-align: justify;"><span id="more-47"></span>AGI 是一個獨立程式，Asterisk 會經由Dialplan 調用 AGI() 這一程式來執行AGI。它執行後便會用 stdin和 stdout 來控制Asterisk。直至那 channel 收線為止。</p>
<p>AGI 在Asterisk 下，會根據本身的用途和行為特徵分了四種類型:</p>
<ol>
<li>AGI &#8211; AGI 應用程序是與Asterisk 一同在本機內執行。</li>
<li>EAGI &#8211; 有別於 AGI，它除了用 stdin 和 stdout 外，它還會把   音訊輸出到 File descriptor 3。其他應用程式可以用它的File descriptor 3來搜取這channel 的音訊。</li>
<li>FastAGI &#8211; 用 TCP 和 port 4537 來連接 AGI。因此這樣AGI 程式是可   以安裝在網路上不同時的機器上。</li>
<li>DeadAGI &#8211; 這特別的AGI 只有在channel 掛線後才會起作用。</li>
</ol>
<p>可參考以下的網址進一步認識 AGI<br />
<a href="http://www.voip-info.org/wiki-Asterisk+AGI">http://www.voip-info.org/wiki-Asterisk+AGI</a></p>
<p>以下網址除了有AGI的語法外，還有各種範例提供<br />
<a href="http://home.cogeco.ca/%7Ecamstuff/agi.html">http://home.cogeco.ca/~camstuff/agi.html</a></p>
<h2>Fast AGI 的實例</h2>
<p>上月，我幫建設了一個基於Asterisk的電話系統。因為這電話系統的需求是：</p>
<ol>
<li style="text-align: justify;">平衡負載 &#8211; 這系統有多部 Asterisk 同一時間接聽電話，和收發傳真。倘若有其中一部出現問題時，其他 Asterisk 也可以在那時間分擔任務。</li>
<li style="text-align: justify;">我朋友的公司是從事電話服務系統相關的業務。因為那電話系統的流量極大，如果程式要在Asterisk Box 裏運行，那會加重Asterisk 的負擔。而且朋友想簡化系操作和維護程序，所以我自行開發了一個 Fast AGI Server (Application Server) 在某一伺服器上獨立執行。所有Asterisk Box 將會用Fast AGI 連接這台伺服器。因此，所有Call Flow，Business Logic，和其他與電話底層不相關的模組會全部由 Fast AGI Server 負責。而Asterisk 只負責電話底層的任務。</li>
</ol>
<p style="text-align: justify;">我們自行設計的 Application Server 是基於 MS-Windows 設計。它是以 Windows Service 形式運作。它會開一個 TCP Socket 4573 接收來自 Asterisk 的 FastAGI 要求。接受要求後，Asterisk 的Dialplan 便把控制權移交到 Application Server 中，而Asterisk 那方便一直等待，直至 Application Server 這方的工作完成為止。</p>
<p style="text-align: justify;">當然，Application Server 這方的控制程序並不是硬寫的。它借用了 Mozilla 的SpiderMonkey 模組作一個 Script Engine。SpiderMonkey 原是 Mozilla 和 FireFox的 JavaScript Engine。那麼，開發人員便可以像開發DialPlan一樣地簡單，用JavaScript 在Application Server上開發 Call Flow。</p>
<p style="text-align: justify;"><a href="http://www.mozilla.org/js/spidermonkey/">http://www.mozilla.org/js/spidermonkey/</a></p>
<p style="text-align: justify;">看過以下的網址後，你會發現 AGI 每一指令正是反映了Asterisk 在Dialpan 中的一道指令。而AGI 沒有提供的便可能以用 “Exec” 指令來呼叫 Asterisk 其他的指令。</p>
<p style="text-align: justify;"><a href="http://www.bitflipper.ca/Documentation/agi.html">http://www.bitflipper.ca/Documentation/agi.html</a></p>
<p style="text-align: justify;">那麼，我們可以用 SpiderMonkey 來定義我們的 Call Flow 語法和指令了。例如以下的 JavaScript：</p>
<p style="text-align: justify;">
<pre  name="code" class="javascript">function main() {
    var ret = Answer();

    if(ret == 0) {
        ret = PlayMsg(”hello-world”, “#”);
    }

    HangUp();
    return 0;
}</pre>
<p>在這個例子中，Answer(), PlayMsg(), 和 HangUp() 是我自行定義的 JavaScript 功能。 它內裏也只是調用到 Astreisk 或 AGI 的功能而已。</p>
<p>Application Server 一旦接收到 Asterisk 的 FastAGI 的請求後，Asterisk 會首先傳一組資料給 Application Server。這組資料可以給 Application Server 詳細的資訊來選擇Call Flow或其他功能。以下是 Asterisk 首先傳一組資料給 Application Server的例子。這樣段資料中，每一行它會用 line feed 作分隔，傳送完畢後會用兩個 line feed作完結。</p>
<pre  name="code" class="js">agi_network: yes
agi_request: agi://192.168.0.30/frame1?param1=1&amp;param2=2&amp;param3=3
agi_channel: Zap/1-1
agi_language: en
agi_type: Zap
agi_uniqueid: 1157046217.3
agi_callerid: 88888888
agi_calleridname: unknown
agi_callingpres: 0
agi_callingani2: 0
agi_callington: 0
agi_callingtns: 0
agi_dnid: unknown
agi_rdnis: unknown
agi_context: incoming
agi_extension: s
agi_priority: 2
agi_enhanced: 0.0
agi_accountcode:</pre>
<p>在這裡，我們可以看到什麼 channel（agi_channel) 用這AGI，對方的來電（agi_callerid, agi_calleridname），DNIS（afi_rdnis）等等。</p>
<p>另外，agi_request 便是在Dialplan 裏所調用 AGI()的 URL。例如上方的AGI request 便是由於以下的 Dialplan 調用：</p>
<pre name="code" class="js">[callflow]
exten =&gt; s,1,AGI(agi://192.168.0.30/frame1?param1=1&amp;param2=2&amp;param3=3)
</pre>
<p>這樣，Asterisk 便可以用URL來傳遞額外的參數，同時我們的 Application Server便可以用種種方法拆解這URL來得到那額外的參數了。</p>
<p>Application Server 做完以上的動作後，接著便會調用 SpiderMonkey 來運行我們預備好的 JavaScript。以後，所有關於 AGI 的動作將會由 JavaScript包裝起來，以下是一小段例子：</p>
<pre name="code" class="c++">
 JSBool CCallFlow::Script_PlayMessage(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){
 CString strMsg;
 JSBool ret = JS_FALSE;
 unsigned long scriptContextNo = 0;
 CCallFlow* lpThis = NULL;

 scriptContextNo = (unsigned long)cx;
 lpThis = (*mapScriptContext)[scriptContextNo];

 if(lpThis != NULL){
  strMsg.Format(”CCallFlow::Script_PlayMessage : Called”);
  lpThis->WriteSysLog(DDEBUG_LEVEL, strMsg);

  if(argc == 2){
   char strCmd[MAX_PATH];
   char strRet[MAX_PATH];
   char* strVoxFile;
   char* strDigit;

   ZeroMemory(strCmd, MAX_PATH);
   ZeroMemory(strRet, MAX_PATH);

   if(JSVAL_IS_STRING(argv[0])){
    strVoxFile = JS_GetStringBytes(JSVAL_TO_STRING(argv[0]));
    if(JSVAL_IS_STRING(argv[1])){
     strDigit = JS_GetStringBytes(JSVAL_TO_STRING(argv[1]));
     if(strlen(strDigit) <= 0){
      strDigit = “”"”;
     }
     wsprintf(strCmd, “STREAM FILE %s %sn”, strVoxFile, strDigit);
     lpThis->ProcessAGI(strCmd, strRet);
     Sleep(200);
     if(strlen(strRet) <= 0){
      sprintf(strRet, “%d”, 0);
     }

     JSString* str = JS_NewStringCopyZ(cx, lpThis->mapKeyPad[strRet].c_str());
     if(!str){
      ret = JS_FALSE;
     }else{
      rval[0] = STRING_TO_JSVAL(str);
      ret = JS_TRUE;
     }

    }else{
     strMsg.Format(”CCallFlow::Script_PlayMessage : Invalid digits”);
     lpThis->WriteSysLog(ERROR_LEVEL, strMsg);
    }
  }else{
    strMsg.Format(”CCallFlow::Script_PlayMessage : Invalid file”);
    lpThis->WriteSysLog(ERROR_LEVEL, strMsg);
   }
  }else{
   strMsg.Format(”CScriptHandler::Script_PlayMessage : parameters not match”);
   lpThis->WriteSysLog(ERROR_LEVEL, strMsg);
  }
 }else{
  strMsg.Format(”CScriptHandler::Script_PlayMessage[%d] : invalid script object.”, lpThis->label);
  lpThis->WriteSysLog(ERROR_LEVEL, strMsg);
 }
 return ret;
 }
</pre>
<p>大家會看到第三十和三十一行，在 JavaScript 眼裏看到是否一個 PlayMessage 的JavaScript Function，<br />
但這PlayMessage 裏是調用了 STREAM FILE 這個 AGI Function，而同時整合了一串參數（這裡是一個<br />
wave file name），然後調用 ProcessAGI()。ProcessAGI()只是很簡單地把這AGI Function 經<br />
Socket 傳遞到Asterisk 中。</p>
<pre name="code" class="c++">
 BOOL CCallFlow::ProcessAGI(char* strAGICmd, char* strRet){
 BOOL ret = FALSE;
 char _strRet[MAX_PATH];
 char _strRet2[MAX_PATH];

 if(sck != NULL){
  cout << strAGICmd << endl;
  ZeroMemory(_strRet, MAX_PATH);
  sck->Send((const char*)strAGICmd, strlen(strAGICmd));
  int len = sck->Receive(_strRet, MAX_PATH);
  if(len > 0){
   mapAGIResult.clear();
   if(strncmp(_strRet, “200 “, replyOffset) == 0){

    ZeroMemory(_strRet2, MAX_PATH);
    strncpy(_strRet2, _strRet + replyOffset, len - replyOffset);

    ParseCommand2(_strRet2, ‘ ‘, &#038;mapAGIResult);

    strcpy(strRet, mapAGIResult["result"].c_str());
    ret = TRUE;
   }else{
    mapAGIResult["return_error"] = _strRet;
   }
  }
 }
 return ret;
 }
</pre>
<p>其實，關於 SpiderMonkey 的 Document 不多，很多 SpiderMonkey 的功能是透過以下網址所得的資訊然後再推敲出來的。希望這樣篇文章可以幫到大家。</p>
<p><a href="http://www.mozilla.org/js/spidermonkey/">http://www.mozilla.org/js/spidermonkey/</a></p>
<p><a href="http://blog.gmane.org/gmane.comp.mozilla.devel.jseng">http://blog.gmane.org/gmane.comp.mozilla.devel.jseng</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.asteriskpbxhk.com/portal/2010/04/29/47/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>Asterisk 1.6 初試啼聲 &#8211; Asterisk 1.6.x 的實際環境測試</title>
		<link>http://www.asteriskpbxhk.com/portal/2010/04/29/33/</link>
		<comments>http://www.asteriskpbxhk.com/portal/2010/04/29/33/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 03:34:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[Feature]]></category>

		<guid isPermaLink="false">http://www.asteriskpbxhk.com/portal/?p=33</guid>
		<description><![CDATA[Asterisk 1.6 初試啼聲！ 實作環境如下： 硬件： Intel Desktop Board D865GBF Intel Pentium 4 2.6G CPU 4 x 1GB DDR 400 RAM 2 x WD 80GB SATA HDD Digium TE110 T1 board 軟件： CentOS 5.2 Asterisk 1.6.0.3 Asterisk Addons 1.6.0 libpri 1.4.7 DAHDI 2.1.0.3 DAHDI Tools 2.1.0.2 SpanDSP 0.0.5 pre 4 mpg123 1.6.4 T1 是用香港某大電信供應商，所以今次並不是實驗室環境下工作，是直接接駁街線，一個完全真實的環境下工作。 關於 T1 [...]]]></description>
			<content:encoded><![CDATA[<p>Asterisk 1.6 初試啼聲！</p>
<p><span id="more-33"></span></p>
<p>實作環境如下：</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td width="55" valign="top">硬件：</td>
<td width="343" valign="top"></td>
</tr>
<tr>
<td width="55" valign="top"></td>
<td width="343" valign="top">Intel Desktop Board D865GBF</td>
</tr>
<tr>
<td width="55" valign="top"></td>
<td width="343" valign="top">Intel Pentium 4 2.6G CPU</td>
</tr>
<tr>
<td width="55" valign="top"></td>
<td width="343" valign="top">4 x 1GB DDR 400 RAM</td>
</tr>
<tr>
<td width="55" valign="top"></td>
<td width="343" valign="top">2 x WD 80GB SATA HDD</td>
</tr>
<tr>
<td width="55" valign="top"></td>
<td width="343" valign="top">Digium TE110 T1 board</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td width="54" valign="top">軟件：</td>
<td width="344" valign="top"></td>
</tr>
<tr>
<td width="54" valign="top"></td>
<td width="344" valign="top">CentOS 5.2</td>
</tr>
<tr>
<td width="54" valign="top"></td>
<td width="344" valign="top">Asterisk 1.6.0.3</td>
</tr>
<tr>
<td width="54" valign="top"></td>
<td width="344" valign="top">Asterisk Addons 1.6.0</td>
</tr>
<tr>
<td width="54" valign="top"></td>
<td width="344" valign="top">libpri 1.4.7</td>
</tr>
<tr>
<td width="54" valign="top"></td>
<td width="344" valign="top">DAHDI 2.1.0.3</td>
</tr>
<tr>
<td width="54" valign="top"></td>
<td width="344" valign="top">DAHDI Tools 2.1.0.2</td>
</tr>
<tr>
<td width="54" valign="top"></td>
<td width="344" valign="top">SpanDSP 0.0.5 pre 4</td>
</tr>
<tr>
<td width="54" valign="top"></td>
<td width="344" valign="top">mpg123 1.6.4</td>
</tr>
</tbody>
</table>
<p>T1 是用香港某大電信供應商，所以今次並不是實驗室環境下工作，是直接接駁街線，一個完全真實的環境下工作。</p>
<p>關於 T1 下的Switch type 和 Protocol的設定如下：</p>
<p><strong>/etc/dahdi/system.conf　的內容節錄：</strong></p>
<p>span=1,1,0,esf,b8zs<br />
bchan=1-23<br />
dchan=24<br />
echocanceller=mg2,1-23</p>
<p><strong>/etc/asterisk/chan_dahdi.conf 　的內容節錄：</strong></p>
<p>switchtype=4ess<br />
allow=ulaw<br />
signalling=pri_cpe<br />
echocancel=yes</p>
<h2><strong>實作</strong><strong>1： 收發傳真，Asterisk 作為一台 Fax Server 的實作</strong></h2>
<p style="text-align: justify;">以往，Asterisk 在收發傳真這一功能上一直不合格。雖然Asterisk可以安裝 SpanDSP 這一 library 來支援傳真的功能，但可惜SpanDSP 在傳真這功能上一直未如理想。以往我們會倚靠一套老牌的 OpenSource Fax Server 名叫 Hylafax 來收發傳真。如果在 1.4.x 下而 linux kernel ver. 是 2.6.x 以上，我們可以選擇 Third party 的 module 來支援 Asterisk傳真例如 PikaFax這一個收費的 asterisk module。</p>
<p style="text-align: justify;">現在，Asterisk 1.6.x 如支持傳真功能的話便要安裝 SpanDSP 0.0.5 。實作上也確定 Asterisk 1.6.x  的收發傳真功能是成功的。我自己會用以下四個方式來測試傳真。</p>
<ol>
<li>經由 T1 Trunk 直接收發傳真</li>
<li>用最新版本的 ZoIPER (<a href="http://www.attractel.com/">http://www.attractel.com/</a>)經T.38  Protocol</li>
<li>架設兩部Asterisk。用第一部 Asterisk 經由 T1 Trunk 作Gateway，Fax traffic 會由 T1經第一部  Asterisk 再經 T.38 轉接到 第二部Asterisk收發傳真 。</li>
<li>架設兩部Asterisk。用第一部 Asterisk 經由 T1 Trunk 作Gateway，Fax traffic 會由 T1經第一部  Asterisk 再經SIP轉接到 第二部Asterisk收發傳真 。SIP 的 CODEC 會用 uLaw。</li>
</ol>
<p style="text-align: justify;">無論系統是經由 T1 Trunk或T.38 Fax Over IP 收發傳真也沒有問題。但如果對方沒有 T.38 Protocol 而是經由 SIP 再用 muLaw 來收發傳真的話也可以，但是 SIP + muLaw 我發現會有 loss Frame 的情況出現。但總括來說，今次Asterisk 收發傳真的實作是相當成功的。她現在已不須要用其他 Fax Server 比如 HylaFax 和其他 Third Party Module，自己已經 native support 傳真。我們也可以用 Dialplan 或是用 AGI 來直接管理收發傳真的功能。在Fax Server 或將來的Unified Messaging 系統上的實作上有很大的幫助！</p>
<p>Asterisk 1.6.x的傳真的實作有一樣要注意。在Dialplan 內呼叫 Fax application 與以往有所不同。以前收發傳真的  application 是 <em><strong>rxfax</strong></em> 和  <em><strong>txfax</strong></em>，但現在已經改為 <em><strong>ReceiveFax</strong></em> 和  <em><strong>TransmitFax</strong></em> 了。</p>
<h2>實作2：Asterisk 1.6.0.3 Manager API 的 Originate打不到電話的問題</h2>
<p>Manager API 有一個 Originate 的功能，可以指示 Asterisk 打電話，但發覺 Asterisk 1.6.x 的  Originate 無論我怎樣呼叫她也會傳回錯誤回來。</p>
<p>這應該是 Asterisk Manager 的錯誤了。</p>
<p>Asterisk Manager 的 source code 是在：</p>
<p><em>/asterisk-1.6.0.3/main/manager.c</em></p>
<p>在 manager.c 大約 2140 行有一 function 名：</p>
<p><em>static int action_originate(struct mansession *s, const struct message  *m)</em></p>
<p>這裏便是 Asterisk Manager  Originate 的真身了。</p>
<p>再看第2166 行，這裡是用作測試 channel name 是否 empty string，如果是empty string便傳回錯誤，否則便繼續。原本的  sorrce code 是這樣：</p>
<p><span style="color: #0000ff;">[2140] static int action_originate(struct mansession *s,  const struct message *m)<br />
{<br />
[2142]    const char *name =  astman_get_header(m, “Channel”);<br />
[2143]    const char *exten =  astman_get_header(m, “Exten”);<br />
[2144]    const char *context =  astman_get_header(m, “Context”);<br />
[2145]    const char *priority =  astman_get_header(m, “Priority”);<br />
[2146]    const char *timeout =  astman_get_header(m, “Timeout”);<br />
[2147]    const char *callerid =  astman_get_header(m, “CallerID”);<br />
[2148]    const char *account =  astman_get_header(m, “Account”);<br />
[2149]    const char *app =  astman_get_header(m, “Application”);<br />
[2150]    const char *appdata =  astman_get_header(m, “Data”);<br />
[2151]    const char *async =  astman_get_header(m, “Async”);<br />
[2152]    const char *id =  astman_get_header(m, “ActionID”);<br />
[2153]    const char *codecs =  astman_get_header(m, “Codecs”);<br />
[2154]    struct ast_variable *vars =  astman_get_variables(m);<br />
[2155]    char *tech, *data;<br />
[2156]    char *l =  NULL, *n = NULL;<br />
[2157]    int pi = 0;<br />
[2158]    int res;<br />
[2159]    int  to = 30000;<br />
[2160]    int reason = 0;<br />
[2161]    char  tmp[256];<br />
[2162]    char tmp2[256];<br />
[2163]    int format =  AST_FORMAT_SLINEAR;</span></p>
<p><span style="color: #0000ff;">[2165]    pthread_t th;<br />
[2166]    if  (!ast_strlen_zero(name)) {<br />
[2167]        astman_send_error(s, m, “Channel not  specified”);<br />
[2168]        return 0;<br />
[2169]    }</span></p>
<p>看來第2166行應該錯了。這裡應該改為：</p>
<p><span style="color: #0000ff;">[2165]    pthread_t th;<br />
<span style="color: #ff6600;">[2166]     if (ast_strlen_zero(name)) {</span><br />
[2167]        astman_send_error(s, m,  “Channel not specified”);<br />
[2168]        return 0;<br />
[2169]    }</span></p>
<p>改好了後，再compile 和 install。Originate 便可以正常工作了。</p>
<h2>實作3：Asterisk 1.6.x FastAGI和 Asterisk Java 與舊版本的小小不同</h2>
<p style="text-align: justify;">如果你的 Asterisk Java(<a href="http://asterisk-java.org/"></a><a href="http://asterisk-java.org" target="_blank">http://asterisk-java.org</a>/) FastAGI Server 要和新的Asterisk 1.6.x 實作時便要注意。以往如果 Asterisk 有 channel hangup 時，因為 FastAGI Server 的TCP connect 在 cahnnel hangup 後同時中斷的關係，AsteriskJava會throw一個 org.asteriskjava.fastagi.AgiNetworkException。但現在 Asterisk 1.6.x 在 channel hangup 後 TCP channel 仍然保持連線，所以這個 exception 便收不到了。如果你的 FastAGI Server 用Asterisk Java 的話，這點要注意。而channel hangup 後用 getChannelStatus() 這一個 function 會傳回 -1來代表 channel down。這點好Asterisk Java像沒有 doucment 到。而她們的 doucment 只說getChannelStatus()會傳回 0 來代表 channel down。但實作上這效果並不是這樣。</p>
<h2>實作4：Asterisk 1.6.x 大量關於設定的 Syntax不能與前版本相容</h2>
<p>比方以下的例子：</p>
<p>exten =&gt; _X.,n,SetTransferCapability(SPEECH)</p>
<p>在 Asterisk 1.6 以後便不能再使用了。這應改為：</p>
<p>exten =&gt; _X.,1,Set(TRANSFERCAPABILITY=SPEECH)</p>
<p>相關的資訊如下：</p>
<p><a title="http://www.voip-info.org/wiki/view/Asterisk+variables" href="http://www.voip-info.org/wiki/view/Asterisk+variables">http://www.voip-info.org/wiki/view/Asterisk+variables</a></p>
<h2>結論：</h2>
<p style="text-align: justify;">作為一部 IP-PBX來說，Asterisk 的功能絶對超班！而 Asterisk 1.6.x 絶對有當 Unified Messaging Service 的 IP-PBX 的潛力。問題是在較複雜的 Call Centre環境下，ACD 需要作較大的修改來支持Unified Messaging，<span style="color: #ff6600;">而且作為一部IP-PBX ，穩定絶對是第一位！這點Asterisk 1.2.x  表現很優秀！</span>Asterisk 1.6 必須通過數以年計的穩定性試煉。無論我們的 IP-PBX的功能是何等強大，始終電話已經是必須品，現在有很多緊急服務也需要用電話提供重要服務，客戶是很難容許一套不穩定的電話系統。所以把 Asterisk 納入你的專案時，不要當 Asterisk 是一套普通的電腦系統來看待，電話系統的 Service Level 的要求是相比其他的 IT 系統高出很多很多很多！所以如果開始計劃 Asterisk 作為你的 Key System時，不要吝嗇硬件的支出。稳定的系統是有利 Asterisk 的發揮。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.asteriskpbxhk.com/portal/2010/04/29/33/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

