Menu Zavrieť

Mobicents – SIP presence príklady Internal Publisher a Internal Subscriber

Mobicents SIP presence príklady: Internal Publisher a Internal Subscriber

 

Mobicents SIP presence Service

                Poskytuje funkcionality presence sieťam založeným na SIP, použitím štandardov vyvinutých organizáciami IETF(Internet Engineering Task Force), OMA(Open Mobile Alliance), 3GPP(3rd Generation Partnership Project) a ETSI(European Telecommunications Standards Institute).

SIP presence Service pozostáva z troch servrov.

·         SIP Presence Server (PS)

·         XML Document Management Server (XDMS)

·         Resource List Server (RLS)

Najnovšiu verziu Mobicents SIP Presence Service možno stiahnuť na adrese [4]. Ak ste si neistý, ktorú distribúciu stiahnúť, ďalej popíšem rozdiely medzi nimi. Na spomínanej lokalite [4] sa nachádzajú tri typy binárnych(*.zip) súborov na stiahnutie.

·         mobicents-sip-presence-integrated

·         mobicents-sip-presence-xdms

·         mobicents-sip-presence

– Binárna distribúcia Integrated SIP Presence Service s kontajnerom Mobicents JAIN SLEE

                Táto distribúcia obsahuje XDM a SIP Presence Servre. Tieto servre sú predinštalované vo verzií Mobicents JAIN SLEE a aj Mobicents JAIN SLEE SIP 11 a HTTP Servlet Resource Adaptéry.

– Binárna distribúcia samostatného Mobicents XDM Servra s kontajnerom Mobicents JAIN SLEE

                Používatelia, ktorí sú želajú deploy-nuť Mobicents XML Document Server na inom hostiteľovi, alebo tí, ktorí nepotrebujú Mobicents Presence Server by mali inštalovať túto distribúciu.

– Binárna distribúcia SIP Presence Service bez kontajnera Mobicents JAIN SLEE

                Používatelia, ktorí už nainštalovali a nastavili samostatne Mobicents JAIN SLEE môžu túto distribúciu nainštalovať pomocou Apache Ant a súboru build.xml. Treba spustiť príkazový riadok, nastaviť jeho adresár na koreňový adresár rozbalenej binárnej distribúcie a zatať príkaz

·         ant integrated-deploy pre inštaláciu Integrated SIP Presence Service, alebo

·         ant xdms-deploy pre inštaláciu samostatného XDM Servra

Následná odinštalácia je analogická:

·         ant integrated-undeploy

·         ant xdms-undeploy

Ako rozbehať príklady?

                Keď po spustení servra(tradične pomocou run.bat vo Win 7) zadáte do prehliadača adresu: http://localhost:8080/mobicents/ a zobrazí vám rýdzo biele okno bez 404 error výpisu, ste na správnej ceste rozbehať príklad. Tak isto doporučujem sa uistiť, že príklady, ktoré chcete vyskúšať sú už deploynuté, rovnako ako aj mobicents.war. V binárnej distribúcií Integrated SIP Presence Service s kontajnerom Mobicents JAIN SLEE sú už príklady deploynuté.

                Pri práci s viacerými servrami samostatne odporúčam nezabúdať meniť JBOSS_HOME enviroment variable. V opačnom prípade Vám to môže robiť cyby a nebudete môcť tak skoro zistiť prečo.

Pre skúšku funkčnosti začnem s Internal Subscriberom, pretože je jednoduchší:

Internal Subscriber

Zo SIP telefónov doporučujem pre Win 7 stiahnuť program X-Lite 3, alebo program Bria, pretože tieto možno nastaviť ako presence agentov. U X-Lite 4 túto funkciu nebolo možne nastaviť a na EyeBeame takisto, i keď som si všimol, že to podporuje.

Ja som zvolil X-Lite 3, pretože Bria sa ako jediná hodí na neskoršie použitie v druhom príklade. Po stiahnutí a nainštalovaní X-Lite 3 vytvorte a nastavte konto nasledovne:

Vytvorte používateľa user na IP 127.0.0.1 bez akejkoľvek registrácie. Na karte Presence nastavte Mode z Peer-to-Peet na Presence Agent.

Potvrďte vytvorenie konta a sledujte výpisy v príkazovom riadku. V príkazovom riadku Win 7 to nie je jednoduché odsledovať, avšak na adrese jbossRoot\server\default\log\server.log je úplne celý výpis ktorý od spustenia servra bol vypísaný v príkazovom riadku.

Názorná ukážka zmeny statusu available na busy:

18:54:57,362 INFO  [SipResourceAdaptor] Received Request:

PUBLISH sip:user@127.0.0.1 SIP/2.0

Via: SIP/2.0/UDP 127.0.0.1:5090;branch=z9hG4bK-d87543-b90dc4307a214a13-1–d87543

-;rport=5090;received=127.0.0.1

Max-Forwards: 70

Contact: <sip:user@127.0.0.1:5090>

To: “user” <sip:user@127.0.0.1>

From: “user” <sip:user@127.0.0.1>;tag=9f5d4a34

Call-ID: 9436924fec11ee76OWI5NmY4NmIxNzk4NWIxNTA4ODVlY2E1NmI2Mzc3YjE.

CSeq: 3 PUBLISH

Expires: 3600

Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,NOTIFY,MESSAGE,SUBSCRIBE,INFO

Content-Type: application/pidf+xml

SIP-If-Match: 6e8843bd2a5d51ed70e2a2772b146673

User-Agent: X-Lite release 1002tx stamp 29712

Event: presence

