Hello again, I have been doing some reading up and plan to implement the Rx interface as soon as I understand the details of how CxManager was implemented. I have another question to do with AVPs that are associated with a Diameter message.
The question is: how are the AVPs set on, for example, the sendPpr() method:
<pre>
/**
* <pre>
* < Push-Profile-Request > ::= < Diameter Header: 305, REQ, PXY, 16777216 >
* < Session-Id >
* { Vendor-Specific-Application-Id }
* { Auth-Session-State }
* { Origin-Host }
* { Origin-Realm }
* { Destination-Host }
* { Destination-Realm }
* { User-Name }
* *[ Supported-Features ]
* [ User-Data ]
* [ Charging-Information ]
* [ SIP-Auth-Data-Item ]
* *[ AVP ]
* *[ Proxy-Info ]
* *[ Route-Record ]
* </pre>
* @throws IOException
*/
public void sendPpr(PublicIdentity publicIdentity) throws IOException
{
Scscf scscf = publicIdentity.getScscf();
if (scscf == null)
{
__
log.info("No S-CSCF assigned to " + publicIdentity + ", could not send PPR request");
_publicIdsToUpdate.remove(publicIdentity.getIdentity());
return;
}
if (!_publicIdsToUpdate.contains(publicIdentity.getIdentity()))
{
__
log.info("The public identity " + publicIdentity + " has been already updated.");
return;
}
DiameterServletRequest request = newRequest(Cx.PPR, scscf);
String privateIdentity = getPrivateIdentity(publicIdentity);
request.add(Common.USER_NAME, privateIdentity);
String serviceProfile = publicIdentity.getImsSubscriptionAsXml(privateIdentity, null, false);
request.getAVPs().add(Sh.USER_DATA, serviceProfile.getBytes());
request.send();
if (publicIdentity instanceof PublicUserIdentity)
{
ImplicitRegistrationSet set = ((PublicUserIdentity) publicIdentity).getImplicitRegistrationSet();
for (PublicIdentity publicId : set.getPublicIdentities())
_publicIdsToUpdate.remove(publicId.getIdentity());
}
else
_publicIdsToUpdate.remove(publicIdentity.getIdentity());
}
</pre>
In the above code, I can see that the User-Data and User-Name AVPs are set with request.getAVPs().add(Sh.USER_DATA, serviceProfile.getBytes()) and request.add(Common.USER_NAME, privateIdentity), but how are the other AVPs set, like Charging-Information , SIP-Auth-Data-Item and Auth-Session-State and so on?
Regards
Victor Neiman
On Tuesday, June 19, 2012 4:24:45 PM UTC+2, Victor Neiman wrote: