Skip to main content

SIP Presence Service

6 replies [Last post]
serpico
Offline
Joined: 2008-10-29

Hi all,

I am new to Mobicents and I am trying to make the SIP Presence Service work. After days of trying I managed to install and deploy everything. My deployed units are:

msps-xdms-ds-ra-DU-1.0.0.BETA3
msps-xdms-appusage-oma-pres-rules-server-DU-1.0.0.BETA3
sip11-ra-DU-1.2.1.GA
msps-integrated-du-1.0.0.BETA3
msps-xdms-appusage-resource-lists-server-DU-1.0.0.BETA3
msps-examples-intsub-du-1.0.0.BETA3
msps-xdms-aucache-ra-DU-1.0.0.BETA3
msps-xdms-core-DU-1.0.0.BETA3
msps-xdms-appusage-rls-services-server-DU-1.0.0.BETA3
msps-examples-intpub-du-1.0.0.BETA3
msps-xdms-appusage-pres-rules-server-DU-1.0.0.BETA3
http-servlet-ra-DU-1.2.1.GA´

The deployed services are:

SipPublicationControlService ACTIVE deactivate
RLSServicesAppUsageService ACTIVE deactivate
InternalPublisherExampleService ACTIVE deactivate
PresRulesAppUsageService ACTIVE deactivate
OMAPresRulesAppUsageService ACTIVE deactivate
ResourceListsAppUsageService ACTIVE deactivate
SipSubscriptionControlService ACTIVE deactivate
InternalSubscriberExampleService ACTIVE deactivate
XCAPCapsAppUsageService ACTIVE deactivate
AggregationProxyService ACTIVE deactivate

I also realized that I will see the results of the presence service in the server console :-). After deploying the internal-publisher and internal-subscriber examples, I see this in my server console:

13:14:00,406 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: null/null
+-- Content:

null
13:14:00,640 INFO [InternalPublisherExampleSbb] refreshed publication ok: reque
stId=sip:internal-publisher@127.0.0.1presence,eTag=6829248de9b0b8f20dcc20ea9577c
4ac,expires=60
13:14:00,640 INFO [PublicationControlSbb] Refreshed publication: entity=sip:int
,eventPackage=presence,eTag=96abfea43544574e462de218dd6
27a5d for 60 seconds
13:15:00,375 INFO [InternalSubscriberExampleSbb] resubscribe Ok : expires=60
13:15:00,375 INFO [SubscriptionControlSbb] Refreshed subscription: subscriber=s
ip:internal-subscriber@127.0.0.1,notifier=sip:user@127.0.0.1,eventPackage=presen
ce,eventId=sip:internal-subscriber@127.0.0.1:sip:user@127.0.0.1:presence,status=
active for 60 seconds

But now to my problem: I can't register any SIP user agent, so that I could change presence state of the user agents. I tried SIP Communicator, SJPhone, Windows Messenger and X-Lite. None of them registers. I tried to use nist.gov or 127.0.0.1 as domain, ports 5060, 5070 and 5080. Nothing works.
What's funny about X-Lite is that he says ok to everything, you can type in wrong port numbers or IP addresses, he accepts everything and seems to be registered. But I know it isn't. Because you can't call anybody or do anything.

I also tried to deploy the sip-services example. But the problem here is that I have to use the SIP RA, but the Presence examples need SIP11 RA. That's why these examples cannot coexist. And therefore it doesn't work.

So, anyone who can help me?

Thank you very much.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
eduardomartins
Offline
Joined: 2005-10-10

> Hi all,
>
> I am new to Mobicents and I am trying to make the SIP
> Presence Service work. After days of trying I managed
> to install and deploy everything.

Ouch, it hurts, any feedback to improve that?

