I have to develop a sip client software based on N80 system using the SIP APIs offered by S60 3rd edition. Since It isn't suitable to use the "CSIPProfile" and "CSIPProfileRegistry", I tried the "CSIPregistrationBinding"class follow the SDK offered example below, but no packet was send out.
//copy from the sdk refrence begin
CSIPregistrationBindingThe SIP Client API is initiated by creating the CSIP and CSIPConnection objects:
iSIP = CSIP::NewL(KAppUid, *iMySIPObserver);
iConnection = CSIPConnection::NewL(*iSIP, KIapIdentifier,
In order to publish a user’s SIP contact address, a SIP registration is created. This requires an AOR, a contact to be registered and in this example also CSIPRefresh is created to cause the registration to be automatically refreshed by the SIP stack.
In the example below, localhost indicates the request for the SIP stack to replace it with a local address; i.e. sip:user@localhost means that the SIP stack will replace localhost with the local IP address.
CSIPToHeader* aor = CSIPToHeader:ecodeL(_L8("sip:email@example.com"));
CSIPAddress* addr = CSIPAddress:ecodeL(_L8("sip:user@LOCALHOST"));
CSIPContactHeader* contact = CSIPContactHeader::NewL(addr);
CSIPRefresh* refresh = CSIPRefresh::NewLC();
iRegistration = CSIPRegistrationBinding::NewL(*iConnection, aor, contact, refresh);
CleanupStack::Pop(3); //refresh, contact, aor
Once CSIPRegistrationBinding has been created, a REGISTER transaction can be initiated.
iRegisterTransaction = iRegistration->RegisterL();
I found out that the server's IP and port was not set, but I search the APIs and didn't find a solution.