Menu Zavrieť

Mobicents – SIP Servlets Server

1. Úvod do servera SIP servletov

 

Mobicents SIP (Session Initiation Protocol) Servlets prinášajú konzistentnú, otvorenú platformu na ktorej možno vyvíjať a „rozmiestniť“ prenostieľné a distribuované služby SIP a JEE(Java Enterprise Edition). Mobicents SIP Servlets Server je certifikovaná implementácia SIP Servletu v1.1 (JSR 289) špecifikácie, ktorá môže byť spustená nad JBoss Aplikačným Serverom, alebo Tomcat Server Containerom.

Mobicents SIP Servlets pre JBoss (MSS pre JBoss) sa usiluje o vývoj súčinnosti štandardov medzi SIP Servletmi a JSLEE (Java Service Logic Execution Environment), takže aplikácie môžu využiť výhody oboch.

 

Vlastnosti Mobicents SIP Servlets Servera  

 

·         prvá certifikovaná implementácia SIP Servlet v1.1 (JSR 289)

·         momentálna hodnota 100 hovorov za sekundu počas 24 hodín: 8,640,000 hovorov [jún 2010]

·         load balancing, cluster a failover podpora

·         konvergovaný SIP a HTTP session management

·         Management Console založená na browseri, cez web rozhranie

·         zbalená demonštrácia súčinnosti JSLEE/SIP aplikácie pre MSS pre JBoss

·         Mobicents Media Server

·         extenzie ako napr. SUBSCRIBE/NOTIFY, a iné…

 

1.1.        Vysoká dosiahnuteľnosť: Server SIP Servletov a Load Balancing, Clustering a Failover

 

Telekomunikačné aplikácie požadujú vysokú dosiahnuteľnosť, toleranciu chýb, ľahkú rozšíriteľnosť a výkon. Za predpokladu aplikácií, ktore umožňujú vysokú dosiahnuteľnosť, ktoré sú tolerantné voči chybám je toto všeobecne dosiahnuté pomocou „Clustering“ technológií.

Clustering je komplexná vec, ktorá je často používaná na kolektívne adresovanie viacerých techník určených na vylepšenie vysokej dostupnosti a rozšíriteľnosti služieb a aplikácií. Takých techník ako „distributed state replication“, „load balancing“ a „failover capabilities. Používanie hociktorej z týchto techník zlepšuje aj spoľahlivosť, aj výkon, ale jedno na úkor toho druhého. Vyžaduje to opatrnú analýzu situácií, ktoré sa reálne odohrávajú, aby bolo možné vytvoriť architektúru, ktorá reprezentuje oprimálnu kombináciu spoľahlivosti a výkonu.

Momentálna architektúra Mobicentsu môže byť popísaná ako „hviezdicová topológia“ so symetrickými aplikačnými servermi a rýchlym „load-balancing“ elementom so vstavanou logikou predchádzania chýb. Množstvo replikácie stavu je udržiavané na minime pre maximalnu rozšíriteľnosť s dostatočne vysokou spoľahlivosťou.

SIP Load Balancer

Pojmy „clustering“ a definície pre Mobicents SIP Servlety.

Pre účely jednoduchosti, sekcie vysokej dosiahnuteľnosti SIP Servletov používajú pojmy ako cluster myslené špecificky ku kontextu Mobicents SIP Servletov.

Rozdiel medzi pojmom Cluster a možnosťami Clusteringu (clustering capabilities).

Cluster je hocijaká heterogénna skupina SIP Servlet Serverov(uzlov) za SIP load balancerom. Tieto SIP Servlet Servery môžu byť aj MSS pre JBoss servere, alebo MSS pre Tomcat servere. Minimálne množstvo uzlov je jeden. V takomto prípade sa jedna o degradovaný cluster.

Clustering capabilities predstavuje homogénnu skupinu MSS pre JBoss za SIP load balancerom kde toto umožňuje JBoss špecifické clustering možnosti.(state replication, failover)

Uzol (node) je jednoducho SIP Servlet Server v clusteri. Môže ním byť aj MSS pre JBoss, alebo MSS pre Tomcat.

SIP Load Balancer nie je samostatný SIP Servlet Server. Skôr je to jednoduchý proxy server, ktorého prímárnym účelom je inteligentne smerovať SIP requesty a odpovede(replies) medzi funkčnými a dostupnými SIP Servlet Servermi v spoločnom clustri na lokálnej sieti (LAN) a používateľsmými agentami (UA) pristupujúcimi k SIP službe, alebo aplikačná forma WAN. SIP Load Balancer sa chová ako brána (gateway) medzi WAN s používateľskými agentami (UA) a LAN, v ktorej SIP Servlet Servre sa združujú v clustri.

 

1.2.        Práca so SIP Servlets manažment konzolou

 

Po nainštalovaní SIP Servlets, manažment konzola može byť sprístupnená a konfigurovaná aj serverom MSS pre JBoss aj MSS pre Tomcat. Konzola je dostupná na http://localhost:8080/sip-servlets-management/.

\Users\Peter\Desktop\mss-MSSSManagementConsole-ss-ManagementConsole.png

Informácie ako používať SIP Servlet manažment konzolu sú dostupné z Help linky na vrchu v hlavnom menu.

\Users\Peter\Desktop\mss-MSSSManagementConsole-ss-Help.png

Novšie verzie SIP Servlet manažment konzoly majú novú položku Server Settings, v ktorej možu byť menené nastavenia pre concurrency a congestion.

\Users\Peter\Desktop\mss-MSSSManagementConsole-ss-ServerSettings.png

 

2. Inštalácia SIP Servlets Servera, konfigurácia a spustenie

 

2.1.        SIP Servlet – aktivovaný JBoss Aplikačný server: Inštalácia, konfigurácia a spustenie

 

Mobicents SIP Servlets Server môže bežať aj na JBoss Aplikačnom Serveri, aj na Tomcat Servlet Kontaineri. V tejto časti je popis, ako inštalovať SIP Servlets Server nad JBoss Aplikačným Serverom.

Je odporúčané spúšťať SIP Servlets Server nad JBoss platformou. Niektoré funkcie, ako napríklad schopnosť vykonať príklady niektorých SIP rozšírenií nie je možné v Tomcat verzií.

Rozdiely medzi štandardnou inštaláciou JBossu a verzie Mobicents SIP Servlets.

·          server/default/deploy adresár obsahuje aj HTTP a aj SIP Servlet aplikácie (WAR a SAR2 súbory).

·          server/default/deploy/jboss-web.deployer a server/default/deploy/jbossweb.sar súbory boli upravené aby poskytli rozšírené triedy pre štandardné JBoss container triedy, aby umožnili SIP aplikáciam ich načítanie a súčasne štart SIP stacku.

·          server/default/deploy/jboss-web.deployer a server/default/deploy/jbossweb.sar context.xml súbory boli upravené aby umožnili rozšírenému manažéru manažment SIP relácií a SIP aplikačných relácií narozdiel od HTTP relácií.

·          server/default/deploy/jbossweb.sar/ server.xml súbor bol upravneý aby umožnil rozšíreným triedam prostosť JBoss Web containerov. Triedy umožňujú SIP aplikáciam ich načítanie a súčasne štart SIP stacku.

·         server/default/deploy/jbossweb.sar/ jboss-beans.xml súbor bol upravneý aby umožnil JBoss containeru spracovanie SIP správ.

·         server/default/deployers/ metadata-deployer-jboss-beans.xml súbor bol upravneý aby umožnil JBoss parsovanie sip.xml „deployment descriptor-ov“ a SIP metadata anotácií.

·         server/default/deploy/jboss-web.deployer/META-INF/jboss-service.xml súbor a  server/default/deploy/jboss-web.deployer/META-INF/webserver-xmbean.xml súbor boli upravené takže je teraz pre JBoss containery možné správne „deploy-nuť“ SIP servlety a convergované aplikácie.

·         dar adresár obsahujúci všetky súbory vlastností Default Application Routera (DAR) pre použitie rozdielnych SIP Servlets aplikácií (ktoré sú závislé od verzie) bol pridaný do adresára server/default/conf.

·         Prídavné JAR súbory boli pridané pre zapnutie SIP Servlet funkcionality; tieto sú umiestnené v adresároch server/default/deploy/jboss-web.deployer/ a server/default/deploy/jbossweb.sar/.

 

2.1.1.Java Development Kit (JDK): Inštalácia, konfigurácia a spustenie

 

Platforma Mobicents je naprogramovaná v Jave, preto pred spustením hocijakého Mobicents servera je potrebné mať nainštalované funkčné Java Runtime Enviroment (JRE), alebo Java Development Kit (JDK). Tieto musia byť verzie 5, alebo vyššie.

Mám inštalovať JRE, alebo JDK?

I keď môžete spustiť Mobicents servery použitím JRE, väčšina používateľov sú vývojári zaujímajúci sa o riešenia založené na základnej Jave. Preto je ďalej popis ako inštalovať JDK.

Stiahnutie

Sun JDK 5.0 (Java 2 Development Kit) možno stiahnuť z domovskej stránky Sun-u. http://java.sun.com/javase/downloads/index_jdk5.jsp . Tam kliknite na link download hneď vedľa JDK 5.0 Update <x> (x – posledný release). Na ďalšej stránke vyberte váš jazyk a platformu, treba ešte prečítať a súhlasiť s Java Development Kit 5.0 License Agreement a prejsť na stránku so stiahnutím.

Inštalácia pod OS Windows

Použitím exploreru, jednoduchým dvojklikom na stiahnutý samorozbaľovací inštalátor a nasledovaním inštrukcií inštalácie JDK.

Nastavenia pre OS Windows

Nastavenie OS na JDK spočíva v nastavení JAVA_HOME environment variable.

http://support.microsoft.com/kb/931715

Odinštalácia JDK na OS Windows

Na systémoch Windows stačí pozrieť položku JDK v ponuke štart a kliknutím na príkaz uninstall, alebo cez Pridanie a odobranie programov.

 

2.1.2.Predinštalačné požiadavky a nevyhnutné podmienky

 

Hardvérové požiadavky

Dostatok voľného miesta. Po rozpakovaní MSS pre JBoss binárny release vyžaduje minimálne 20MB voľného miesta.

MSS pre JBoss je 100% Java a bude spustený na rovnakom hardvéri ako aj JBoss Aplikačný Server. Avšak je odporúčaných najmenej 2GB-4GB pamäte RAM, aj pre 32 aj 64 bitové operačné systémy. Mininálne systémové požiadavky pre JBOSS 4.0.3sp1 a vyššie sú:

·         JDK 1.4 a vyššie

·         512 MB RAM

·         50MB miesta na disku

·         400 MHz CPU

 

Softvérové požiadavky

JDK 5 a vyšší

 

2.1.3.Stiahnutie

 

Posledná verzia Mobicents SIP Servlets pre JBoss je dostupná na http://www.mobicents.org/mss-downloads.html . Pravý horný roh tabuľky obsahuje poslednú verziu.

Každá verzia SIP Servlets Servera zahŕňa dve oddelené distribúcie súborov: jeden pre JBoss, a druhý, ktorý je MSS pre Tomcat. Stiahnite SIP Servlets Server pre JBoss a pokračujte s nasledovnými inštrukciami.

 

2.1.4.Inštalácia

 

Akonáhle sú splnené požiadavky a nutné podmienky a už ste stiahli binárnu distribúciu zip súboru, ste pripravený inštalovať MSS pre JBoss binárnu distribúciu.

Inštalácia MSS pre JBoss binárnej distribúcie na Windowse.

Pre tento postup sa predpokladá, že stiahnutý archív je uložený v adresári „My Downloads“.

1.       Vytvorte adresár v „My Downloads“ do ktorého rozbalíte obsah archívu. Pre jednoduchosť identifikácie je odporúčané vložiť do názvu adresára číslo verzie, napríklad, MSS-jboss-<version>.

2.       Rozbaľte obsah archívu určením cieľového adresára z predošlého kroku.

3.       Alebo vykonajte príkaz jar –xvf na rozbalenie binárne distribuovaných súborov zo zip archívu. Do príkazového riadku windowsu : C:\Users\<user>\My Downloads\mss-jboss-<version>>jar -xvf "mss-1.0.GA-apache-tomcat-6.0.14-0904221257.zip"

Z osobnej skúsenosti si treba dať pozor pri rozbaľovaní archívu, aby nenastala chyba spôsobená dlhými názvami adresárov. Je lepšie rozbaliť archív pod kratším názvom.

 

2.1.5.Nastavenie JBOSS_HOME Enviroment Variable

 

Nastavenie MSS pre JBoss spočíva v nastavení JBOSS_JOME enviroment variable a dobrovoľne v upravovaní MSS pre JBoss  pridávaním SIP Connectorov, nastavovaním Aplikačného routera a logovania.

Po nastavení JBOSS_HOME, MSS pre JBoss server môže byť spustený.

 

2.1.5.1.Nastavenie JBOSS_HOME Enviroment Variable na Win

 

Platforma Mobicents je stavaná nad JBoss Aplikačným Serverom (JBoss AS). Nepotrebujete nastavovať JBOSS_HOME enviroment variable na spustenie hociktorej Platformy Mobicents, ak už je táto premenná nastavená.

Najlepšia cesta vedieť či bol JBOSS_HOME nastavený skôr, alebo nie, spočíva v jednoduchej kontrole, ktorá Vám môže ušetriť čas a frustráciu.

JBOSS_HOME enviroment variable musí ukazovať do adresára, ktorý obsahuje všetky súbory Platformy Mobicents, alebo individuálneho servera Mobicents, ktorý ste inštalovali. Rada : tento adresár je najvyšší a obsahuje bin podadresár.

Prehľadný návod, ktorý je určený pre XP, ale je na 95% podobný aj pre Vistu a Win 7 je na stránke : http://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Variable+in+Windows [4.7.2010].

Môj popis:

Pre Win 7: ponuka štart/pravým tlačidlom myši na Computer/Properties/naľavo výber Advanced system settings/karta Advanced/tlačidlo Enviroment Variables

Tlačidlo New… v časti System variables a vyplňte Variable name: JBOSS_HOME, Variable value: "vaša cesta do koreňového adresára servra" – v mojom prípade: C:\Projekt\mss-1.5.0.FINAL-jboss-jdk6-5.1.0.GA. Pomôckou je aj to, že keď otvoríte tento adresár, nájdete tam adresár bin, podla toho viete, že ste správne.

 

2.1.6.Nastavenie

 

Pre nastavenie MSS pre JBoss pozrite kapitolu 2.3. Nastavenie.

 

2.1.7.Spustenie

 

Pre spustenie servera, spustite jeden zo štartovacích skriptov v adresári bin (aj pre Linux, aj Windows), alebo dvojitým kliknutím na súbor run.bat spustiteľného súboru v rovnakom adresári (len pre Windows). Je odporúčané spúšťať JBoss Aplikačný Server cez príkazový riadok práve kvôli správam zobrazované počas zavádzania, ktoré môžu byť využité na debugovanie a následné opravenie hocijakých problémov.

Zo skúseností vo Win 7 po spustení run.bat ostane príkazový riadok otvorený a možno tieto správy vidieť aj bez spúštania cez príkazový riadok.

Spustenie servera vo Windows:

Buď:

         C:\Users\<user>My Downloads\mss-jboss-<version>>bin\run.bat
alebo:
        C:\Users\<user>My Downloads\mss-jboss-<version>>java -jar bin\run.jar

 

V hlavnom adresári servra: jboss/server sú defaultne dva adresáre: all a default. Tieto adresáre predstavujú profily. Pri štandardnom spustení servra cez run.bat sa spustí server z defaultného profilu/adresára. V profile all je napríklad defaultne nastavený clustering. Preto pre spustenie servra s podporou clusteringu je potrebné spustiť server z profilu all nasledovne:

C:\Users\<user>My Downloads\mss-jboss-<version>>bin\run.bat -c all

Po preštudovaní vlastností server.xml a najmä možností nastavovania konektorov, žistíte, že možno meniť aj IP adresu na ktorej je kontajner schopný prijímať SIP správy. Napríklad pri testovaní na lokálnej sieti som sám preskúšal možnosti ako sú 127.0.0.1, následne IP lokálnej siete priradenej smerovačom cez DHCP: 192.168.0.10, alebo 0.0.0.0, ktoré spôsobí, že server počúva na všetkých dostupných IP adresách. Iný spôsob ako meniť túto adresu manuálne v súbore server.xml je spustenie servra s príkazom bind IP address (napr. 192.168.0.1) nasledovne:

C:\Users\<user>My Downloads\mss-jboss-<version>>bin\run.bat -b 192.168.0.1

 

2.1.8.Používanie

 

Akonáhle už server beží, prístup k SIP Servlets manažment konzole je cez web rozhranie: http://localhost:8080/sip-servlets-management/ .

Toto web rozhranie je prístupné len pre server Mobicents Sip Servlets. Po spustení robustného servra JAIN SLEE s Resource Adapterom pre SIP : SIP11 stále nebude toto webové rozhranie k dispozícií. Je to špecifikum MSS servra.

 

2.1.9.Testovanie

 

Po inštalácií by tu mal byť predkonfigurovaný jeden vzorový príklad aplikácie vloženej – rozšírenej (angl. deployed) v defaultnej serverovej konfigurácií. Môžete ho použiť pre overenie, že sa server správne nainštaloval a že beží správne. Názov aplikácie je

 org.mobicents.servlet.sip.example.SimpleApplication“ .

Zo SIP Servlets manažment konzoly môžete skontrolovať, či je podpísané (angl. subscribed)prijímanie INVITE a REGISTER SIP requestov. Je to jednoduchá Click2Call aplikácia, umožňujúca SIP registráciu a volanie na telefóny z používateľského web rozhrania.

Návod spočíva v nasledovných krokoch:

  • Alice a Bob si zaregistrujú SIP Softphone
  • Alice klikne na „Call“ link a keď chce zavolať Bobovi
  • Alice zazvoní telefón
  • Keď Alice zdvihne telefón, zvoní telefón u Boba
  • Keď Bob zdvihne, hovor je prepojený
  • Keď z nich niekto zloží, druhého tiež odpojí

Testovanie Click2Call aplikácie

1.       Otvorte prehliadač a zadajte adresu http://localhost:8080/click2call/ . Ak nemáte registrovaných klientov, buteťe informovaný, že treba zaregistrovať aspoň dvoch.

2.       Nastavte vašich SIP klientov použitím sip servlets servera cez register a proxy. (IP address : 127.0.0.1, port: 5080) Defaultne akceptuje akékoľvek heslo.

3.       Po registrácií uvidíte tabuľku kde každá bunka tabuľky indikuje hovor medzi dotyčnými klientami.

4.       Zatvorte hovory.

5.       Skúste adresu http://localhost:8080/click2call/simplecall.html, ktorá je zjednodušená verzia, ktorá nevyžaduje registrovaných klientov.

6.       Zadajte URI oboch SIP telefónov, ktoré ste spustili a kliknite „Submit“.

7.       Telefńý by mali opäť zvoniť. Vďaka tomu viete, že kontainery SIP a HTTP pracujú správne.

 

2.1.10.      Zastavenie JBoss na Windowse

 

Detailné inštrukcie pre zastavenie JBoss Aplikačného Servera sú uvedené nižšie.

Zastavenie spočíva v spustení buď shutdown.bat, alebo shutdown.jar spustiteľných súborov umiestnených v podadresári bin hlavného adresára MSS pre JBoss. V príkaze do príkazového riadka je treba uviesť dodatočný –S argument nasledovne:

C:\Users\<user>\My Downloads\mss-jboss-<version>>bin\shutdown.bat -S
C:\Users\<user>\My Downloads\mss-jboss-<version>>java -jar bin\shutdown.jar -S

 

2.1.11.      Odinštalovanie

 

Pre odinštalovanie MSS pre JBoss zmažte adresár obsahujúci binárnu distribúciu.

 

2.2.        SIP Servlet – aktivovaný Tomcat server: Inštalácia, konfigurácia a spustenie

 

