本文是FreeSWITCH之父Anthony Minessale發(fā)表在Linked In上的文章,F(xiàn)reeSWITCH中文社區(qū)試著翻譯了一下,保留了英文原文。
The year 1996 was a significant one for me. My daughter, Abbi, was born, Brett Favre and the Green Bay Packers won the superbowl (for the first time in forever) and I started a journey into modern technology that has never seen a dull moment since. I had just started working for a company doing web hosting. What’s that you ask? Well you already know, but back then you probably would have asked. A crazy notion that you could take some unix shell accounts, use some server software to line up a directory in that shell account with something you can reach with a Web Browser, a fancy new software application promising to “Visualize” the Internet. The Internet, you know, that place we lovingly refer to daily as The Cloud.
1996年對(duì)我來(lái)說(shuō)是有意義的一年。我的女兒Abbi出生了,Brett Favre和Green Bay Packer贏得了超級(jí)碗冠軍(這是有史以來(lái)的第一次),我開始了一場(chǎng)進(jìn)軍現(xiàn)代科技的旅程,從那時(shí)起,我從未感受到任何乏味的時(shí)刻。我剛開始在一家公司做網(wǎng)絡(luò)托管的工作。您問那是什么?好吧,現(xiàn)在您已經(jīng)知道了,但那時(shí)您可能會(huì)問。您可以使用一些unix shell帳戶,使用一些服務(wù)器軟件在該shell帳戶中排列目錄實(shí)現(xiàn)使用Web瀏覽器訪問,實(shí)現(xiàn)“可視化”互聯(lián)網(wǎng),這可是一個(gè)瘋狂的想法;ヂ(lián)網(wǎng),如你所知,我們?nèi)粘7Q其為云端。
Obviously Today we say “Duh, I have a web browser on everything I own.” and “Of course, we love the cloud, we can make anything possible by harnessing the power of the cloud with all its mighty synergy and data driven yada yada!” Back in 1996, that was not so evident to everyone but I remember those early days vividly. I must admit I’ve been caught a few times folding my arms saying. “The cloud? You mean the Internet…..?”。
很明顯,今天我們會(huì)說(shuō):“啊,我所有的東西都有一個(gè)網(wǎng)絡(luò)瀏覽器。當(dāng)然,我們喜歡云,我們可以通過(guò)利用云的強(qiáng)大協(xié)同作用和數(shù)據(jù)驅(qū)動(dòng)的Yada yada來(lái)實(shí)現(xiàn)任何事情!“早在1996年,這一點(diǎn)對(duì)每個(gè)人來(lái)說(shuō)都不是那么明顯,但我清楚地記得那些早期的日子。我必須承認(rèn)我曾幾次交叉雙臂說(shuō)。“云端?你是說(shuō)互聯(lián)網(wǎng)….“。
In 1992-1993, I was already interested in computers but not yet fully woke to the wonders of the Internet. My experiences were limited to what I did with my university shell account which included: FTP-ing files from ftp.funet.fi on an IBM-3151 UNIX terminal and playing on muds (real time text-based multi-user gaming). While I was still trying to figure out this thing called C that let me say “hello” to the whole world, the first idea of a web browser was emerging in something known as Mosaic, a software that could let you visit Gopher, NNTP and Web Pages, a fancy new visual document you could connect to with a special address called a URL. The idea was, if everyone got a $3,000.00 machine called a personal computer in their house and used up some of their precious real-estate in their living room, they could sit at this contraption and “browse” by connecting this machine to a phone line in your house and try to find your way online at a blazing 9600 bits per second of information.
在1992-1993年,我已經(jīng)對(duì)計(jì)算機(jī)感興趣了,但還沒有完全意識(shí)到互聯(lián)網(wǎng)的奇妙之處。我的經(jīng)驗(yàn)僅限于我對(duì)shell帳戶所做的工作,其中包括:IBM-3151 UNIX終端上ftp.funet.fi中的FTP-ing文件,以及在muds(基于實(shí)時(shí)文本的多用戶游戲)上播放的文件。當(dāng)我還在試圖找出一個(gè)叫做C的東西,讓我向全世界說(shuō)“你好”的時(shí)候,網(wǎng)絡(luò)瀏覽器的第一個(gè)想法出現(xiàn)在一種被稱為Mosonic的軟件中,這個(gè)軟件可以讓你訪問Gopher,NNTP和網(wǎng)頁(yè),一個(gè)奇特的新可視文檔,您可以使用URL的特殊地址鏈接到該文檔。這個(gè)想法是,如果每個(gè)人在他們的房子里都有一臺(tái)價(jià)值3,000.00美元的機(jī)器叫做個(gè)人電腦,并在他們的起居室中占用掉了一些寶貴的空間,他們可以坐在這個(gè)設(shè)備旁,通過(guò)這臺(tái)機(jī)器連接到家里的電話線來(lái)“瀏覽”,并嘗試以9600 bit/s的速度在線找到您的消息。
In 1994, we were introduced to Netscape, the first Web Browser typical people might actually use. (By typical people, I mean not crazy tech nuts like myself who would try to translate a port mapping from the university mainframe over dialup meant for telnet access and get a TCP/IP stack running so I can see Mosaic run and connect to a real page, if but for a minute) In 1995 we saw the coming of Internet Explorer Microsoft’s acknowledgement this might be a fun game. Also in 1995, we saw Mysql and Apache spring to life. Mysql was a freely available open source server-side database and Apache was an open source web server derived from the one developed at NCSA http://www.ncsa.illinois.edu/ , an amazing project then and now that popularized many key components on the Internet including the web server and its browser.
在1994年,我們被介紹到網(wǎng)景,這可能是真正使用的Web瀏覽器的第一批典型人物。(所謂典型人物,我指的不是像我這樣瘋狂的技術(shù)瘋子,他們會(huì)試圖把大學(xué)主機(jī)上的端口映射轉(zhuǎn)換為用于telnet訪問的撥號(hào),并讓TCP/IP堆棧運(yùn)行,這樣我就可以看到Mosaic運(yùn)行并連接到一個(gè)真正的頁(yè)面,如果只是一會(huì)兒的話)在1995年,我們看到了Internet資源管理器的出現(xiàn),微軟承認(rèn)這可能是一個(gè)有趣的游戲。也是在1995年,我們看到MySQL和Apache栩栩如生。MySQL是一個(gè)免費(fèi)提供的開源服務(wù)器端數(shù)據(jù)庫(kù),Apache是一個(gè)開源web服務(wù)器,源于NCSA開發(fā)的。http://www.ncsa.illinois.edu/,這是一個(gè)令人驚嘆的項(xiàng)目,它在Internet上推廣了許多關(guān)鍵組件,包括Web服務(wù)器及其瀏覽器。
So here I am in 1996. Brand new toys and they are basically free and a fancy new idea to put them all together like some kind of communication puzzle. We have a web server, we know anyone with a home pc and emerging internet access will be able to visit this web site, so, what now? Maybe we can make online brochures for everyone! Wait? We also have a free database. We can store information and retrieve it and we can also run programs on the other side of that web browser that look like web pages to everyone else but its really running my program every time someone visits a new link. Mwa ha ha! I bet we can do something interesting with that beyond printing static words and pictures. In fact, you can run programs IN THE BROWSER TOO? Wait? I could write programs on my web server that write more programs that are downloaded and run. This is getting interesting. I know, what if I made free email where you used this web browser thing to read it? Nah, that sounds stupid but hey you never know! What if I made a site where you can build more web sites while you were at the site? Site Inception! *shrug* Maybe, I could make a customer relationship thing where all your customer data and communications with support is saved into a db and you can manage all of your communications with them from a browser!
所以我在1996年。全新的玩具,他們基本上是免費(fèi)的并且是一個(gè)奇特的新想法,把他們放在一起,就像某種溝通難題一樣。我們有一個(gè)網(wǎng)絡(luò)服務(wù)器,我們知道任何一個(gè)家庭PC和新興的互聯(lián)網(wǎng)接入將能夠訪問這個(gè)網(wǎng)站,那么,現(xiàn)在呢?也許我們可以為每個(gè)人制作在線宣傳冊(cè)!我們還有一個(gè)免費(fèi)的數(shù)據(jù)庫(kù)。我們可以存儲(chǔ)和檢索信息,我們也可以在Web瀏覽器的另一邊運(yùn)行程序,這像再看其他人的網(wǎng)頁(yè),但每次有人訪問新鏈接時(shí),它都會(huì)運(yùn)行我的程序。哈哈!我敢打賭,除了打印靜態(tài)文字和圖片外,我們還可以做一些有趣的事情。實(shí)際上,你也可以在瀏覽器中運(yùn)行程序嗎?我可以在我的Web服務(wù)器上編寫程序,編寫更多可下載運(yùn)行的程序。越來(lái)越有趣了。我知道,如果我使用這個(gè)網(wǎng)絡(luò)瀏覽器閱讀它的免費(fèi)電子郵件怎么辦?不,聽起來(lái)很蠢,但嘿,你永遠(yuǎn)也不知道!如果我建立了一個(gè)網(wǎng)站,您也可以在網(wǎng)站上建立更多的網(wǎng)站!*聳聳肩*也許,我可以做一個(gè)客戶關(guān)系的管理,您所有的客戶數(shù)據(jù)和支持下的通信都被保存到數(shù)據(jù)庫(kù)中,您可以通過(guò)瀏覽器管理您與他們的所有通信!”。
Some of these ideas were had by many and yes I did try to make all of those things myself using the prehistoric tools I had back then and yes, some of them became a thing we know today and it wasn’t my version but one thing was consistent. The spark that ignited back then has continued to burn into an ever-increasing potential for communication. Every year since, more doors are opened by faster Internet connectivity, smaller and faster computers and new and amazing advancements on how to leverage the tools that first appeared in the late 90’s. Since that time we’ve had a bubble burst from too much too soon and economic setbacks and horrible catastrophes shape the way we communicate.
其中一些想法已被許多人所接受,是的,我確實(shí)嘗試使用我當(dāng)時(shí)所擁有的史前工具來(lái)制作所有這些東西,是的,它們中的一些成為了我們今天所知道的東西,這不是我的版本,但有一件事是一致的。那個(gè)時(shí)候點(diǎn)燃的火花一直在燃燒,成為一種不斷增長(zhǎng)的交流潛力。自那以后,更快的互聯(lián)網(wǎng)連接、更小更快的計(jì)算機(jī)和如何利用90年代后期首次出現(xiàn)的新工具以驚人的進(jìn)步打開了更多的大門。從那時(shí)起,我們就經(jīng)歷了一個(gè)泡沫的破滅,經(jīng)濟(jì)的挫折和可怕的災(zāi)難影響了我們溝通的方式。
In the early 2000’s my web hosting company had evolved into touching more verticals like domain hosting and registration, outsourced technical support and dial-up Internet provider. Suddenly I had a need to involve making phone calls into the mix. We had e-mail and a CRM (I actually made it with… guess what? a web server and a database!) but we wanted to be able to take lots of calls and see who was calling from the web and allow the agents to be anywhere and still be able to be part of the system. This is when I met Asterisk!
在2000年初,我的網(wǎng)絡(luò)托管公司已經(jīng)拓展了更多的垂直領(lǐng)域,比如域名托管和注冊(cè), 外包技術(shù)支助和撥號(hào)互聯(lián)網(wǎng)提供商。突然間,我需要和撥打電話混為一談。我們收到了e-mail和CRM(我實(shí)際上是用…做的,你猜怎么著?一個(gè)Web服務(wù)器和一個(gè)數(shù)據(jù)庫(kù)!)但是我們希望能夠接聽大量的電話,看看是誰(shuí)從網(wǎng)絡(luò)上打來(lái)的,并且允許代理商在任何地方,仍然能夠成為系統(tǒng)的一部分。這就是我遇到Asteris的時(shí)候。
Asterisk was an open source PBX that allowed physical phone lines to be plugged into a PC running linux and do stuff with the calls inside your computer. It had application services for things like call queues and it seemed a perfect friend for my database, web server and other tools it even supported some new fangled Internet based communication protocols that were emerging. The wonders of the magical Cloud strike again.
Asterisk是一個(gè)開源的PBX,它允許物理電話線插入到運(yùn)行Linux的PC上,并在您的計(jì)算機(jī)內(nèi)進(jìn)行通話。它有像呼叫隊(duì)列這樣的應(yīng)用程序服務(wù),它似乎是我的數(shù)據(jù)庫(kù)、Web服務(wù)器和其他工具的完美朋友,它甚至支持一些新的基于互聯(lián)網(wǎng)的通信協(xié)議。云的奇跡再次襲來(lái)。
A problem soon surfaced with this idea, however. Asterisk “did what it did” and that did not always line up with what I wanted it to do. It was open source so, no problem! This was the beginning of when I learned how hard it is to make telecommunications work. Not just the software, the phone lines, or the phone service and the physical equipment needed and having all the moving parts work together. Soon I found myself under the hood of Asterisk nearly every day. It was actually kind of fun (but not always). I put a whole bunch of effort trying to take some of my visions and impart them into the design of the software as a whole, guided by the things I wanted to be able to do to make the ideas I had possible. One day, after realizing that while I enjoyed working on Asterisk, I might have ideas for it beyond its scope and maybe I was doing it more harm than good, I just opened a new empty file and started typing what would end up being my own fluffy contribution to the cloud, FreeSWITCH.
然而,這個(gè)想法很快就出現(xiàn)了一個(gè)問題。Asterisk“做了它所做的”,而這并不總是符合我的要求。它是開源的,所以,沒問題!這是我學(xué)習(xí)電信工作困難的開始。不僅僅是軟件、電話線、電話服務(wù)和所需的物理設(shè)備,而且所有的移動(dòng)部件都可以協(xié)同工作。很快,我發(fā)現(xiàn)自己幾乎每天都被Asterisk遮住。這實(shí)際上是一種樂趣(但并不總是如此)。我花了大量的精力,試圖把我的一些想法,并把他們作為一個(gè)整體的軟件設(shè)計(jì),指導(dǎo)我想要做的事情,使我有可能實(shí)現(xiàn)這些想法。有一天,當(dāng)我意識(shí)到我喜歡使用Asterisk的時(shí)候,我可能會(huì)超出它的范圍,也許我做的是弊大于利,于是我打開了一個(gè)新的空文件,開始輸入最終會(huì)成為我自己對(duì)云貢獻(xiàn)的東西,F(xiàn)reeSWITCH。
FreeSWITCH is my own vision on what a communications platform should be. I was heavily influenced by my past experiences and all of the great things I really liked about server-side software platforms like Apache and Postgres and UNIX in general. I started writing code in 2005 and today in 2018 its still growing. Throughout this 15 year stint in software development I have tried to empower developers with a similar path to have a path forward in building communications tools. We have modular interfaces and plug-ins and the ability to add new communications protocols and use an event-bus to get metadata about calls and many other things.
FreeSWITCH是我自己關(guān)于通信平臺(tái)應(yīng)該是什么樣子的愿景。我深受我過(guò)去的經(jīng)歷和所有我真正喜歡的服務(wù)器端軟件平臺(tái)(如Apache、Postgres和UNIX)的影響。我從2005年開始編寫代碼,到2018年我開始編寫代碼,現(xiàn)在它還在增長(zhǎng)。在這15年的軟件開發(fā)生涯中,我一直試圖使開發(fā)人員能夠在構(gòu)建通信工具方面取得進(jìn)展。我們有模塊化的接口和插件,能夠添加新的通信協(xié)議,并使用事件總線獲取有關(guān)呼叫和許多其他事情的元數(shù)據(jù)。
Today, not only have I developed software that runs in the “Cloud”, I have found a way to connect it back with my beloved web browser. Somewhere in the timeline, (2013-ish IIRC), we suddenly have WebRTC, The ability to make voice and video connections from a modern web browser. Holy crap, I can work with this! I developed a prototype protocol called Verto for connecting FreeSWITCH to a browser and making calls and all kinds of fun stuff. Too bad I can’t go back in time and give these tools to myself in 1996. Great Scott!
今天,我不僅開發(fā)了運(yùn)行在“云”中運(yùn)行的軟件,還找到了一種將它與我心愛的網(wǎng)絡(luò)瀏覽器連接起來(lái)的方法。在時(shí)間軸的某個(gè)地方,(2013- Ish IIRC),我們突然擁有WebRTC,即在現(xiàn)代網(wǎng)絡(luò)瀏覽器上建立語(yǔ)音和視頻連接的能力。天哪,我可以用這個(gè)!我開發(fā)了一個(gè)名為Verto的原型協(xié)議,用于將FreeSWITCH連接到瀏覽器,并撥打電話和各種有趣的東西?上也荒芑氐竭^(guò)去,把這些工具給1996年的自己。Great Scott!
Still despite all this work, a lot of complexity remains and many developers feel a barrier-to-entry trying to get up to speed. All the while I’ve been inspired by that same spark back in 1996. This is why as I look to the future I only saw one possibility. Developers are emerging faster and need a lower learning curve to leverage communications. We need a way to provide them with the tools they need and access to this magnificent Internet (*cough* cloud) that i’ve been fascinated with for 20 years. In order to do this right I needed to pull together my entire rolodex of developers and bring our technology to the mainstream. Just like the good old days of getting computers and visual internet into the hands of the people, we need to bring communications to the people with the help of the developers of the world.
盡管做了這些工作,但仍然存在許多復(fù)雜的問題,許多開發(fā)人員都感覺到了難以加速進(jìn)入。我一直受到1996年同樣激勵(lì)。這就是為什么當(dāng)我展望未來(lái)時(shí),我只看到了一種可能性。開發(fā)人員出現(xiàn)得更快,需要一個(gè)較低的學(xué)習(xí)曲線來(lái)利用通信。我們需要一種方法,為他們提供他們所需要的工具,并訪問這個(gè)我已經(jīng)著迷了20年的宏偉的互聯(lián)網(wǎng)(*咳嗽*云)。為了正確地做到這一點(diǎn),我需要整合開發(fā)人員的整個(gè)rolodex,并將我們的技術(shù)帶入主流。就像過(guò)去把電腦和可視互聯(lián)網(wǎng)交到人們手中的美好時(shí)光一樣,我們需要在世界各地的開發(fā)者的幫助下把通訊帶給人們。
I founded SignalWire in late 2017 because I can’t stop looking for ways to advance how we use the Internet for new and amazing things. We are a cloud company but it’s not just a buzzword to us though I still do get triggered by its overuse sometimes ;) We want to push the limits of communications as far as we can, so one day, in 2038, we can write another article about how silly things were back when we had to convince people we can give them a magical socket that unlocked everything they needed to build any infrastructure and applications they ever dreamed of and connect the tiny computers in their pockets to machine learning and artificial intelligence platforms using only their voice to interact. We can reminisce about Creating video conferences inside a virtual or augmented reality interface or remember how there used to be this thing called a phone company who was in charge of all the phone calls you made and limited who and where you could communicate.
在2017年末我創(chuàng)立了SignalWire,因?yàn)槲覠o(wú)法停止尋找方法來(lái)推進(jìn)我們?nèi)绾问褂没ヂ?lián)網(wǎng)獲取新的和令人驚奇的東西。我們是一家云計(jì)算公司,但對(duì)我們來(lái)說(shuō),這不僅僅是一個(gè)時(shí)髦的詞,雖然有時(shí)還是會(huì)被過(guò)度使用,觸發(fā)我們想盡可能地?cái)U(kuò)大交流的范圍,所以有一天,在2038年,我們可以寫另一篇文章,講述當(dāng)我們不得不說(shuō)服人們,我們可以給他們一個(gè)神奇的東西,建立他們夢(mèng)寐以求的任何基礎(chǔ)設(shè)施和應(yīng)用程序,并將微型計(jì)算機(jī)連接到機(jī)器學(xué)習(xí)和人工智能平臺(tái)僅用他們的聲音互動(dòng)。我們可以回憶一下在虛擬或增強(qiáng)現(xiàn)實(shí)界面中創(chuàng)建視頻會(huì)議,或者記得曾經(jīng)有過(guò)一個(gè)叫做電話的東西,他負(fù)責(zé)你打的所有電話,并限制你能在哪里和誰(shuí)溝通。
I invite you all to learn more about SignalWire and FreeSWITCH and to join us on the next chapter of the cloud and see where that original spark takes us and live by our motto: Develop. Deploy. Disrupt!
我誠(chéng)摯邀請(qǐng)您加入我們,更多地了解SignalWire和FreeSWITCH,一起探索關(guān)于云的下一個(gè)篇章。不忘初心,繼續(xù)前進(jìn)。我們的座右銘是——開發(fā)、部署、破壞!