[sip-comm] IM in SIP on SC


#1

Hello all,

I'm new to SC, currently studying about SIP and stuffs.

I'm trying to make a program as such when a person calls you while you're busy, ur SC automatically will send an IM to the person telling them that you're busy and something like that.

I've asked in irc #sip-communicator regarding instant messaging using SIP on SC. Got some hints from emcho.. and currently looking into OperationSetBasicInstantMessage interface..

If someone out there have summore hints regarding that issue (implementing IM in SIP), I hope you can share it with us. :).

Thanks in advance..

xrurouni.

···

---------------------------------
Any questions? Get answers on any topic at Yahoo! Answers. Try it now.


#2

Hello Xrurouni,

Implementing instant messaging in SIP is very simple. It boils down to sending and receiving MESSAGE requests in an implementation of OperationSetBasicInstantMessaging.

You could have a look at the jabber and icq implementations of this operation set and use them as examples of an OperationSetBasicInstantMessagingSipImpl implementation.

As I've mentioned on IRC, the tricky part is that you also need presence. As you may have noticed, OperationSetBasicInstantMessaging uses the Contact instances to indicate the source and destination of a message.

This means that you'll have to have an implementation of OperationSetPresence as well.

As I mentioned on irc, you could start by providing a dummy implementation. Normally an implementation of OperationSetPresence is supposed to query the presence status of your contacts and notify other modules when it changes. However, since all you need are Contact instances, you could make your dummy implementation always indicate an offline status and only have local representations of SIP contacts, without doing the network (and all but SIMPLE) part of SIP presence.

Even though users won't be able to see whether a contact is actually online or not this would still allow them to add buddies to their contact lists which is very handy. I was actually thinking of implementing this myself but I don't know whether I'll be able to do so soon, so it'd be quite cool if you do it.

Let me know if you decide to go forward and let us know in case you encounter any difficulties.

Cheers
Emil

xrurouni des wrote:

···

Hello all,

I'm new to SC, currently studying about SIP and stuffs.

I'm trying to make a program as such when a person calls you while you're busy, ur SC automatically will send an IM to the person telling them that you're busy and something like that.

I've asked in irc #sip-communicator regarding instant messaging using SIP on SC. Got some hints from emcho.. and currently looking into OperationSetBasicInstantMessage interface..

If someone out there have summore hints regarding that issue (implementing IM in SIP), I hope you can share it with us. :).

Thanks in advance..

xrurouni.

------------------------------------------------------------------------
Any questions? Get answers on any topic at Yahoo! Answers <http://answers.yahoo.com/;_ylc=X3oDMTFvbGNhMGE3BF9TAzM5NjU0NTEwOARfcwMzOTY1NDUxMDMEc2VjA21haWxfdGFnbGluZQRzbGsDbWFpbF90YWcx>. Try it now.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

Hello Emil,

I've looked into the codes of Jabber and ICQ, and have made some classes. I'm not sure whether it's working or not. I've clean the build and then tried to build it, but it stucked at

DEBUG: WIRE: 1.0 -> org.apache.felix.servicebinder -> 1.0

for several hours already. Maybe I've miscoded or I didn't finish developing its dependencies.

For the time being, I've made

impl.protocol.sip.MessageSipImpl
impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl
impl.protocol.sip.OperationtSetPersistentPresenceSipImpl
service.protocol.sipconstants.SipStatusEnum

Could you tell me other things that needed to implement before building it.

Thanks.
xrurouni

Emil Ivov <emcho@emcho.com> wrote: Hello Xrurouni,

Implementing instant messaging in SIP is very simple. It boils down to
sending and receiving MESSAGE requests in an implementation of
OperationSetBasicInstantMessaging.

You could have a look at the jabber and icq implementations of this
operation set and use them as examples of an
OperationSetBasicInstantMessagingSipImpl implementation.

As I've mentioned on IRC, the tricky part is that you also need
presence. As you may have noticed, OperationSetBasicInstantMessaging
uses the Contact instances to indicate the source and destination of a
message.

This means that you'll have to have an implementation of
OperationSetPresence as well.

As I mentioned on irc, you could start by providing a dummy
implementation. Normally an implementation of OperationSetPresence is
supposed to query the presence status of your contacts and notify other
  modules when it changes. However, since all you need are Contact
instances, you could make your dummy implementation always indicate an
offline status and only have local representations of SIP contacts,
without doing the network (and all but SIMPLE) part of SIP presence.

Even though users won't be able to see whether a contact is actually
online or not this would still allow them to add buddies to their
contact lists which is very handy. I was actually thinking of
implementing this myself but I don't know whether I'll be able to do so
soon, so it'd be quite cool if you do it.

Let me know if you decide to go forward and let us know in case you
encounter any difficulties.

Cheers
Emil

xrurouni des wrote:

···

Hello all,

I'm new to SC, currently studying about SIP and stuffs.

I'm trying to make a program as such when a person calls you while
you're busy, ur SC automatically will send an IM to the person telling
them that you're busy and something like that.

I've asked in irc #sip-communicator regarding instant messaging using
SIP on SC. Got some hints from emcho.. and currently looking into
OperationSetBasicInstantMessage interface..

If someone out there have summore hints regarding that issue
(implementing IM in SIP), I hope you can share it with us. :).

Thanks in advance..

xrurouni.

------------------------------------------------------------------------
Any questions? Get answers on any topic at Yahoo! Answers
.
Try it now.

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


#4

Hello all,

Currently I've made several more classes to add into impl.sip. they're as follows:

   AbstractContactGroupSipImpl,
   ContactGroupSipImpl,
   ContactSipImpl,
   MessageSipImpl,
   OperationSetBasicInstantMessagingImpl,

   OperationSetPersistentPresenceSipImpl

   ServerStoredContactListSipImpl
It's all based from Jabber implementation of Messaging. I've tried to build it and it spit out errors such as:

cannot find symbol : class RosterGroup
cannot find symbol : class RosterEntry
cannot find symbol : class Roster
cannot find symbol : class PacketListener
cannot find symbol : class SipMessenger
cannot find symbol : class SipMessageAdapter
cannot find symbol : class SipSwitchboard
cannot find symbol : class Packet
and several more...

I've made a txt off all the errors and attached it together with this email.

Thanks
xrurouni

xrurouni des <xrurouni@yahoo.com> wrote: Hello Emil,

I've looked into the codes of Jabber and ICQ, and have made some classes. I'm not sure whether it's working or not. I've clean the build and then tried to build it, but it stucked at

DEBUG: WIRE: 1.0 -> org.apache.felix.servicebinder -> 1.0

for several hours already. Maybe I've miscoded or I didn't finish developing its dependencies.

For the time being, I've made

impl.protocol.sip.MessageSipImpl
impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl
impl.protocol.sip.OperationtSetPersistentPresenceSipImpl
service.protocol.sipconstants.SipStatusEnum

Could you tell me other things that needed to implement before building it.

Thanks.
xrurouni

Emil Ivov <emcho@emcho.com> wrote: Hello Xrurouni,

Implementing instant messaging in SIP is very simple. It boils down to
sending and receiving MESSAGE requests in an implementation of
OperationSetBasicInstantMessaging.

You could have a look at the jabber and icq implementations of this
operation set and use them as examples of an
OperationSetBasicInstantMessagingSipImpl implementation.

As I've mentioned on IRC, the tricky part is that you also need
presence. As you may have noticed, OperationSetBasicInstantMessaging
uses the Contact instances to indicate the source and destination of a
message.

This means that you'll have to have an implementation of
OperationSetPresence as well.

As I mentioned on irc, you could start by providing a dummy
implementation. Normally an implementation of OperationSetPresence is
supposed to query the presence status of your contacts and notify other
  modules when it changes. However, since all you need are Contact
instances, you could make your dummy implementation always indicate an
offline status and only have local representations of SIP contacts,
without doing the network (and all but SIMPLE) part of SIP presence.

Even though users won't be able to see whether a contact is actually
online or not this would still allow them to add buddies to their
contact lists which is very handy. I was actually thinking of
implementing this myself but I don't know whether I'll be able to do so
soon, so it'd be quite cool if you do it.

Let me know if you decide to go forward and let us know in case you
encounter any difficulties.

Cheers
Emil

xrurouni des wrote:

im-on-sip-errors-21dec06.txt (30.6 KB)

···

Hello all,

I'm new to SC, currently studying about SIP and stuffs.

I'm trying to make a program as such when a person calls you while
you're busy, ur SC automatically will send an IM to the person telling
them that you're busy and something like that.

I've asked in irc #sip-communicator regarding instant messaging using
SIP on SC. Got some hints from emcho.. and currently looking into
OperationSetBasicInstantMessage interface..

If someone out there have summore hints regarding that issue
(implementing IM in SIP), I hope you can share it with us. :).

Thanks in advance..

xrurouni.

------------------------------------------------------------------------
Any questions? Get answers on any topic at Yahoo! Answers
.
Try it now.

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


#5

Hi,

I've made a simple OperationSetBasicInstantMessagingSipImpl, but it contains 2 errors, I wonder if someone out there could help me with it.

Here I attached the file and error txt.

Thanks,

xrurouni

xrurouni des <xrurouni@yahoo.com> wrote: Hello all,

Currently I've made several more classes to add into impl.sip. they're as follows:

   AbstractContactGroupSipImpl,
   ContactGroupSipImpl,
   ContactSipImpl,
   MessageSipImpl,
   OperationSetBasicInstantMessagingImpl,

   OperationSetPersistentPresenceSipImpl

   ServerStoredContactListSipImpl
It's all based from Jabber implementation of Messaging. I've tried to build it and it spit out errors such as:

cannot find symbol : class RosterGroup
cannot find symbol : class RosterEntry
cannot find symbol : class Roster
cannot find symbol : class PacketListener
cannot find symbol : class SipMessenger
cannot find symbol : class SipMessageAdapter
cannot find symbol : class SipSwitchboard
cannot find symbol : class Packet
and several more...

I've made a txt off all the errors and attached it together with this email.

Thanks
xrurouni

xrurouni des <xrurouni@yahoo.com> wrote: Hello Emil,

I've looked into the codes of Jabber and ICQ, and have made some classes. I'm not sure whether it's working or not. I've clean the build and then tried to build it, but it stucked at

DEBUG: WIRE: 1.0 -> org.apache.felix.servicebinder -> 1.0

for several hours already. Maybe I've miscoded or I didn't finish developing its dependencies.

For the time being, I've made

impl.protocol.sip.MessageSipImpl
impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl
impl.protocol.sip.OperationtSetPersistentPresenceSipImpl
service.protocol.sipconstants.SipStatusEnum

Could you tell me other things that needed to implement before building it.

Thanks.
xrurouni

Emil Ivov <emcho@emcho.com> wrote: Hello Xrurouni,

Implementing instant messaging in SIP is very simple. It boils down to
sending and receiving MESSAGE requests in an implementation of
OperationSetBasicInstantMessaging.

You could have a look at the jabber and icq implementations of this
operation set and use them as examples of an
OperationSetBasicInstantMessagingSipImpl implementation.

As I've mentioned on IRC, the tricky part is that you also need
presence. As you may have noticed, OperationSetBasicInstantMessaging
uses the Contact instances to indicate the source and destination of a
message.

This means that you'll have to have an implementation of
OperationSetPresence as well.

As I mentioned on irc, you could start by providing a dummy
implementation. Normally an implementation of OperationSetPresence is
supposed to query the presence status of your contacts and notify other
  modules when it changes. However, since all you need are Contact
instances, you could make your dummy implementation always indicate an
offline status and only have local representations of SIP contacts,
without doing the network (and all but SIMPLE) part of SIP presence.

Even though users won't be able to see whether a contact is actually
online or not this would still allow them to add buddies to their
contact lists which is very handy. I was actually thinking of
implementing this myself but I don't know whether I'll be able to do so
soon, so it'd be quite cool if you do it.

Let me know if you decide to go forward and let us know in case you
encounter any difficulties.

Cheers
Emil

xrurouni des wrote:

OperationSetBasicInstantMessagingSipImpl.java (7.08 KB)

a.txt (2.39 KB)

···

Hello all,

I'm new to SC, currently studying about SIP and stuffs.

I'm trying to make a program as such when a person calls you while
you're busy, ur SC automatically will send an IM to the person telling
them that you're busy and something like that.

I've asked in irc #sip-communicator regarding instant messaging using
SIP on SC. Got some hints from emcho.. and currently looking into
OperationSetBasicInstantMessage interface..

If someone out there have summore hints regarding that issue
(implementing IM in SIP), I hope you can share it with us. :).

Thanks in advance..

xrurouni.

------------------------------------------------------------------------
Any questions? Get answers on any topic at Yahoo! Answers
.
Try it now.

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com clean-bundle-repositories:
/home/azrul/sip-communicator/sip-communicator.bin not found.
/home/azrul/sip-communicator/sip-communicator.utest.bin not found.
clean-test-reports:
Deleted 2 directories from /home/azrul/sip-communicator/test-reports
clean:
Deleting 4 files from /home/azrul/sip-communicator/classes
Deleted 8 directories from /home/azrul/sip-communicator/classes
Deleted 1 directory from /home/azrul/sip-communicator/sc-bundles
Deleted 1 directory from /home/azrul/sip-communicator/doc/api
Deleted 1 directory from /home/azrul/sip-communicator/log
init:
Created dir: /home/azrul/sip-communicator/doc/api
Created dir: /home/azrul/sip-communicator/sc-bundles
Created dir: /home/azrul/sip-communicator/test-reports
Created dir: /home/azrul/sip-communicator/test-reports/html
Created dir: /home/azrul/sip-communicator/log
version:
Copying 1 file to /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/version
Compiling 3 source files to /home/azrul/sip-communicator/classes
SIP Communicator version 1.0-alpha1-build.by.azrul
compile:
Compiling 595 source files to /home/azrul/sip-communicator/classes
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:46: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    private RosterGroup rosterGroup = null;
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:81: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
                        RosterGroup rosterGroup,
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:439: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    void setResolved(RosterGroup source)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:490: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    RosterGroup getSourceGroup()
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:501: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    void setSourceGroup(RosterGroup newGroup)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:45: cannot find symbol
symbol : class Roster
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    private Roster roster = null;
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:50: cannot find symbol
symbol : class RootContactGroupSipImpl
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    private RootContactGroupSipImpl rootGroup = new RootContactGroupSipImpl();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:22: package net.java.sip.communicator.impl.protocol.sip.extensions does not exist
import net.java.sip.communicator.impl.protocol.sip.extensions.*;
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java:30: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ContactSipImpl
    private RosterEntry rosterEntry = null;
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java:49: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ContactSipImpl
    ContactSipImpl(RosterEntry rosterEntry,
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java:251: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ContactSipImpl
    void setResolved(RosterEntry entry)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java:291: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ContactSipImpl
    RosterEntry getSourceEntry()
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:1070: cannot find symbol
symbol : class PacketListener
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
        implements PacketListener
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:669: package Presence does not exist
    private SipStatusEnum sipStatusToPresenceStatus(Presence.Mode mode)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:693: package Presence does not exist
    private Presence.Mode presenceStatusToSipMode(SipStatusEnum status)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:1073: cannot find symbol
symbol : class Packet
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl.SipSubscriptionListener
        public void processPacket(Packet packet)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java:140: cannot find symbol
symbol : class SipMessageAdapter
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl
    private class SipMessageListener extends SipMessageAdapter{
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java:141: cannot find symbol
symbol : class SipSwitchboard
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl.SipMessageListener
        public void instantMessageReceived(SipSwitchboard switchboard,
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java:142: cannot find symbol
symbol : class SipInstantMessage
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl.SipMessageListener
                SipInstantMessage message,
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java:143: cannot find symbol
symbol : class SipContact
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl.SipMessageListener
                SipContact contact){
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:1008: cannot find symbol
symbol : class RosterListener
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
        implements RosterListener
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java:1994: cannot find symbol
symbol : class SipMessenger
location: class net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.ShutdownUnregistrationBlockListener
        SipMessenger getMessenger() {
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:757: cannot find symbol
symbol : class RosterListener
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
        implements RosterListener
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java:1995: cannot find symbol
symbol : variable messenger
location: class net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.ShutdownUnregistrationBlockListener
        return messenger;
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:97: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
            RosterEntry item = (RosterEntry) iter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:97: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
            RosterEntry item = (RosterEntry) iter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:451: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
            RosterEntry item = (RosterEntry) iter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:451: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
            RosterEntry item = (RosterEntry) iter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:511: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
            RosterEntry item = (RosterEntry) iter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:511: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
            RosterEntry item = (RosterEntry) iter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:50: cannot find symbol
symbol : class RootContactGroupSipImpl
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    private RootContactGroupSipImpl rootGroup = new RootContactGroupSipImpl();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:387: cannot find symbol
symbol : class XMPPException
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
        catch (XMPPException ex)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:403: cannot find symbol
symbol : class VolatileContactSipImpl
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
        VolatileContactSipImpl newVolatileContact
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:404: cannot find symbol
symbol : class VolatileContactSipImpl
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
            = new VolatileContactSipImpl(id, this);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:413: cannot find symbol
symbol : class VolatileContactGroupSipImpl
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
            theVolatileGroup = new VolatileContactGroupSipImpl(
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:456: cannot find symbol
symbol : class RootContactGroupSipImpl
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
        else if(parentGroup instanceof RootContactGroupSipImpl)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:457: cannot find symbol
symbol : class RootContactGroupSipImpl
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
            ((RootContactGroupSipImpl)parentGroup).
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:509: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
        RosterGroup newRosterGroup = roster.createGroup(groupName);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:549: cannot find symbol
symbol : class XMPPException
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
        catch (XMPPException ex)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:566: cannot find symbol
symbol : class XMPPException
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
        catch (XMPPException ex)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:606: cannot find symbol
symbol : class XMPPException
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
        catch (XMPPException ex)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:621: cannot find symbol
symbol : method getConnection()
location: class net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl
        this.roster = sipProvider.getConnection().getRoster();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:640: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
                RosterEntry item = (RosterEntry) iter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:640: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
                RosterEntry item = (RosterEntry) iter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:665: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
            RosterGroup item = (RosterGroup) iter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:665: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
            RosterGroup item = (RosterGroup) iter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:772: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
                RosterEntry entry = roster.getEntry(id);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:792: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
                    RosterGroup group = (RosterGroup) groupIter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:792: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
                    RosterGroup group = (RosterGroup) groupIter.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:831: cannot find symbol
symbol : class RosterEntry
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
                RosterEntry entry = roster.getEntry(contactID);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:836: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
                    RosterGroup gr = (RosterGroup) iter1.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:836: cannot find symbol
symbol : class RosterGroup
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
                    RosterGroup gr = (RosterGroup) iter1.next();
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:872: cannot find symbol
symbol : class RootContactGroupSipImpl
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
                            else if(contactGroup instanceof RootContactGroupSipImpl)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:873: cannot find symbol
symbol : class RootContactGroupSipImpl
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
                                ((RootContactGroupSipImpl)contactGroup).
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:934: cannot find symbol
symbol : class RootContactGroupSipImpl
location: class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
                else if(group instanceof RootContactGroupSipImpl)
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:82: cannot find symbol
symbol : variable DO_NOT_DISTURB
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
        supportedPresenceStatusSet.add(SipStatusEnum.DO_NOT_DISTURB);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:83: cannot find symbol
symbol : variable FREE_FOR_CHAT
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
        supportedPresenceStatusSet.add(SipStatusEnum.FREE_FOR_CHAT);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:84: cannot find symbol
symbol : variable INVISIBLE
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
        supportedPresenceStatusSet.add(SipStatusEnum.INVISIBLE);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:85: cannot find symbol
symbol : variable EXTENDED_AWAY
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
        supportedPresenceStatusSet.add(SipStatusEnum.EXTENDED_AWAY);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:87: cannot find symbol
symbol : variable AVAILABLE
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
        supportedPresenceStatusSet.add(SipStatusEnum.AVAILABLE);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:97: package Presence does not exist
                                  Presence.Mode.AWAY);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:98: cannot find symbol
symbol : variable DO_NOT_DISTURB
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
        scToSipModesMappings.put(SipStatusEnum.DO_NOT_DISTURB,
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:99: package Presence does not exist
                                  Presence.Mode.DO_NOT_DISTURB);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:100: cannot find symbol
symbol : variable FREE_FOR_CHAT
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
        scToSipModesMappings.put(SipStatusEnum.FREE_FOR_CHAT,
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:101: package Presence does not exist
                                  Presence.Mode.CHAT);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:102: cannot find symbol
symbol : variable INVISIBLE
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
        scToSipModesMappings.put(SipStatusEnum.INVISIBLE,
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:103: package Presence does not exist
                                  Presence.Mode.INVISIBLE);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:104: cannot find symbol
symbol : variable EXTENDED_AWAY
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
        scToSipModesMappings.put(SipStatusEnum.EXTENDED_AWAY,
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:105: package Presence does not exist
                                  Presence.Mode.EXTENDED_AWAY);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:106: cannot find symbol
symbol : variable AVAILABLE
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
        scToSipModesMappings.put(SipStatusEnum.AVAILABLE,
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:107: package Presence does not exist
                                  Presence.Mode.AVAILABLE);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:241: cannot find symbol
symbol : class RootContactGroupSipImpl
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
              parentGroup instanceof RootContactGroupSipImpl) )
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:417: cannot find symbol
symbol : class Presence
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
        Presence presence = null;
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:420: cannot find symbol
symbol : class Presence
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
            presence = new Presence(Presence.Type.UNAVAILABLE);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:420: package Presence does not exist
            presence = new Presence(Presence.Type.UNAVAILABLE);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:425: cannot find symbol
symbol : class Presence
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
            presence = new Presence(Presence.Type.AVAILABLE);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:425: package Presence does not exist
            presence = new Presence(Presence.Type.AVAILABLE);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:429: cannot find symbol
symbol : class Version
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
            presence.addExtension(new Version());
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:431: cannot find symbol
symbol : method getConnection()
location: class net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl
            sipProvider.getConnection().sendPacket(presence);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:464: cannot find symbol
symbol : class Presence
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
        Presence presence = sipProvider.getConnection().getRoster().
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:464: cannot find symbol
symbol : method getConnection()
location: class net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl
        Presence presence = sipProvider.getConnection().getRoster().
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:571: cannot find symbol
symbol : class PacketFilter
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
            PacketFilter packetFilter = new PacketTypeFilter(Presence.class);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:571: cannot find symbol
symbol : class PacketTypeFilter
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
            PacketFilter packetFilter = new PacketTypeFilter(Presence.class);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:571: cannot find symbol
symbol : class Presence
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
            PacketFilter packetFilter = new PacketTypeFilter(Presence.class);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:573: cannot find symbol
symbol : method getConnection()
location: class net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl
            sipProvider.getConnection().
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:671: package Presence does not exist
        if(mode.equals(Presence.Mode.AVAILABLE))
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:672: cannot find symbol
symbol : variable AVAILABLE
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
            return SipStatusEnum.AVAILABLE;
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:673: package Presence does not exist
        else if(mode.equals(Presence.Mode.AWAY))
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:675: package Presence does not exist
        else if(mode.equals(Presence.Mode.CHAT))
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:676: cannot find symbol
symbol : variable FREE_FOR_CHAT
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
            return SipStatusEnum.FREE_FOR_CHAT;
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:677: package Presence does not exist
        else if(mode.equals(Presence.Mode.DO_NOT_DISTURB))
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:678: cannot find symbol
symbol : variable DO_NOT_DISTURB
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
            return SipStatusEnum.DO_NOT_DISTURB;
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:679: package Presence does not exist
        else if(mode.equals(Presence.Mode.EXTENDED_AWAY))
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:680: cannot find symbol
symbol : variable EXTENDED_AWAY
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
            return SipStatusEnum.EXTENDED_AWAY;
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:681: package Presence does not exist
        else if(mode.equals(Presence.Mode.INVISIBLE))
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:682: cannot find symbol
symbol : variable INVISIBLE
location: class net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
            return SipStatusEnum.INVISIBLE;
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:695: package Presence does not exist
        return (Presence.Mode)scToSipModesMappings.get(status);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:811: cannot find symbol
symbol : method getConnection()
location: class net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl
                sipProvider.getConnection().getRoster().addRosterListener(
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:1021: cannot find symbol
symbol : variable StringUtils
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl.ContactChangesListener
                String userID = StringUtils.parseBareAddress(XMPPAddress);
/home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:1075: cannot find symbol
symbol : class Presence
location: class net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl.SipSubscriptionListener
            Presence presence = (Presence)packet;
100 errors
/home/azrul/sip-communicator/build.xml:164: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 10 seconds)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


#6

Hello Xrurouni,

You don't seem to be implementing any of the SipListener's methods (first error) and you are calling the setTo method of SipMessage with a string parameter instead of a ToHeader instance (the second err msg).

These are quite common compilation errors that most developers encounter and that are most often due to negligence. However they are not supposed to be representing any difficulty to the developer.

I'd suggest that you take some time going through the java tutorial

http://java.sun.com/docs/books/tutorial/

and then have a look at all the examples in the jain-sip project:

http://jain-sip.dev.java.net

so that you would feel at ease when hacking on SIP Communicator.

Cheers
Emil

xrurouni des wrote:

···

Hi,

I've made a simple OperationSetBasicInstantMessagingSipImpl, but it contains 2 errors, I wonder if someone out there could help me with it.

Here I attached the file and error txt.

Thanks,

xrurouni

*/xrurouni des <xrurouni@yahoo.com>/* wrote:

    Hello all,

    Currently I've made several more classes to add into impl.sip.
    they're as follows:

        * AbstractContactGroupSipImpl,
        * ContactGroupSipImpl,
        * ContactSipImpl,
        * MessageSipImpl,
        * OperationSetBasicInstantMessagingImpl,
        * OperationSetPersistentPresenceSipImpl
        * ServerStoredContactListSipImpl

    It's all based from Jabber implementation of Messaging. I've tried
    to build it and it spit out errors such as:

    cannot find symbol : class RosterGroup
    cannot find symbol : class RosterEntry
    cannot find symbol : class Roster
    cannot find symbol : class PacketListener
    cannot find symbol : class SipMessenger
    cannot find symbol : class SipMessageAdapter
    cannot find symbol : class SipSwitchboard
    cannot find symbol : class Packet
    and several more...

    I've made a txt off all the errors and attached it together with
    this email.

    Thanks
    xrurouni

    */xrurouni des <xrurouni@yahoo.com>/* wrote:

        Hello Emil,

        I've looked into the codes of Jabber and ICQ, and have made some
        classes. I'm not sure whether it's working or not. I've clean
        the build and then tried to build it, but it stucked at

        DEBUG: WIRE: 1.0 -> org.apache.felix.servicebinder -> 1.0

        for several hours already. Maybe I've miscoded or I didn't
        finish developing its dependencies.

        For the time being, I've made

        impl.protocol.sip.MessageSipImpl
        impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl
        impl.protocol.sip.OperationtSetPersistentPresenceSipImpl
        service.protocol.sipconstants.SipStatusEnum

        Could you tell me other things that needed to implement before
        building it.

        Thanks.
        xrurouni

        */Emil Ivov <emcho@emcho.com>/* wrote:

            Hello Xrurouni,

            Implementing instant messaging in SIP is very simple. It
            boils down to
            sending and receiving MESSAGE requests in an implementation of
            OperationSetBasicInstantMessaging.

            You could have a look at the jabber and icq implementations
            of this
            operation set and use them as examples of an
            OperationSetBasicInstantMessagingSipImpl implementation.

            As I've mentioned on IRC, the tricky part is that you also need
            presence. As you may have noticed,
            OperationSetBasicInstantMessaging
            uses the Contact instances to indicate the source and
            destination of a
            message.

            This means that you'll have to have an implementation of
            OperationSetPresence as well.

            As I mentioned on irc, you could start by providing a dummy
            implementation. Normally an implementation of
            OperationSetPresence is
            supposed to query the presence status of your contacts and
            notify other
            modules when it changes. However, since all you need are
            Contact
            instances, you could make your dummy implementation always
            indicate an
            offline status and only have local representations of SIP
            contacts,
            without doing the network (and all but SIMPLE) part of SIP
            presence.

            Even though users won't be able to see whether a contact is
            actually
            online or not this would still allow them to add buddies to
            their
            contact lists which is very handy. I was actually thinking of
            implementing this myself but I don't know whether I'll be
            able to do so
            soon, so it'd be quite cool if you do it.

            Let me know if you decide to go forward and let us know in
            case you
            encounter any difficulties.

            Cheers
            Emil

            xrurouni des wrote:
             > Hello all,
             >
             > I'm new to SC, currently studying about SIP and stuffs.
             >
             > I'm trying to make a program as such when a person calls
            you while
             > you're busy, ur SC automatically will send an IM to the
            person telling
             > them that you're busy and something like that.
             >
             > I've asked in irc #sip-communicator regarding instant
            messaging using
             > SIP on SC. Got some hints from emcho.. and currently
            looking into
             > OperationSetBasicInstantMessage interface..
             >
             > If someone out there have summore hints regarding that issue
             > (implementing IM in SIP), I hope you can share it with
            us. :).
             >
             > Thanks in advance..
             >
             > xrurouni.
             >
            ------------------------------------------------------------------------
             > Any questions? Get answers on any topic at Yahoo! Answers
             > .
             > Try it now.

        __________________________________________________
        Do You Yahoo!?
        Tired of spam? Yahoo! Mail has the best spam protection around
        http://mail.yahoo.com

    __________________________________________________
    Do You Yahoo!?
    Tired of spam? Yahoo! Mail has the best spam protection around
    http://mail.yahoo.com clean-bundle-repositories:
    /home/azrul/sip-communicator/sip-communicator.bin not found.
    /home/azrul/sip-communicator/sip-communicator.utest.bin not found.
    clean-test-reports:
    Deleted 2 directories from /home/azrul/sip-communicator/test-reports
    clean:
    Deleting 4 files from /home/azrul/sip-communicator/classes
    Deleted 8 directories from /home/azrul/sip-communicator/classes
    Deleted 1 directory from /home/azrul/sip-communicator/sc-bundles
    Deleted 1 directory from /home/azrul/sip-communicator/doc/api
    Deleted 1 directory from /home/azrul/sip-communicator/log
    init:
    Created dir: /home/azrul/sip-communicator/doc/api
    Created dir: /home/azrul/sip-communicator/sc-bundles
    Created dir: /home/azrul/sip-communicator/test-reports
    Created dir: /home/azrul/sip-communicator/test-reports/html
    Created dir: /home/azrul/sip-communicator/log
    version:
    Copying 1 file to
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/version
    Compiling 3 source files to /home/azrul/sip-communicator/classes
    SIP Communicator version 1.0-alpha1-build.by.azrul
    compile:
    Compiling 595 source files to /home/azrul/sip-communicator/classes
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:46:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    private RosterGroup rosterGroup = null;
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:81:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    RosterGroup rosterGroup,
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:439:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    void setResolved(RosterGroup source)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:490:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    RosterGroup getSourceGroup()
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:501:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    void setSourceGroup(RosterGroup newGroup)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:45:
    cannot find symbol
    symbol : class Roster
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    private Roster roster = null;
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:50:
    cannot find symbol
    symbol : class RootContactGroupSipImpl
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    private RootContactGroupSipImpl rootGroup = new
    RootContactGroupSipImpl();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:22:
    package net.java.sip.communicator.impl.protocol.sip.extensions does
    not exist
    import net.java.sip.communicator.impl.protocol.sip.extensions.*;
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java:30:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactSipImpl
    private RosterEntry rosterEntry = null;
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java:49:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactSipImpl
    ContactSipImpl(RosterEntry rosterEntry,
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java:251:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactSipImpl
    void setResolved(RosterEntry entry)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactSipImpl.java:291:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactSipImpl
    RosterEntry getSourceEntry()
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:1070:
    cannot find symbol
    symbol : class PacketListener
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
    implements PacketListener
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:669:
    package Presence does not exist
    private SipStatusEnum sipStatusToPresenceStatus(Presence.Mode mode)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:693:
    package Presence does not exist
    private Presence.Mode presenceStatusToSipMode(SipStatusEnum status)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:1073:
    cannot find symbol
    symbol : class Packet
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl.SipSubscriptionListener
    public void processPacket(Packet packet)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java:140:
    cannot find symbol
    symbol : class SipMessageAdapter
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl
    private class SipMessageListener extends SipMessageAdapter{
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java:141:
    cannot find symbol
    symbol : class SipSwitchboard
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl.SipMessageListener
    public void instantMessageReceived(SipSwitchboard switchboard,
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java:142:
    cannot find symbol
    symbol : class SipInstantMessage
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl.SipMessageListener
    SipInstantMessage message,
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java:143:
    cannot find symbol
    symbol : class SipContact
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl.SipMessageListener
    SipContact contact){
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:1008:
    cannot find symbol
    symbol : class RosterListener
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
    implements RosterListener
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java:1994:
    cannot find symbol
    symbol : class SipMessenger
    location: class
    net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.ShutdownUnregistrationBlockListener
    SipMessenger getMessenger() {
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:757:
    cannot find symbol
    symbol : class RosterListener
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    implements RosterListener
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java:1995:
    cannot find symbol
    symbol : variable messenger
    location: class
    net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl.ShutdownUnregistrationBlockListener
    return messenger;
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:97:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    RosterEntry item = (RosterEntry) iter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:97:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    RosterEntry item = (RosterEntry) iter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:451:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    RosterEntry item = (RosterEntry) iter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:451:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    RosterEntry item = (RosterEntry) iter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:511:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    RosterEntry item = (RosterEntry) iter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ContactGroupSipImpl.java:511:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ContactGroupSipImpl
    RosterEntry item = (RosterEntry) iter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:50:
    cannot find symbol
    symbol : class RootContactGroupSipImpl
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    private RootContactGroupSipImpl rootGroup = new
    RootContactGroupSipImpl();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:387:
    cannot find symbol
    symbol : class XMPPException
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    catch (XMPPException ex)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:403:
    cannot find symbol
    symbol : class VolatileContactSipImpl
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    VolatileContactSipImpl newVolatileContact
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:404:
    cannot find symbol
    symbol : class VolatileContactSipImpl
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    = new VolatileContactSipImpl(id, this);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:413:
    cannot find symbol
    symbol : class VolatileContactGroupSipImpl
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    theVolatileGroup = new VolatileContactGroupSipImpl(
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:456:
    cannot find symbol
    symbol : class RootContactGroupSipImpl
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    else if(parentGroup instanceof RootContactGroupSipImpl)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:457:
    cannot find symbol
    symbol : class RootContactGroupSipImpl
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    ((RootContactGroupSipImpl)parentGroup).
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:509:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    RosterGroup newRosterGroup = roster.createGroup(groupName);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:549:
    cannot find symbol
    symbol : class XMPPException
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    catch (XMPPException ex)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:566:
    cannot find symbol
    symbol : class XMPPException
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    catch (XMPPException ex)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:606:
    cannot find symbol
    symbol : class XMPPException
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    catch (XMPPException ex)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:621:
    cannot find symbol
    symbol : method getConnection()
    location: class
    net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl
    this.roster = sipProvider.getConnection().getRoster();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:640:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    RosterEntry item = (RosterEntry) iter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:640:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    RosterEntry item = (RosterEntry) iter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:665:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    RosterGroup item = (RosterGroup) iter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:665:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl
    RosterGroup item = (RosterGroup) iter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:772:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
    RosterEntry entry = roster.getEntry(id);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:792:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
    RosterGroup group = (RosterGroup) groupIter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:792:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
    RosterGroup group = (RosterGroup) groupIter.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:831:
    cannot find symbol
    symbol : class RosterEntry
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
    RosterEntry entry = roster.getEntry(contactID);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:836:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
    RosterGroup gr = (RosterGroup) iter1.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:836:
    cannot find symbol
    symbol : class RosterGroup
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
    RosterGroup gr = (RosterGroup) iter1.next();
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:872:
    cannot find symbol
    symbol : class RootContactGroupSipImpl
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
    else if(contactGroup instanceof RootContactGroupSipImpl)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:873:
    cannot find symbol
    symbol : class RootContactGroupSipImpl
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
    ((RootContactGroupSipImpl)contactGroup).
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/ServerStoredContactListSipImpl.java:934:
    cannot find symbol
    symbol : class RootContactGroupSipImpl
    location: class
    net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListSipImpl.ChangeListener
    else if(group instanceof RootContactGroupSipImpl)
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:82:
    cannot find symbol
    symbol : variable DO_NOT_DISTURB
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    supportedPresenceStatusSet.add(SipStatusEnum.DO_NOT_DISTURB);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:83:
    cannot find symbol
    symbol : variable FREE_FOR_CHAT
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    supportedPresenceStatusSet.add(SipStatusEnum.FREE_FOR_CHAT);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:84:
    cannot find symbol
    symbol : variable INVISIBLE
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    supportedPresenceStatusSet.add(SipStatusEnum.INVISIBLE);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:85:
    cannot find symbol
    symbol : variable EXTENDED_AWAY
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    supportedPresenceStatusSet.add(SipStatusEnum.EXTENDED_AWAY);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:87:
    cannot find symbol
    symbol : variable AVAILABLE
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    supportedPresenceStatusSet.add(SipStatusEnum.AVAILABLE);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:97:
    package Presence does not exist
    Presence.Mode.AWAY);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:98:
    cannot find symbol
    symbol : variable DO_NOT_DISTURB
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    scToSipModesMappings.put(SipStatusEnum.DO_NOT_DISTURB,
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:99:
    package Presence does not exist
    Presence.Mode.DO_NOT_DISTURB);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:100:
    cannot find symbol
    symbol : variable FREE_FOR_CHAT
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    scToSipModesMappings.put(SipStatusEnum.FREE_FOR_CHAT,
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:101:
    package Presence does not exist
    Presence.Mode.CHAT);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:102:
    cannot find symbol
    symbol : variable INVISIBLE
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    scToSipModesMappings.put(SipStatusEnum.INVISIBLE,
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:103:
    package Presence does not exist
    Presence.Mode.INVISIBLE);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:104:
    cannot find symbol
    symbol : variable EXTENDED_AWAY
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    scToSipModesMappings.put(SipStatusEnum.EXTENDED_AWAY,
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:105:
    package Presence does not exist
    Presence.Mode.EXTENDED_AWAY);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:106:
    cannot find symbol
    symbol : variable AVAILABLE
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    scToSipModesMappings.put(SipStatusEnum.AVAILABLE,
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:107:
    package Presence does not exist
    Presence.Mode.AVAILABLE);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:241:
    cannot find symbol
    symbol : class RootContactGroupSipImpl
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
    parentGroup instanceof RootContactGroupSipImpl) )
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:417:
    cannot find symbol
    symbol : class Presence
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
    Presence presence = null;
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:420:
    cannot find symbol
    symbol : class Presence
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
    presence = new Presence(Presence.Type.UNAVAILABLE);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:420:
    package Presence does not exist
    presence = new Presence(Presence.Type.UNAVAILABLE);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:425:
    cannot find symbol
    symbol : class Presence
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
    presence = new Presence(Presence.Type.AVAILABLE);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:425:
    package Presence does not exist
    presence = new Presence(Presence.Type.AVAILABLE);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:429:
    cannot find symbol
    symbol : class Version
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
    presence.addExtension(new Version());
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:431:
    cannot find symbol
    symbol : method getConnection()
    location: class
    net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl
    sipProvider.getConnection().sendPacket(presence);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:464:
    cannot find symbol
    symbol : class Presence
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
    Presence presence = sipProvider.getConnection().getRoster().
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:464:
    cannot find symbol
    symbol : method getConnection()
    location: class
    net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl
    Presence presence = sipProvider.getConnection().getRoster().
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:571:
    cannot find symbol
    symbol : class PacketFilter
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
    PacketFilter packetFilter = new PacketTypeFilter(Presence.class);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:571:
    cannot find symbol
    symbol : class PacketTypeFilter
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
    PacketFilter packetFilter = new PacketTypeFilter(Presence.class);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:571:
    cannot find symbol
    symbol : class Presence
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl
    PacketFilter packetFilter = new PacketTypeFilter(Presence.class);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:573:
    cannot find symbol
    symbol : method getConnection()
    location: class
    net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl
    sipProvider.getConnection().
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:671:
    package Presence does not exist
    if(mode.equals(Presence.Mode.AVAILABLE))
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:672:
    cannot find symbol
    symbol : variable AVAILABLE
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    return SipStatusEnum.AVAILABLE;
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:673:
    package Presence does not exist
    else if(mode.equals(Presence.Mode.AWAY))
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:675:
    package Presence does not exist
    else if(mode.equals(Presence.Mode.CHAT))
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:676:
    cannot find symbol
    symbol : variable FREE_FOR_CHAT
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    return SipStatusEnum.FREE_FOR_CHAT;
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:677:
    package Presence does not exist
    else if(mode.equals(Presence.Mode.DO_NOT_DISTURB))
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:678:
    cannot find symbol
    symbol : variable DO_NOT_DISTURB
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    return SipStatusEnum.DO_NOT_DISTURB;
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:679:
    package Presence does not exist
    else if(mode.equals(Presence.Mode.EXTENDED_AWAY))
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:680:
    cannot find symbol
    symbol : variable EXTENDED_AWAY
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    return SipStatusEnum.EXTENDED_AWAY;
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:681:
    package Presence does not exist
    else if(mode.equals(Presence.Mode.INVISIBLE))
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:682:
    cannot find symbol
    symbol : variable INVISIBLE
    location: class
    net.java.sip.communicator.service.protocol.sipconstants.SipStatusEnum
    return SipStatusEnum.INVISIBLE;
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:695:
    package Presence does not exist
    return (Presence.Mode)scToSipModesMappings.get(status);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:811:
    cannot find symbol
    symbol : method getConnection()
    location: class
    net.java.sip.communicator.impl.protocol.sip.ProtocolProviderServiceSipImpl
    sipProvider.getConnection().getRoster().addRosterListener(
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:1021:
    cannot find symbol
    symbol : variable StringUtils
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl.ContactChangesListener
    String userID = StringUtils.parseBareAddress(XMPPAddress);
    /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetPersistentPresenceSipImpl.java:1075:
    cannot find symbol
    symbol : class Presence
    location: class
    net.java.sip.communicator.impl.protocol.sip.OperationSetPersistentPresenceSipImpl.SipSubscriptionListener
    Presence presence = (Presence)packet;
    100 errors
    /home/azrul/sip-communicator/build.xml:164: Compile failed; see the
    compiler error output for details.
    BUILD FAILED (total time: 10 seconds)

    ---------------------------------------------------------------------
    To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
    For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

------------------------------------------------------------------------

/*
* OperationSetBasicInstantMessagingSipImpl.java
*
* Created on December 23, 2006, 11:10 AM
*
* "SIP Based Push Contents Enabled Call Center"
* "SIP Communicator", the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*
*/

package net.java.sip.communicator.impl.protocol.sip;

/**
* A straightforward implementation of the basic instant messaging operation
* set. based on Damian Minkov jabber implementation
*
* @author azrul
* */
import java.net.*;
import java.text.*;
import java.util.*;

/*import org.jivesoftware.smack.*;
import org.jivesoftware.smack.filter.*;
import org.jivesoftware.smack.packet.*;
import org.jivesoftware.smack.provider.*;
import org.jivesoftware.smack.util.*;
import org.jivesoftware.smackx.*;*/
import gov.nist.javax.sip.*;
import gov.nist.javax.sip.address.*;
import gov.nist.javax.sip.header.*;
import gov.nist.javax.sip.message.*;
import javax.sip.*;
import javax.sip.address.*;
import javax.sip.header.*;
import javax.sip.message.*;
/*import net.java.sip.communicator.impl.protocol.jabber.extensions.*;*/
import net.java.sip.communicator.service.media.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.Message;
import net.java.sip.communicator.service.protocol.event.*;
/*import net.java.sip.communicator.service.protocol.jabberconstants.*;*/
import net.java.sip.communicator.util.*;

/**
* A straightforward implementation of the basic instant messaging operation
* set.
*
* @author Damian Minkov
*/
public class OperationSetBasicInstantMessagingSipImpl
    implements OperationSetBasicInstantMessaging, SipListener
{
    private static final Logger logger =
        Logger.getLogger(OperationSetBasicInstantMessagingSipImpl.class);

    /**
     * A list of listeneres registered for message events.
     */
    private Vector messageListeners = new Vector();

    /**
     * The provider that created us.
     */
    private ProtocolProviderServiceSipImpl sipProvider = null;

    /**
     * A reference to the persistent presence operation set that we use
     * to match incoming messages to <tt>Contact</tt>s and vice versa.
     */
    private OperationSetPersistentPresenceSipImpl opSetPersPresence = null;

    /**
     * Creates an instance of this operation set.
     * @param provider a ref to the <tt>ProtocolProviderServiceImpl</tt>
     * that created us and that we'll use for retrieving the underlying aim
     * connection.
     */
    OperationSetBasicInstantMessagingSipImpl(
            ProtocolProviderServiceSipImpl protocolProvider){
        this.sipProvider=protocolProvider;
    }

    /**
     * Registeres a MessageListener with this operation set so that it gets
     * notifications of successful message delivery, failure or reception of
     * incoming messages..
     *
     * @param listener the <tt>MessageListener</tt> to register.
     */
    public void addMessageListener(MessageListener listener)
    {
        synchronized(messageListeners)
        {
            if(!messageListeners.contains(listener))
            {
                this.messageListeners.add(listener);
            }
        }
    }

    /**
     * Unregisteres <tt>listener</tt> so that it won't receive any further
     * notifications upon successful message delivery, failure or reception of
     * incoming messages..
     *
     * @param listener the <tt>MessageListener</tt> to unregister.
     */
    public void removeMessageListener(MessageListener listener)
    {
        synchronized(messageListeners)
        {
            this.messageListeners.remove(listener);
        }
    }

    /**
     * Create a Message instance for sending arbitrary MIME-encoding content.
     *
     * @param content content value
     * @param contentType the MIME-type for <tt>content</tt>
     * @param contentEncoding encoding used for <tt>content</tt>
     * @param subject a <tt>String</tt> subject or <tt>null</tt> for now subject.
     * @return the newly created message.
     */

    public Message createMessage(byte[] content, String contentType,
                                 String contentEncoding, String subject)
    {
        return new MessageSipImpl(new String(content), contentType
                                  , contentEncoding, subject);
    }

    /**
     * Create a Message instance for sending a simple text messages with
     * default (text/plain) content type and encoding.
     *
     * @param messageText the string content of the message.
     * @return Message the newly created message
     */

    public Message createMessage(String messageText)
    {
        return new MessageSipImpl(messageText, DEFAULT_MIME_TYPE
                                  , DEFAULT_MIME_ENCODING, null);
    }

    /**
     * Determines wheter the protocol provider (or the protocol itself) support
     * sending and receiving offline messages. Most often this method would
     * return true for protocols that support offline messages and false for
     * those that don't. It is however possible for a protocol to support these
     * messages and yet have a particular account that does not (i.e. feature
     * not enabled on the protocol server). In cases like this it is possible
     * for this method to return true even when offline messaging is not
     * supported, and then have the sendMessage method throw an
     * OperationFailedException with code - OFFLINE_MESSAGES_NOT_SUPPORTED.
     *
     * @return <tt>true</tt> if the protocol supports offline messages and
     * <tt>false</tt> otherwise.
     */
    public boolean isOfflineMessagingSupported()
    {
        return true;
    }

    /**
     * Sends the <tt>message</tt> to the destination indicated by the
     * <tt>to</tt> contact.
     *
     * @param to the <tt>Contact</tt> to send <tt>message</tt> to
     * @param message the <tt>Message</tt> to send.
     * @throws java.lang.IllegalStateException if the underlying stack is
     * not registered and initialized.
     * @throws java.lang.IllegalArgumentException if <tt>to</tt> is not an
     * instance of ContactImpl.
     */

        public void sendInstantMessage(
            net.java.sip.communicator.service.protocol.Contact to,
            Message message)
    {
        assertConnected();
                gov.nist.javax.sip.message.SIPMessage msg;
                msg.setMessageContent(message.getContent());
        msg.setTo(to.getAddress());
        
    /**
     * Utility method throwing an exception if the stack is not properly
     * initialized.
     * @throws java.lang.IllegalStateException if the underlying stack is
     * not registered and initialized.
     */
    private void assertConnected() throws IllegalStateException
    {
        if (sipProvider == null)
            throw new IllegalStateException(
                "The provider must be non-null and signed on the "
                +"service before being able to communicate.");
        if (!sipProvider.isRegistered())
            throw new IllegalStateException(
                "The provider must be signed on the service before "
                +"being able to communicate.");
    }

}

------------------------------------------------------------------------

Buildfile: build.xml

clean-bundle-repositories:
   [delete] /home/azrul/sip-communicator/sip-communicator.bin not found.
   [delete] /home/azrul/sip-communicator/sip-communicator.utest.bin not found.

clean-test-reports:
   [delete] Deleted 2 directories from /home/azrul/sip-communicator/test-reports

clean:
   [delete] Deleting 777 files from /home/azrul/sip-communicator/classes
   [delete] Deleted 84 directories from /home/azrul/sip-communicator/classes
   [delete] Deleted 5 directories from /home/azrul/sip-communicator/sc-bundles
   [delete] Deleted 1 directory from /home/azrul/sip-communicator/doc/api
   [delete] Deleted 1 directory from /home/azrul/sip-communicator/log

init:
    [mkdir] Created dir: /home/azrul/sip-communicator/doc/api
    [mkdir] Created dir: /home/azrul/sip-communicator/sc-bundles
    [mkdir] Created dir: /home/azrul/sip-communicator/sc-bundles/os
    [mkdir] Created dir: /home/azrul/sip-communicator/sc-bundles/os/macosx
    [mkdir] Created dir: /home/azrul/sip-communicator/sc-bundles/os/linux
    [mkdir] Created dir: /home/azrul/sip-communicator/sc-bundles/os/windows
    [mkdir] Created dir: /home/azrul/sip-communicator/test-reports
    [mkdir] Created dir: /home/azrul/sip-communicator/test-reports/html
    [mkdir] Created dir: /home/azrul/sip-communicator/log

version:
     [copy] Copying 1 file to /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/version
    [javac] Compiling 3 source files to /home/azrul/sip-communicator/classes
     [echo] SIP Communicator version 1.0-alpha2-build.by.azrul

compile:
    [javac] Compiling 608 source files to /home/azrul/sip-communicator/classes
    [javac] /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java:55: net.java.sip.communicator.impl.protocol.sip.OperationSetBasicInstantMessagingSipImpl is not abstract and does not override abstract method processDialogTerminated(javax.sip.DialogTerminatedEvent) in javax.sip.SipListener
    [javac] public class OperationSetBasicInstantMessagingSipImpl
    [javac] ^
    [javac] /home/azrul/sip-communicator/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java:195: setTo(javax.sip.header.ToHeader) in gov.nist.javax.sip.message.SIPMessage cannot be applied to (java.lang.String)
    [javac] msg.setTo(to.getAddress());
    [javac] ^
    [javac] 2 errors

------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net