Táto podkapitola je analogická podkapitole 2.1. Rozdiel je v tom, že namiesto JBoss aplikačného servera sa tu inštaluje Tomcat server. Tomcat server neposkytuje vzhľadom k JBoss serveru úplnú funkcionalitu, resp. plnú podporu pre rôzne aplikácie ako JBoss server, preto som sa týmto nezaoberal a túto podkapitolu vynehávam.

 

2.3.        Nastavenia

 

2.3.1.Nastavenia SIP Connectorov

 

SIP Connectory sú pridávané rovnakým spôsobom ako aj HTTP Connectory – pridaním elementu <Connector> pod element  <Service> v konfiguračnom súbore kontainera server.xml.

Mobicents SIP Servlets má defaultne nastavené tri SIP Connectory: UDP a TCP bežiace na príslušnej IP adrese konatinera a port 5080 a TLS je bežiaci na príslusšnej IP adrese kontainera a port 5081.

Napríklad, pre pridanie SIP Connectora na IP adrese 127.0.0.1, na porte 5080, použitím UDP transportného protokolu, potrebujete vložiť nasledujúci XML element:

Atribúty Connectora SIP:

port

                Číslo portu, na ktorom bude kontainer schopný prijímať SIP správy.

ipAddress

                IP adresa, na ktorej bude kontainer schopný prijímať SIP správy. Kontainer môže byť nastavený aj aby počúval na všetkých dostupných IP adresách nastavením ipAddress na 0.0.0.0 <sipPathName>

protocol

                Špecifikuje, že sa jedná o SIP Connector, a nie HTTP Connector. Nie je potrebné meniť túto vlastnosť.

signalingTransport

                Špecifikuje prenos (transport), na ktorom bude kontainer schopný prijímat SIP správy. Napríklad "udp".

usePrettyEncoding

                Vďaka Route a RecordRoute informačnom poli hlavičky, umožňuje ich rozdelenie do viacerých riadkov. Je to lepšie ako pracovať s každou hlavičkou oddelenou čiarkou. Tento atribtú je defaultne nastavený "true".

useStun

                Aktivuje „Session traversal utilities for NAT“ (STUN) podporu pre tento Connector. Atribút je defaultne „false“. Ak je nastavený na „true“ treba sa uistiť, že ipAddress  nie je nastavená na 127.0.0.1. STUN podpora je v podkapitole 7.4.

stunServerAddress

                Určí STUN server adresu určenú na objavenie verejnej IP adresy SIP Connectora. Tento atribú je požadovaný len ak je atribút useStun nastavený na „true“.

stunServerPort

                Špecifikuje port STUN servera použitého v atribúte stunServerAddress. Tento atribút je využívaný zriedkavo a to najmä ak je atribút useStun nastavený na „true“.

useStaticAddress

                Špecifikuje či nastavenia v staticServerAddress staticServerPort sú aktivované. Defaultne sú vypnuté.

staticServerAddress

                Určí aká adresa load-balancer servera sa zaujíma o Contact/Via hlavičky pre requesty vytvorené pre server. Tento parameter je užitočný pre konfigurácie clusterov, kde by mali byť requesty viazané k adrese load-balancera skôr, ako k nejakej adrese konkrétneho uzlu (node)

staticServerPort

                Určuje port load-balancera špecifikovaného v staticServerAddress. Tento parameter je užitočný v nastaveniach clustrov, kde by mali byť requesty viazané k adrese load-balancera skôr, ako k nejakej adrese konkrétneho uzlu (node)

httpFollowsSip

                Nastavuje uvedomenie aplikačného servra ako SIP Load Balancere priraďujú tzv. request affinity a uloží túto informáciu do aplikačnej relácie(spojenia).

                Ak HTTP Load Balancer posle HTTP requesty ktoré nesúvisia s aplikačnou reláciou (spojením), aplikačný server prinúti opakovanie HTTP requestu, kým nepristane na správnom koncovom bode.

 

2.3.2.Aplikačné smerovanie a nastavenia služieb

 

                Aplikačný router je volaný kontainerom, buď JBoss, alebo Tomcat, aby vybral SIP Servlet aplikáciu pre obslúženie úvodného requestu. Zahŕňa logiku určenú na výber ktorú aplikáciu zavolať. Aplikačný router je nutný pre kontainer, aby kontainer fungoval, ale je to samostatná logická jednotka.

                Aplikačný router je zodpovedný za výber aplikácie a nemusí implementovať aplikačnú logiku. Napríklad aplikačný router nemôže zmeniť požiadavku (request), alebo poslať odpoveď (response).

                Pre viac informácií o aplikačnom routri pozrite špecifikáciu JSR 289 : Application Router Packaging and Deployment, Application Selection Process, a Appendix C.

                Pre nastavenie aplikačného routra je potrebné editovať element služieb (service) v kontainerovom server.xml konfiguračnom súbore.

Popis jednotlivých atribútov elementu SIP service:

className

                Tento atribút nastaví convergenciu servlet containera (SIP + HTTP). Tento atribút môže byť tiež použitý pre prácu s load-balancing a failover.

sipApplicationDispatcherClassName

                Atribút špecifikuje použitie implementácie cez meno triedy org.mobicents.servlet.sip.core.SipApplicationDispatcher. Smerovací algoritmus a proces výberu aplikácie je v tejto triede.

darConfigurationFileLocation

                Defaultná poloha súboru aplikačného routera. Je používaná defaultným aplikačným routerom na určenie logiky výberu aplikácie. Odvoláva sa na Appendix C špecifikácie JSR 289.

sipStackPropertisFile

                Určuje polohu súboru obsahujúceho honoty kľúčových párov pre nastavenia vlastností SIP stacku. Tento atribút je pre ďalší „tuning“ JAIN SIP Stacku. Ak je táto vlastnosť vynehaná nasledujúce defaultné vlastnosti sú určené:

·         gov.nist.javax.sip.LOG_MESSAGE_CONTENT=true

·         gov.nist.javax.sip.TRACE_LEVEL=32

·         gov.nist.javax.sip.DEBUG_LOG=logs/mss-jsip-debuglog.txt

·         gov.nist.javax.sip.SERVER_LOG=logs/mss-jsip-messages.xml

·         javax.sip.STACK_NAME=Mobicents-SIP-Servlets

·         javax.sip.AUTOMATIC_DIALOG_SUPPORT=off

·         gov.nist.javax.sip.DELIVER_UNSOLICITED_NOTIFY=true

·         gov.nist.javax.sip.THREAD_POOL_SIZE=64

·         gov.nist.javax.sip.REENTRANT_LISTENER=true

·         gov.nist.javax.sip.MAX_FORK_TIME_SECONDS=0. Vetvenie dial´gu je defaultne vypnuté, pretože má dopad na pamäť. Ak je nastavený na hodnotu väčšiu ako 0, Dialog Forking bude v Mobicents Sip Servlets zapnutý.

·                 –          gov.nist.javax.sip.AUTOMATIC_DIALOG_ERROR_HANDLING=false. Loop Detection zlúčených requestov je defaultne vypnutá.

Mobicents SIP Servlets tiež pridá svoje vlastné vlastnosti aby umožňil širšiu konfiguráciu a flexibilitu.

-          ak je nastavená vlastnosť org.mobicents.servlet.sip.SERVER_HEADER, serverová hlavička bude pridávaná do všetkých SIP odpovedí (responses) opúštajúcich kontajner.

-          ak je nastavená vlastnosť org.mobicents.servlet.sip.USER_AGENT_HEADER serverová hlavička bude pridávaná do všetkých SIP requestov opúšťajúcich kontajner.

usePrettyEncoding

                Umožňuje, aby boli hlavičkové polia Via, Route a RecordRoute rozdelené do viacerých riadkov, narozdiel od oddelenia každého poľa čiarkou. Tento atribút je defaultne true. Ponehaním tohto atribútu v defaultnom nastavení môže pomocť v debugovaní SIP servrov nepodriaďujúcim sa RFC3261.

additionalParameterableHeaders

                Čiarkou oddelený list mien hlavičiek, ktoré sú sprácovávané ako paramerovateľné kontainerom. Špecifické hlavičky sú klasifikované ako platné narozdiel od štandardných parametrovateľných hlavičiek, ktoré sú definované v Sip Servlets špecifikácií 1.1

Nastavovanie a získavanie parametrov je povolené pre štandardné a prídavné parametre. Parametre, ktoré niesú špecifikované v additionalParameterableHeaders vyústia ku chybe ServletParseException error.

bypassRequestExecutor/bypassResponseExecutor

                Ak je nastavený ako false, SIP Servlets server používa ThreadPoolExecutor prepojený s LinkedBlockingQueue pre odoslanie request/response vlákien. Následne môže kontajner ovládať dve rozdielne odpovede(responses) súčasne(napr. 180 Ringing a 200 OK). Avšak môže nastať tzv. race condition (chybový stav – problémy so súbežnosťou) kde druhá odpoveď 200 OK oredbehne prvú 180 Ringing.

                Defaultne je nastavený na true, to znamená, že pre každú transakciu je použité jain sip serializovanie, aby sa zaistilo že nenastanú spomínané race conditions v Mobicents Sip Servlets, avšak hoci môžu nastať používaním UDP na úrovni jain sip.

baseTimerInterval

                Určí T1 Base Timer Interval, ktorý umožňuje SIP Servlets Containeru nastaviť jeho časovače závisiac od podmienok siete. Defaultný interval je 500ms.

Pre viac informácií o časovačoch: http://tools.ietf.org/html/rfc3261#appendix-A a http://www.3gpp.org/ftp/Specs/html-info/24229.htm.

Väčšina časovačov uvedených v tabuľkách závisí najmä na T1, okrem T2, T4 a Timera D (pre transakcie klienta). Ďalšie podmienky pre T2, T4 a Timer D sú určeé cez baseTimeInterval.

t2Interval

                Špecifikuje T2 interval. Defaultný interval je 4000ms.

t4Interval

                Špecifikuje T4 interval. Defaultný interval je 5000ms.

timerDInterval

                Špecifikuje Timer D interval. Defaultný interval je 32000ms.

dispatcherThreadPoolSize

                Počet vlákien určených pre spracovanie SIP správ v kontaineri SIP Servlets. Defaultne sú štyri.

dialogPendingRequestChecking

                Táto vlastnosť aktivuje a deaktivuje kontrolu chýb prekrývania sa transakcí. Defaultne je vypnutá. Ak v jednom bežiacom dialógu príde request INVITE, kým sa spracúva iná transakcia, kontajner pošle chybovú odpoveď 491.

addressResolverClass

                Špecifikuje implementáciu triedy gov.nist.core.net.AddressResolver, ktorá bude použitá kontainerom pre použitie DNS lookups. Defaultná trieda použitá kontainerom je org.mobicents.servlet.sip.core.DNSAddressResolver , ale môže byť použitá akákoľvek trieda implementujúca gov.nist.core.net.AddressResolver , NIST SIP Stack interfejs majúca konštruktor s org.mobicents.servlet.sip.core.SipApplicationDispatcher, parameter môže byť použitý. Na vypnutie DNS lookups by mal ostať tento atribút prázdny.

 

2.3.3.SIP Servlets Server logovanie

 

Sú tu dve rozdielne úrovne logovania:

          logovanie na úrovni kontainera, ktoré môže byť nastavené konfiguračným súborom log4j.xml, ktorý je zvyčajne umiestnený v adresári lib kontainera.

          logovanie NIST SIP Stacku, ktoré je nastavené v elemente Connector konfiguračného súboru kontaineru server.xml.

 3.Aplikačný Router

 

Aplikačné smerovanie je vykonávané vnútri Mobicents SIP Servlets kontainera defaultným Aplikačným Routerom. Nasledujúce podkapitoly popisujú Default Application Router a ako môžu byť inštalované ostatné implementácie Aplikačného Routera zhodné s JSR 289 špecifikáciou.

 

3.1.Defaultný Aplikačný Router

 

DAR je volaný kontainerom na vybratie SIP Servlet aplikácie na obslúženie úvodného requestu. Zahŕňa logiku výberu, ktorú aplikáciu spustiť.

 

3.1.1.Úloha Aplikačného Routera

 

Aplikačný router je požadovaný, aby mohol kontainer fungovať, ale je to oddelená logická jednotka od kontajnera. Aplikačný router je zodpovedný za výber aplikácie a nemusí implementovať aplikačnú logiku. Napríklad aplikačný router nemôže zmeniť požiadavku (request), alebo poslať odpoveď (response).

Nie je tu priama interakcia medzi Aplikačným Routerom a aplikáciami, len medzi SIP Servlets Conainerom a Aplikačným Routerom.

SIP Servlets kontainer je zodpovedný za prenos požadovaných informácií do Aplikačného Routera počas úvodného requestu, takže Aplikačný Router môže vykonávať informované smerovacie rozhodnutia. Okrem informácií určených pre kontajner je Aplikačný Router voľný čo sa týka spracovania ostatných informácií, alebo dátových skladov. Závisí to na individuálnej implementácií, ako Aplikačný Router využíva informácie, alebo dátové sklady.

„Deployer“ v SIP Servlet prostredí kontroluje skladanie aplikácií definovaním a rozšírením (deploying) implementácie Aplikačného Routera. Riadenie deployera nad skladaním aplikácií je žiadané, pretože deployer je samostatne zodpovedný za služby dostupné pre účastníkov.

Okrem toho SIP Servlets špecifikácia zámerne umožňuje Aplikačnému Routeru  implementáciu pre nahliadnutie do nezávislých informácií, alebo dátových skladov. Je to pretože deployer udržuje informácie o účastníkoch a táto informácia je často privátna a hodnotná.

 

3.1.2.Defaultný Aplikačný Router Mobicents

 