> My deployed units
> are:
>
> msps-xdms-ds-ra-DU-1.0.0.BETA3
> msps-xdms-appusage-oma-pres-rules-server-DU-1.0.0.BETA
> 3
> sip11-ra-DU-1.2.1.GA
> msps-integrated-du-1.0.0.BETA3
> msps-xdms-appusage-resource-lists-server-DU-1.0.0.BET
> 3
> msps-examples-intsub-du-1.0.0.BETA3
> msps-xdms-aucache-ra-DU-1.0.0.BETA3
> msps-xdms-core-DU-1.0.0.BETA3
> msps-xdms-appusage-rls-services-server-DU-1.0.0.BETA3
> msps-examples-intpub-du-1.0.0.BETA3
> msps-xdms-appusage-pres-rules-server-DU-1.0.0.BETA3
> http-servlet-ra-DU-1.2.1.GA´
>
> The deployed services are:
>
> SipPublicationControlService ACTIVE deactivate
> RLSServicesAppUsageService ACTIVE deactivate
> InternalPublisherExampleService ACTIVE deactivate
> PresRulesAppUsageService ACTIVE deactivate
> OMAPresRulesAppUsageService ACTIVE deactivate
> ResourceListsAppUsageService ACTIVE deactivate
> SipSubscriptionControlService ACTIVE deactivate
> InternalSubscriberExampleService ACTIVE deactivate
> XCAPCapsAppUsageService ACTIVE deactivate
> AggregationProxyService ACTIVE deactivate
>
> I also realized that I will see the results of the
> presence service in the server console :-).

Actually the info below is printed by the examples, but still you will get some info from the servers.

> After
> deploying the internal-publisher and
> internal-subscriber examples, I see this in my server
> console:
>
> 13:14:00,406 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:p
> resenc
> e
> +-- Subscription status: active
> +-- Subscription terminationReason: null
> +-- Content Type: null/null
> +-- Content:
>
> null
> 13:14:00,640 INFO [InternalPublisherExampleSbb]
> refreshed publication ok: reque
> stId=sip:internal-publisher@127.0.0.1presence,eTag=682
> 9248de9b0b8f20dcc20ea9577c
> 4ac,expires=60
> 13:14:00,640 INFO [PublicationControlSbb] Refreshed
> publication: entity=sip:int
> ernal-publisher@127.0.0.1,eventPackage=presence,eTag=9
> 6abfea43544574e462de218dd6
> 27a5d for 60 seconds
> 13:15:00,375 INFO [InternalSubscriberExampleSbb]
> resubscribe Ok : expires=60
> 13:15:00,375 INFO [SubscriptionControlSbb] Refreshed
> subscription: subscriber=s
> ip:internal-subscriber@127.0.0.1,notifier=sip:user@127
> .0.0.1,eventPackage=presen
> ce,eventId=sip:internal-subscriber@127.0.0.1:sip:user@
> 127.0.0.1:presence,status=
> active for 60 seconds
>
> But now to my problem: I can't register any SIP user
> agent, so that I could change presence state of the
> user agents. I tried SIP Communicator, SJPhone,
> Windows Messenger and X-Lite. None of them registers.
> I tried to use nist.gov or 127.0.0.1 as domain, ports
> 5060, 5070 and 5080. Nothing works.
> What's funny about X-Lite is that he says ok to
> everything, you can type in wrong port numbers or IP
> addresses, he accepts everything and seems to be
> registered. But I know it isn't. Because you can't
> call anybody or do anything.
>
> I also tried to deploy the sip-services example. But
> the problem here is that I have to use the SIP RA,
> but the Presence examples need SIP11 RA. That's why
> these examples cannot coexist. And therefore it
> doesn't work.

Indeed, migration of sip services to the SIP11 RA is work in progress.

> So, anyone who can help me?

Use X-Lite and disable the check on "Register with domain and receive incoming calls", it will skip registration. Also be sure to configure presence to "Presence Agent".

> Thank you very much.

You are welcome.

Eduardo

serpico
Offline
Joined: 2008-10-29

OK, I'm going to use X-Lite. But what about a second SIP UA? Shall I use SIP Communicator? If yes, how can I configure it, so that it works fine?

And then... just to understand the examples: Shall I just change my presence status in my Softphone for example from online to offline and I will see the server console telling me that bob@127.0.0.1 is offline / online?

Thanks

Message was edited by: serpico

eduardomartins
Offline
Joined: 2005-10-10

I think SIP Communicator requires registring, you can use Eyebeam but it's comercial.

Regarding the internal-subscriber example, you need to use sip:user@ip in X-Lite, it's the user that the example subscribes.

serpico
Offline
Joined: 2008-10-29

Hi,

I installed and configured X-Lite and EyeBeam as described. I added a user called "sip:user@127.0.0.1" in X-Lite. And now, when I change the status from Available to Offline for example, what I see in the server console is this:

03:22:20,781 INFO [SipResourceAdaptor] Received Request:
PUBLISH sip:user@127.0.0.1 SIP/2.0
Via: SIP/2.0/UDP 127.0.0.1:63374;branch=z9hG4bK-d8754z-4e6f7d13c608af2c-1---d875
4z-;rport=63374;received=127.0.0.1
Max-Forwards: 70
Contact:
To: "user"
From: "user" ;tag=296f0d51
Call-ID: YjY1ZjdmMTljYTAyZTI1ZjM4ZTQ2YTdlYzVmYmY5YWM.
CSeq: 12 PUBLISH
Expires: 3600
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,NOTIFY,MESSAGE,SUBSCRIBE,INFO
Content-Type: application/pidf+xml
SIP-If-Match: ee6ecd1ec02c3c2bbc6097d4f028d8f0
User-Agent: X-Lite release 1100l stamp 47546
Event: presence
Content-Length: 417

open

03:22:20,843 INFO [PublicationControlSbb] publication: entity=sip:user@127.0.0.
1,eventPackage=presence,eTag=ee6ecd1ec02c3c2bbc6097d4f028d8f0 modified.
03:22:20,875 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:

open

Is this the information what I am supposed to see? And if yes, can you describe me please, what these information tell me so that I can understand what the internal-subscriber example is doing?

(What I have realized is that if I configure another user than "sip:user@127.0.0.1" the part after "NOTIFY EVENT" does not come when I change my presence status.)

And second question: What is the internal-publisher example doing? I added a user called "sip:internal-publisher@127.0.0.1" to EyeBeam, but when I changed my presence status from Available to Offline for example I didn't notice anything special in the server console.

And third question: I don't see where the connection between two SIP user agents is, I mean changing my presence status in X-Lite doesn't effect Eyebeam at all or the other way round. So to see the NOTIFY EVENT mentioned above, I just need one softphone. But then, the presence service does not make sense for me, because the way I see it, I am supposed to see the presence status of another user, right?

Thank you very much.

Message was edited by: serpico

eduardomartins
Offline
Joined: 2005-10-10

> Hi,
>
> I installed and configured X-Lite and EyeBeam as
> described. I added a user called "sip:user@127.0.0.1"
> in X-Lite. And now, when I change the status from
> Available to Offline for example, what I see in the
> server console is this:
>
> 03:22:20,781 INFO [SipResourceAdaptor] Received
> Request:
> PUBLISH sip:user@127.0.0.1 SIP/2.0
> Via: SIP/2.0/UDP
> 127.0.0.1:63374;branch=z9hG4bK-d8754z-4e6f7d13c608af2c
> -1---d875
> 4z-;rport=63374;received=127.0.0.1
> Max-Forwards: 70
> Contact:
> To: "user"
> From: "user" ;tag=296f0d51
> Call-ID:
> YjY1ZjdmMTljYTAyZTI1ZjM4ZTQ2YTdlYzVmYmY5YWM.
> CSeq: 12 PUBLISH
> Expires: 3600
> Allow:
> INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,NOTIFY,MESSAGE,SUB
> SCRIBE,INFO
> Content-Type: application/pidf+xml
> SIP-If-Match: ee6ecd1ec02c3c2bbc6097d4f028d8f0
> User-Agent: X-Lite release 1100l stamp 47546
> Event: presence
> Content-Length: 417
>
>

xmlns='urn:ietf:params:xml:ns:pi > df' xmlns:dm='urn:ietf:params:xml:ns:pidf:data-model' > xmlns:rpid='urn:ietf:param > s:xml:ns:pidf:rpid' > xmlns:c='urn:ietf:params:xml:ns:pidf:cipid' > entity='sip:user > @127.0.0.1'> id='t520f8b62'>open uple> m:person > id='t520f8b62'> activities> erson> > 03:22:20,843 INFO [PublicationControlSbb] > publication: entity=sip:user@127.0.0. > 1,eventPackage=presence,eTag=ee6ecd1ec02c3c2bbc6097d4f > 028d8f0 modified. > 03:22:20,875 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:p > resenc > e > +-- Subscription status: active > +-- Subscription terminationReason: null > +-- Content Type: application/pidf+xml > +-- Content: > > standalone="yes"?> xmlns:ns4="urn:ietf:params:xml:ns:common-policy" > xmlns:ns7="urn:iet > f:params:xml:ns:resource-lists" > xmlns:ns3="urn:ietf:params:xml:ns:pidf:data-mode > l" xmlns:ns5="urn:ietf:params:xml:ns:pres-rules" > xmlns:ns2="urn:ietf:params:xml: > ns:pidf:rpid" > xmlns:ns6="urn:ietf:params:xml:ns:xcap-diff" > xmlns:ns8="urn:oma:xm > l:prs:pres-rules" > xmlns="urn:ietf:params:xml:ns:pidf"> id="t520f8b62"> tus>open id="t520f8b62"> es> nce> > > Is this the information what I am supposed to see? > And if yes, can you describe me please, what these > information tell me so that I can understand what the > internal-subscriber example is doing? The internal subscriber application subscribes sip:user@server_ip, and since you put that user in XLite, every time you change status the presence server will internally notify the internal subscriber application, which then prints in the console the information received. > (What I have realized is that if I configure another > user than "sip:user@127.0.0.1" the part after "NOTIFY > EVENT" does not come when I change my presence > status.) that is because the internal subscriber application is only subscribed to sip:user@server_ip, the presence service won't notify the application for any other user. > And second question: What is the internal-publisher > example doing? I added a user called > "sip:internal-publisher@127.0.0.1" to EyeBeam, but > when I changed my presence status from Available to > Offline for example I didn't notice anything special > in the server console. The internal publisher is publishing state to the presence server using the internal publish interface. If you subscribe it in Xlite, that is, if you add sip:internal-publisher@127.0.0.1 to the contact list, you will see it's presence state. > And third question: I don't see where the connection > between two SIP user agents is, I mean changing my > presence status in X-Lite doesn't effect Eyebeam at > all or the other way round. So to see the NOTIFY > EVENT mentioned above, I just need one softphone. But > then, the presence service does not make sense for > me, because the way I see it, I am supposed to see > the presence status of another user, right? If you subscribe the Xlite user in Eyebeam you should see that user state, that is unless Eyebeam is not well configured. Here is a valid configuration for the server running in localhost -> http://groups.google.com/group/mobicents-public/web/mobicents-sip-presen... The Root URL in the last screen is actually not good, it should be http://127.0.0.1:8080/mobicents/ The other way around will triggers an authorization request in Eyebeam, and if you accept it then Xlite will see the Eyebeam user state. > Thank you very much. > > Message was edited by: serpico You are welcome. -- Eduardo
serpico
Offline
Joined: 2008-10-29

Thanks! I got it! I now see presence state.