Content-Length: 732

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no” ?><pr:presence xmlns:pr=”ur

n:ietf:params:xml:ns:pidf” entity=”sip:user@127.0.0.1″ xmlns:caps=”urn:ietf:para

ms:xml:ns:pidf:caps” xmlns:cipid=”urn:ietf:params:xml:ns:pidf:cipid” xmlns:count

erpath=”www.counterpath.com/presence/ext” xmlns:dm=”urn:ietf:params:xml:ns:pidf:

data-model” xmlns:rpid=”urn:ietf:params:xml:ns:pidf:rpid”> <pr:tuple id=”s9f5acc

6b”><pr:status><pr:basic>open</pr:basic></pr:status><pr:note>Busy</pr:note><rpid

:user-input last-input=”2011-04-12T18:54:57Z”>active</rpid:user-input><pr:timest

amp>2011-04-12T18:54:57Z</pr:timestamp></pr:tuple><dm:person id=”pc9416b32″><rpi

d:activities><rpid:busy/></rpid:activities><dm:note>Busy</dm:note></dm:person></

pr:presence>

18:54:57,381 INFO  [PublicationControlSbb] publication: key=6e8843bd2a5d51ed70e2

a2772b146673:sip:user@127.0.0.1:presence modified.

18:54:57,402 INFO  [ServerTransactionWrapper] ServerTransaction[z9hG4bK-d87543-b

90dc4307a214a13-1–d87543-] sending response:

SIP/2.0 200 OK

To: “user” <sip:user@127.0.0.1>

Via: SIP/2.0/UDP 127.0.0.1:5090;branch=z9hG4bK-d87543-b90dc4307a214a13-1–d87543

-;rport=5090;received=127.0.0.1

CSeq: 3 PUBLISH

Call-ID: 9436924fec11ee76OWI5NmY4NmIxNzk4NWIxNTA4ODVlY2E1NmI2Mzc3YjE.

From: “user” <sip:user@127.0.0.1>;tag=9f5d4a34

SIP-ETag: 8ad8e5bab9f42e9bf6281a807b8ede80

Expires: 3600

Content-Length: 0

18:54:57,407 INFO  [InternalSubscriberExampleSbb]

NOTIFY EVENT:

+– Subscriber: sip:internal-subscriber@127.0.0.1

+– Notifier: sip:user@127.0.0.1

+– EventPackage: presence

+– SubscriptionId: sip:internal-subscriber@127.0.0.1:sip:user@127.0.0.1:presenc

e

+– Subscription status: active

+– Subscription terminationReason: null

+– Content Type: application/pidf+xml

+– Content:

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?><presence entity=”sip:use

r@127.0.0.1″ xmlns:ns2=”urn:ietf:params:xml:ns:pidf:rpid” xmlns=”urn:ietf:params

:xml:ns:pidf” xmlns:ns4=”urn:oma:xml:prs:pidf:oma-pres” xmlns:ns3=”urn:ietf:para

ms:xml:ns:pidf:data-model” xmlns:ns5=”urn:ietf:params:xml:ns:xcap-diff” xmlns:ns

6=”urn:ietf:params:xml:ns:resource-lists”><tuple id=”s9f5acc6b”><status><basic>o

pen</basic></status><ns2:user-input last-input=”2011-04-12T18:54:57Z”>active</ns

2:user-input><note>Busy</note><timestamp>2011-04-12T18:54:57Z</timestamp></tuple

><ns3:person id=”pc9416b32″><ns2:activities><ns2:busy/></ns2:activities><ns3:not

e>Busy</ns3:note></ns3:person></presence>

18:55:29,404 INFO  [SipResourceAdaptor] SIP Transaction z9hG4bK-d87543-b90dc4307

a214a13-1–d87543-:PUBLISH terminated

Internal Publisher

Tu treba ponehať konto vytvorené v SIP telefóne X-Lite 3 a v Brií vytvoriť ďalšie. V návode [2] sa uvádza, že konto treba registrovať presne ako internal-publisher@127.0.0.1, inak nebude fungovať. Možno je to už tým, že je ten návod zastaralý, pretože mi to zobralo aj iné mená v konte. Na Brií som registroval teda dve kontá(no postačí aj jedno), nastavil som ich úplne rovnako, líšili sa len v mene:

Opäť treba nastaviť na karte Presence Mode Presence Agent:

A na karte Storage Storage method: XCAP a root URL http://127.0.0.1:8080/mobicents/

Následne sa treba vrátiť k SIP teleónu X-Lite 3 a tu pridať medzi priateľov tie kontá, ktorých presence chcete sledovať, a ktoré sú nastavené.

Ja som na Brií vytvoril kontá : sip:internal-publisher@127.0.0.1 a sip:pokus@127.0.0.1. Preto tieto kontá pridám do kontaktov usera na X-Lite 3 a zaškrtnem checkbox “Show this contact’s Availability“.

Ako výsledok možno vidieť aktuálne statusy používateľov – kónt nastavených na Brií a pretože sú kontá na jednom SIP telefóne, zdieľajú vždy spoločný status.

Odkazy:

[1] http://hudson.jboss.org/hudson/job/MobicentsBooks/lastSuccessfulBuild/artifact/sip-presence/index.html

[2] http://www.abdulbaki.de/english/fokus/mobicents_sip_presence_service.pdf

[3] http://groups.google.com/group/mobicents-public/web/sip-presence-example-internalpublisher

[4] http://sourceforge.net/projects/mobicents/files/Mobicents%20SIP%20Presence%20Service/1.0.0.BETA6/

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.