
Figure 23.4: Call Forwarding SBB creation
// get profile for service instance’s current subscriber
CallForwardingAddressProfileCMP profile;
try {
// get profile table name from environment
String profileTableName = (String)new InitialContext().lookup(
"java:comp/env/ProfileTableName");
// lookup profile
ProfileFacility profileFacility = (ProfileFacility)new InitialContext().lookup(
"java:comp/env/slee/facilities/profile");
ProfileID profileID = profileFacility.getProfileByIndexedAttribute(profileTableName,
"addresses", new Address(AddressPlan.E164, current));
if (profileID == null) {
trace(Level.FINE, "Not subscribed: " + current);
return;
}
profile = getCallForwardingProfile(profileID);
} catch (UnrecognizedProfileTableNameException upte) {
trace(Level.WARNING, "ERROR: profile table doesn’t exist: CallForwardingProfiles");
return;
} catch (Exception e) {
trace(Level.WARNING, "ERROR: exception caught looking up profile", e);
return;
}
If forwarding parameter in Profile is enabled, the SBB changes the destination number for the call, and routes the call to the
Forwarding Address of that user.
// check subscriber profile to see if service is enabled
if (!profile.getForwardingEnabled()) {
Open Cloud Rhino 1.4.3 Administration Manual v1.1 152
Comentarios a estos manuales