Mobicents SIP Servlets poskytuje implementáciu Defaultného Aplikačného Routera (DAR), ako je definované v SIP Servlets 1.1 špecifikácií, Appendix C.

 

3.1.2.1.    Konfiguračný súbor DAR

 

Defaultný Aplikačný Router (DAR) získa jeho pracovné parametre z konfiguračného textového súboru, ktorý je modelovaný ako Java súbor vlastností. Konfiguračný súbor obsahuje informácie potrebné Aplikačným Routerom umožňujúc výber, ktorá SIP Servlet aplikácia spracuje prichádzajúci úvodný request.

V prípade Mobicents SIP Servletov je tiež možné nastaviť DAR cez konfiguračný súbor server.xml (2.2)

Súbor vlastností má nasledujúce charakteristiky a poziadavky:

          musí byť vytvorený dostupne pre DAR

          musí umožňovať obsahy a štruktúru súboru takú, aby bol prístupný z hierarchickej URI, podporovanej ako systémova vlastnosť javax.servlet.sip.ar.dar.configuration.

          najskôr je čítaný kontajnerom, keď sa načítava a je obnovený zakaždým, keď je aplikácia deployed (rozvinutá, rozšírená), alebo undeployed.

-          má jednoduchý formát, v ktorom meno vlastnosti je SIP metóda a hodnota je čiarkou oddelená string hodnota pre objekt SipApplicationRouterInfo.

\Users\Peter\Desktop\Untitled.png

Mobicents SIP Servlets definuje nové kľúčové slovo nazývané ALL. Toto kľúčové slovo umožňuje mapovanie medzi dátami sip-router-info a všetkými metódami podporovanými kontajnerom (napr. INVITE, REGISTER, SUBSCRIBE). Toto mapovanie môže ušetriť čas, keď sa nastavuje aplikácia, ktorá pocúva na všetkých príchodzích (vstupných) metódach.

Ak v DAR súbore sú definované aj ALL a aj špecifická metóda, špecifická metóda má väčšiu prioritu ako ALL. Ak špecifická metóda už nemá aplikácie, ktoré by obslúžila, ALL je opäť aktivovaný.

Sip-router-info dáta, popísané v dúbore vlastností je stringová hodnota verzie objektu SipApplicationRouterInfo. Pozostáva z nasledujúcich informácií:

          meno aplikácie, ako je známe kontajneru. Aplikačné meno môže byť  získané z elementu <app-name> deployment popisovača aplikácie sip.xml, alebo @SipApplication anotácie.

          identita účastníka, ktorú vracia DAR. DAR môže vracať hocijakú hlavičku v SIP requeste použitím direktívy DAR, DAR:SIP_HEADER. Napríklad DAR:From by vrátilo SIP URI z hlavičky From. DAR môže alternatívne vrátiť akýkoľvek string zo SIP requestu.

          smerovací región, ktorý pozostáva z jedného z nasledujúcich stringov: ORIGINATING, TERMINATING, alebo ORIGINAL. Táto informácia nie je momentálne DARom využívaná pri jeho smerovacích rozhodnutiach.

          SIP URI naznačujúce cestu vrátenú Aplikačným Routerom, ktorá môže byť použitá pre externé smerovanie requestu. Hodnota môže byť prázdny string.

          modifikátor cesty, ktorý pozostáva z jedného z nasledujúcich stringov: ROUTE, ROUTE_BACK, alebo NO_ROUTE. Modifikátor route je použitý v spoločne so smerovaciou informáciou pre smerovanie requestu externe.

          string reprezentujúci poradie, v ktorom musia byť aplikácie zavolané (začína nulou). String je neskôr počas procesu smerovania zmazaný a nahradený pozíciami poradia sip-router-info dát.

          voliteľný string, ktorý obsahuje špecificné parametre Mobicentsu. Momentálne sú podporované len parametre DIRECTION a REGEX. Pole môže obsahovať nepodoporovanú vlastnosť key=value, ktorá môže byť podporovaná v budúcich verziách. Nepodoprované vlastnosti budú počas parsovania ignorované, kým nebude zabezpečená podpora pre ne.

Syntax je demonštrovaná v príklade 3.1. Príklad DIRECTION.

          parameter DIRECTION určuje či aplikácia obsluhuje externé (INBOUND) requesty, alebo úvodné (OUTBOUND) requesty.

Ak je aplikácia označená ako DIRECTION=INBOUND, nebudú volané requesty iniciované aplikáciami správajúcimi sa ako UAC. Na označenie aplikácie ako UAC špecifikujte DIRECTION=INBOUND vo voliteľných parametroch DAR.

Aplikácie, ktoré v DAR liste neexistujú, sú pre kontajner považované ako OUTBOUND. Pretože nedefinované aplikácie nemôžu obsluhovať externé requesty, musia mať samo-iniciačný reques. Sip Servlets manažment konzola môže byť použitá na určenie parametra DIRECTION.

          parameter REGEX určí stály výraz, ktorý sa porovnáva s iniciačným requestom posleným do Aplikačného Routera.

Ak tento stály výraz bude v zhode aspoň s časťou iniciačného requestu, je aplikácia volaná, inak je preskočená.

Napríklad nasledujúce sip-router-info dáta:

INVITE: ("org.mobicents.servlet.sip.testsuite.SimpleApplication", "DAR:From", "ORIGINATING", "", "NO_ROUTE", "0", "REGEX=From:.*sip:.*@sip-servlets\.com")

, len prichádzajúce iniciačné requesty majúce hlavičku From, ktorých SIP URI patrí do domény sip-servlets.com budú poslané do SimpleApplication.

Príklad 3.1 DIRECTION

V tomto príklade dve aplikácie sú deklarované pre request INVITE. LocationServiceApplication je volaný pre requesty prichádzajúce z vonka kontajnera, ale nie je volaný pre requesty iniciované UAC aplikáciou Click2DialApplication.

INVITE: ("org.mobicents.servlet.sip.testsuite.Click2DialApplication", "DAR:From",
"ORIGINATING", "", "NO_ROUTE", "0", "DIRECTION=OUTBOUND"), \
("org.mobicents.servlet.sip.testsuite.LocationServiceApplication", "DAR\:From",
"ORIGINATING", "", "NO_ROUTE", "0", "DIRECTION=INBOUND")
 

Tento typ konfigurácie je užitoný v prípadoch, kde musí byť odlišná aplikácia zodpovedná za oba requesy iniciované kontajnerom a externými requestami prijatými kontajnerom.

Príklad 3.2 ORIGINATING/TERMINATING DAR príklad

V tomto príklade je DAR nastavený, aby zavolal dve aplikácie pri prijatí INVITE requestu, každý jeden vo vznikajúcej a ukončovacej polovičke. Aplikácie sú identifikované ich aplikačnými deployment popisovačmi mien.

INVITE: ("OriginatingCallWaiting", "DAR:From", "ORIGINATING", "", "NO_ROUTE", "0"), ("CallForwarding", "DAR:To", "TERMINATING", "","NO_ROUTE", "1") 

 

Pre tento príklad vrátená účastnícka identita je URI z každej aplikácie From a jednotlivo v hlavičkách To. DAR nevracia cestu do kontajnera a spravuje zavadzací stav v stateInfo ako index poslednej aplikácie v liste.

 

3.1.2.2.    Smerovanie SIP správ do Aplikácií

 

3.1.2.2.1.        Iniciačné requesty a proces výberu aplikácie

 

Iniciačné requesty sú tie, ktoré môžu byť v podstate vytvárajúce dialóg (ako INVITE, SUBSCRIBE a NOTIFY) a niesú časťou už existujúceho dialógu.

Iniciačné requesty sú smerované do aplikácií deploy-ované kontajnerom podľa SIP Servlets 1.1 špecifikácie, Sekcia 15.4.1 Procedúra pre smerovanie a iniciačné requesty.

Sú tu ešte určité ostatné dôvovdy, ktoré ovplyvňujú iniciačné requesty. Pozrite na Appendix B Definícia iniciačných requestov v špecifikácií SIP Servlets 1.1.

Príklad 3.3 INVITE Routing

Tento príklad ukazuje, ako DAR smeruje INVITE do dvoch aplikácií, ktoré sú „deployed“ v kontajneri. Aplikácie v tomto príklade sú Location Service a Call Blocking.

V príklade je popísaný predpoklad príchodu requestu na server. Avšak aplikácie sa môžu chovať ako UAC a generovať iniciačné requesty podľa seba. Pre smerovacie účely, nie je potrebné pre špecifickú aplikačnú iniciáciu requestu pre vstup do DAR súboru.

DAR súbor obsahuje požadované informácie pre dve aplikácie, aby boli zavedené v správnom poradí.

INVITE: ("LocationService", "DAR:From", "ORIGINATING", "", "NO_ROUTE", "0"), ("CallBlocking", "DAR:To", "TERMINATING", "","NO_ROUTE", "1") 

 

Spracovanie sa vykoná v uvedenom poradí:

1.       Nový INVITE (nie re-INVITE) príde na kontajner.

INVITE je dialógi vytvarajúci request a ne je časťou už existujúceho dialógu.

2.       Je volaný Aplikačný router.

Z informácií v INVITE, prvá aplikácia k zavedeniu je Location Service.

3.       Aplikačný Router vracia informácie poradia zavádzania aplikácie do kontajnera (taktiež s ostatkom sip-router-info dát), takže kontajner vie, ktorú aplikáciu zaviesť.

4.       Kontajner zavedie LocationService, ktorý „proxuje“ INVITE.

INVITE, ktorý je proxy je považovaný za nový INVITE pre známu IP adresu registrovaného používateľa pre URI requestu.

Pre ďalšie informácie spracovania INVITEu, pozrite sekciu 15.2.2 Posielanie iniciačkého requestu v špecifikácií SIP Servlets 1.1.

5.       Pretože INVITE ostalo proxované, kontajner zavedie Aplikačný Router pre proxované INVITE, aby sa pozrel, či ešte nejaké dalšie aplikácie sa zaujímajú o udalosť (event).

6.       Z proxovaného INVITE Aplikačný Router určí, že druhá aplikácia k zavedeniu je Call BLocking aplikácia.

7.       Aplikačný Router vracia informáciu vzhľadom ku Call Blocking aplikácií do kontajnera (taktiež s ostatkom sip-router-info dát), takže kontajner vie, ktorú aplikáciu zaviesť.

8.       Konajner smeruje INVITE pre aplikáciu Call Blocking do ďalšej aplikácie v poradí.

9.       Call Blocking aplikácia určuje že užívateľ, ktorý iniciuje hovor je v tzv. black liste. Aplikácia odmietne hovo s odpoveďou „Forbidden“

10.   Pretože sa aplikácia Call Blocking správa ako UAS, proces výberu aplikácie je zastavený pre pôvoné INVITE.

Cesta, ktorou šlo INVITE (z LocationService do CallBlocking) je volaná aplikačná cesta. Smerovanie odpovedí bude popísané v ďalšej sekcií.

 

3.1.2.2.2.        Smerovanie odpovedí

 

Odpoveďe (responses) vždy nasledujú spätnú cestu vzatú odpovedajúcemu requestu. V našom prípade odpoveď Forbidden pôjde najskôr do LocationService, potom naspäť k volajúcemu. Toto je pravda pre odpovede pre iniciačné a „subsequentné“ requesty. Aplikačná cesta je logický koncept a preto môže, alebo nemusí byť reprezentovaná vo vnutri kontajnerov.

Druhá možnosť správania by mohla byť tá, že Call Blocking nepošle odpoveď Forbidden. ale umožní hovor a „proxuje“ INVITE do rovnakej request URI vybranej aplikáciou Location Service. Keď volaný pošle naspäť 200 OK odpoveď, táto odpoveď pôjde naspäť rovnakou traťou aplikačnej cesty. (takže z  Call Blocking, do Location Service a potom volajúcemu)

Aplikácia musí vždy niečo s requestom vykonať, buď ho „proxovať“, alebo sa správať ako UAS.

 

3.1.2.2.3.        Subsequentné requesty

 

Sú ti všetky také, ktoré niesú iniciačné.

Predošlý príklad, kde aplikácia Call Blocking umožňovala hovor bude tu pripomenutý pre ukážku subsequentných requestov. Volajúci prijal 200 OK odpoveď naspať. Teraz podľa SIP špecifikácie (RFC 3261) pošle ACK. ACK príde do kontajnera a toto nie je request vytvárajúci dialóg a už je časťou existujúceho dialógu, takže tento request je považovaný za subsequentný request a bude nasledovať aplikacnu cestu vytvorenú iniciačnýcm requestom. ACK pôjde cez Location Service, Call Blocking a následne volanému.

 

3.1.3.Limitácie DAR (defaultného Apikačného Routera)

 

DAR je minimalistická implementácia Aplikačného Routera, ktorá je časťou referenčnej implementácie. Kým by mohol byť použitý ako výrobný Aplikačný Router, neponúka žiadnu logiku spracovania okrem deklarácie aplikačného poradia.

V „deploy-och“ reálneho sveta hrá Aplikačný Router veľmi dôležitú úlohu v skladaní a „orchestrácií“ aplikácií. Je to tak, akoby Aplikačný Router využíval zložité pravidlá a rozdeloval dátové sklady v budúcich implementáciach.

 

3.2.        DFC Aplikačný Router

 

3.2.1.Popis DFC Aplikačného Routera

 

Namiesto používania Defaultného Aplikačného Routera Mobicents, môže byť použitý hocijaký SIP Servlets 1.1 Aplikačný Router, ako aj eCharts DFC Aplikačný Router.

 

3.2.2.Inštalácia DFC Aplikačného Routera

 

Podrovné inštrukcie sú dostupné na stránke eCharts (http://echarts.org/Blog/Running-E4SS-apps-on-Mobicents-SIP-Servlets.html). Nasledujúci postup popisuje ako inštalovať eCharts DFC Aplikačný Router (DFCAR) na množstvo SIP Servlet platform.

Inštalácia DFCAR na JBoss 4.2.x

1.       Deploy-nite DFCAR

Dropnite dfcar.jar z ECharts distribučného balíka v adresári JBOSS_HOME/server/default/deploy/jboss-web.deployer.

2.       Zmažte DAR

Zmažte Defaultná Aplikačný Router Mobicentsu nachádzajúci sa v

JBOSS_HOME/server/default/deploy/jboss-web.deployer/sip-servlets-application-router-*.jar

Inštalácia DFCAR na JBoss 5.1.x

1.       Deploy-nite DFCAR

Dropnite dfcar.jar z ECharts distribučného balíka v adresári JBOSS_HOME/server/default/deploy/jbossweb.sar/

2.       Zmažte DAR

Zmažte Defaultná Aplikačný Router Mobicentsu nachádzajúci sa v

JBOSS_HOME/server/default/deploy/jbossweb.sar/sip-servlets-application-router-*.jar.

 

 

4. Názorné príklady SIP Servlet aplikácií

 

SIP Servlet server má výber príkladov, ktoré demonštrujú jednotlivé možnosti servera. Príklady môžu tiež poskytnúť užitočný štartovací bod pre vývoj SIP Aplikácií.Každý príklad je dostupný aj v binárnom aj zdrojovom formáte.

Dostupné príklady:

Príklad

Popis

Call-Blocking služba (4.1.3.)

Demonštruje ako blokovať hovory určením kontroly INVITE SIP Extenzie From adresy, či je táto adresa v tzv. block liste. Ak blokovaná SIP Adresa je v zhode, aplikácia Call Blocking pošle odpoveď FORBIDDEN.

Call-Forwarding služba (4.1.4.)

Demonštruje ako preposielať hovory určením kontroly INVITE SIP Extenzie adresy To, či je táto adresa v tzv. forward liste. Ak je SIP adresa v zhode, aplikácia sa správa ako back-to-back použvateľský agent (B2BUA)

Call-Controller služba (4.1.5.)

Call Blocking a Call Forwarding sú spojené a vytvárajú novú službu.

Speed Dial

Demonštruje ako implementovať speed dialing pre SIP adresy. Demonštrácia používa statický zoznam vytáčaných čísel. Čísla sú prekladané na kompletné adresy založené na prioritnej konfigurácií. SIP adresy sú "proxované" bez record-routingu, alebo supervised módu.

Location Service

Demonštruje lokačnú službu, ktorá vykonáva vyhľadávanie založené na požadovanej URI v tvrdo kódovanom liste adries. Request je "proxovaný" na skupinu cieľových adries asociovaných s touto URI.

Compoced Speed Dial and Location

Speed Dial a Location Service sú spojené a vytvárajú novú službu. Speed Dial proxuje speed dial číslo na SIP adresu, potom Location Service proxuje hovor na aktuálnu lokáciu príjemcu hovoru.

Click to Cal

Znázorňuje ako môžu byť využité SIP Servlety popri HTTP servletoch ako konvergovaná aplikácia na vytváranie hovorv cez webový portál.

Chat Server

Demonštruje porporu pre MESSAGE SIP Extenziu. Tento príklad je založený na chatroom serveri ukážky z BEA dev2dev projektu a bol upravený, aby spĺňal požiadavky JSR 289.

Media

Znázorňuju ako môže media playback SIP Servlet vytvoriť media súbor s mednom používateľa, založenom na informáciach z hlavičky From. Tento príklad je kompatibilný len s Jboss AS. Toto riešenie funguje s Ekigou a linphone SIP soft-phonmi.

Shopping

Demonštruje integráciu Seamu a Java Enterprise Edition (JEE) a integráciu média s text-to-speech (TTS) a dual-tone multifrekvenčnými tónmi.

JSLEE/SIP Servlets Interoperability

Znázorňuje ako môžu dokážu spolupracovať jednotlivé komponenty platformy Mobicents, aby dosiahli integrované riešenie. Všetky hlavné komponenty sú použité v tomto príklade, ktorý bol vytvorený pre znázornenie use case príkladu platformy na delegácií JavaOne 2008

Facebook Click to Call

Znázorňuje využitie SIP a HTTP Servletov na vytvorenie Facebook pluginu, ktorý umožňuje používateľom volať POTS telefóny cez SIP-PSTN gateway providera.

Diameter Event-Changing služba

Služby Diameter Event Charging a Location Service môžu byť použité na zabezpečenie fixného spoplatnenia hovorov. Ked je hovor iniciovaný poplatok 10€ je faktúrovaný strane A accountu. Ak je hovor zrušený stranou B, alebo strana A zloží prv ako strana B môže odpovedaž na hovor, 10€ poplatok je fakturovaný strane A accountu.

Diameter Sh OpenIMS Integration

Znázorňuje integráciu medzi Mobicents a OpenIMS, použitím interfejsu Diametra Sh pre prijatie profilových updateov a SIP.

Conference

Demonštruje možnosti Media Servera, ako aj stanicovú kompozíciu a konferencovanie, tak či tak preskúšanie, že SIP Servlety sú schopné pracovať hladko s webovým frameworkom tretej strany bez potreby zmeny balíkov, alebo bez potreby zmeny popisovačov deploymentu. Ukážka využíva Google GWT Ajax framework so serverovými updatemi na poskytnutie skúseností pre používateľa.

Media IPBX

Znázorňuje ako môže byť SIP PBX riešenie Deploynuté použitím platformy Mobicents.

Jruby on Rails SIP Servlets

Znázorňuje využitie Jruby on Rails v platforme Mobicents na poskytnutie viacjazykovej platformy, ktorá dokáže iniciovať telefónne hovory pre zákazníkov po tom, ako sa prihlásia cez webový portál.

Pure Jruby on Rails Telco

Vytvára Jruby on Rail SIP Servlets ukážku. Pridáva schopnosť skôr volať aplikáciu, ako interakciu cez webový portál.

 



 

Zdroje vypracovania:

http://docs.jboss.org/jbportal/v2.2/user-guide/en/html/supportedversions.html

Vypracované predovšetkým podľa: http://hudson.jboss.org/hudson/job/MobicentsBooks/lastSuccessfulBuild/artifact/sip-servlets/index.html

http://en.wikipedia.org/wiki/Mobicents

http://www.ambrow.com/glossary_of_internet_terms.php

http://www.mobicents.org/products.html

 

Rate this post

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.