Apparatus and method for providing multiple line billing in telecommunications systems

One or more application server components serve to associate one or more digit strings with one or more numbers available to one party of one or more parties to a call and to impose one or more charges on the one or more numbers available to the one party to the call. Where the one party to the call employs an equipment that fails to support a P-Asserted-Identity header of the call, one application server component of the one or more application server components serves to: remove from the header of the call one digit string of the one or more digit strings available to the one party; insert into the P-Asserted-Identity header one number of the one or more numbers available to the one party associated with the one digit string; and to impose one charge of the one or more charges on the one number associated with the one digit string.

TECHNICAL FIELD

The invention relates generally to telecommunications systems and more particularly to multiple line billing for parties of the telecommunications systems.

BACKGROUND

With the worldwide acceptance of wireless telecommunications devices, parties often carry more than one device. They might have one device for work affairs and another device for personal affairs. One way to reduce the number of devices one carries is to provision one or more numbers, for example, one or more calling or called party numbers, for a single device, for example, one number for work affairs, and one number for personal affairs. The one or more numbers comprise one or more E.164 numbers (e.g. phone number 1-888-555-1000) or one or more Session Initiation Protocol (“SIP”) Universal Resource Identifiers (“URIs”) (e.g. a web address www.yoursite.com). To provide billing for the one or more numbers for calls used for initiation the call or terminating the call, the call must contain information regarding the party of the initiation device and the party of the termination device.

One piece of information required for accurate billing is the called party number. The called party number comprises the number of a device to which a call is directed. The technology of the device currently supports the called party number field when initiating or terminating the call. The network employs the called party number to route the call to the termination device. The called party number serves as the billing number of the termination device. Another piece of information required for accurate billing is the calling party number. The calling party number comprises the number of a device which initiated a call.

One way to indicate the calling party number of the initiation device is for the technology of the device to support the P-Asserted-Identity header. The P-Asserted-Identity header is one of the Third Generation Partnership Project (“3GPP”) defined headers used to convey the calling party number of the initiation device to the termination device. The calling party number serves as the billing number of the initiation device.

Without a standard signaling protocol established between the network and the devices, the network provider is forced to either support both signaling protocols at great cost, or support one signaling protocol at risk of customer resentment.

Thus there is a need to support multiple line billing in the Universal Mobile Telecommunications Systems (“UMTS”) or Global System for Mobile communication (“GSM”) systems where one or more signaling protocols are available for the devices requiring minimal impact to the network.

SUMMARY

An apparatus and method for imposing one or more charges on one or more numbers associated with respective one or more parties to a call. Where one party of the one or more parties to the call employ an equipment that fails to support a P-Asserted-Identity header of the call, the one party employs one digit string of one or more digit strings to select one number of the one or more numbers associated with the one party to impose one charge of the one or more charges for the call. One application server component of one or more application server components serves to associate the one digit string with the one number of the one or more numbers associated with the one party and impose the one charge on the one number associated with the one digit string. The one application server component serves to support the P-Asserted-Identity header by removing the one digit string and inserting the one number associated with the one digit string into the P-Asserted-Identity header of the call.

DETAILED DESCRIPTION

Turning toFIG. 1, an apparatus100in one example comprises a plurality of components such as computer software and/or hardware components. A number of such components can be combined or divided in the apparatus100.

Referring toFIG. 1, the apparatus100in one example comprises application server components102,104, and106, a function server component108, a storage server component110, a network component112, a network114, equipment116and118, network components120,122,124,126, and128, and a network130.

In one example the application server components102,104, and/or106comprise software components resident in the function server component108. In another example the application server components102,104, and/or106comprise hardware components external to the function server component108. The function server component108in one example comprises a Serving Call Session Control Function (“S-CSCF”) server. The storage server component110in one example comprises a Home Subscriber Server (“HSS”) component. The network component112in one example comprises an Interrogating Call Session Control Function (“I-CSCF”). The network114in one example comprises the application server components102,104, and/or106, the function server component108, the storage server component110, and the network component112.

The equipment116and/or118in one example comprise a cellular phone. The equipment116and/or118in another example comprises a personal computer. The network components120and122in one example comprise Radio Network Controllers (“RNCs”). The network component124in one example comprises a Serving General Packet Radio Service Serving Node (“SGSN”). The network component126in one example comprises a Gateway General Packet Radio Service Serving Node (“GGSN”). The network component128in one example comprises a Proxy Call Session Control Function (“P-CSCF”) server. The network130in one example comprises network components120,122,124,126, and128.

The application server component102in one example imposes one charge of one or more charges on one number of a plurality of numbers associated with a party of the equipment116for a call. The application server component102in one example comprises an initiation repository data component132, a custom-initiation repository data component134, and/or a toggle component138. The application server component102utilizes a signaling protocol, for example, a Session Initiation Protocol (“SIP”) signaling protocol. The application server component102in one example serves to support a P-Asserted-Identity header extension of the Session Initiation Protocol of the call. The application server component102in one example serves to remove a digit string, for example, an initiation digit string, from a called party number of a header of the call.

The application server component104in one example imposes one charge of one or more charges on one number of a plurality of numbers associated with a party, for example, a called party, of the equipment118for the call. The application server component104in one example comprises a forward-to component135, a termination repository data component136, a callback component137, and/or multiple registration states139. The application server component104in one example provides a forward-to service to the called party of the equipment118where the call is directed to one public user identity of a deregistered state of a plurality of public user identities associated with the called party of the equipment118. The application server component104in one example serves to employ the callback component137to provide accurate billing for the party of the equipment118when calling back the party of the equipment116. The application server component104in one example utilizes the Session Initiation Protocol signaling protocol. The application server component104in one example serves to support the P-Asserted-Identity header extension of the Session Initiation Protocol of the call. In another example, the application server component104serves to prepend a digit string, for example, a termination digit string, to a calling party number of the call.

The application server component106in one example serves to impose one charge of one or more charges on one number of a plurality of numbers associated with the party of the equipment118for a forward-to call. The application server component106in one example comprises the forward-to component135and the multiple registration states139. The application server component106in one example serves to provide the forward-to service for the called party, for example, the party of the equipment118. The application server component106utilizes the signaling protocol, for example, the Session Initiation Protocol signaling protocol.

The function server component108assists the application server components102,104, and/or106, to provide multiple line billing for the call received over the networks114and130. The function server component108in one example comprises the toggle component138and the multiple registration states139. The function server component108in one example adheres to the Session Initiation Protocol signaling protocol. The function server component108in one example adheres to a signaling protocol, for example, a DIAMETER signaling protocol, to communicate with the storage server component110. In one example, the function server component108serves to route the call to one or more application server components102,104, and/or106, of the one or more application server components102,104, and106. The function server component108in combination with the application server components102,104, and/or106supports the P-Asserted-Identity header extension to the Session Initiation Protocol of the call.

The storage server component110stores multiple profiles of one or more parties, for example, the party of the equipment116and the party of the equipment118. The storage server component110in one example comprises the initiation repository data component132, the custom-initiation repository data component134, the termination repository data component136, and information regarding a termination service of the party of the equipment116. The storage server component110receives one or more REGISTER messages (e.g. one REGISTER message comprising a timer field set to a value greater than zero or an INVITE message comprising a toggle string) and one or more DEREGISTER messages (e.g. one REGISTER message comprising the timer field set to the value of zero or the INVITE message comprising the toggle string) from the function server component108. The storage server component110communicates with the application server components102,104and/or106, and the function server component108to download the multiple profiles of the one or more parties, for example, the party of the equipment116and the party of the equipment118. The storage server component110communicates via the DIAMETER signaling protocol.

The network component112in one example serves to provide an access point into the network114for the INVITE messages coming from a second network114. The network component112in one example serves to provide the access point into the network114for the one or more REGISTER messages.

The network114in one example serves to provide multiple line billing for one or more equipments, for example, the equipments116and118, by communicating with one or more of the application server components102,104, and106. In one example, the network114adheres to the Session Initiation Protocol signaling protocol. In another example, the network114adheres to the DIAMETER signaling protocol for communication with the storage server component110.

The equipments116and/or118serve to register one or more public user identities of the plurality of public user identities associated with a party, for example, the party of the equipment116, initiate the call, and receive the call. The equipment116and/or118in one example comprise respective radio transmitters and respective Subscriber Identification Modules (“SIMs”)140and142. The Subscriber Identification Module140of the equipment116in one example comprises one number or Universal Resource Identifier of the party of the Subscriber Identification Module. The equipment116in one example initiates the call to the network130. The equipment118in one example receives the call from the network130. The equipment116and118communicate with the network130by adhering to the Session Initiation Protocol (“SIP”) signaling protocol.

The network component120serves to route the call between the equipment116and the network component122. The network component124serves to route the call between the network component124, and the network components120and122. The network component126serves to route the call between the network component128and the network component124. The network component128serves to route the call between the network component108of the network114and the network component126.

The network130in one example routes the call from the equipment116to the equipment118. In one example, the network130comprises a first visiting network130for the equipment116. In another example, the network130comprises a second visiting network130for the equipment118. In one example, the first visiting network130comprises the second visiting network130. In another example, the first visiting network130is distinct from the second visiting network130. The network130adheres to the Session Initiation Protocol signaling protocol.

The application server component102communicates with the storage server component110to download relevant portions of one profile associated with the party of the equipment116of the multiple profiles, for example, a copy of a repository data component such as a copy of the initiation repository data component132, upon receipt of the REGISTER message from the function server component108. In another example, the copy of the initiation repository data component is stored in a component (not shown) coupled with the application server component102. The copy of the initiation repository data component132in one example stores the multiple public user identities associated with a calling party, for example, the party of the equipment116, and respective multiple digit strings, for example, multiple initiation digit strings. The multiple public user identities of the initiation repository data component132comprise respective multiple calling party numbers available to the calling party. The calling party of the equipment116in one example employs the one initiation digit string of the multiple initiation digit strings to indicate a selection of the one number from the any of multiple numbers available to the calling party of the equipment116to the call.

Upon receipt of the call from the function server component108, where the called party number of the call is prepended with the one initiation digit string of the multiple initiation digit strings available to the calling party, for example, the party of the equipment116, the application server component102in one example employs the one initiation digit string to relate the one initiation digit string with one public user identity of the multiple public user identities of the party of the equipment116and to impose the one charge on the calling party number related to the one public user identity. The application server component102in one example: removes the one initiation digit string from the called party number; employs the one initiation digit string to obtain the calling party number from the initiation repository data component132; and inserts the calling party number of the one public user identity associated with the one initiation digit string in a calling-party-number field of the header, for example, a P-Asserted-Identity header, of the call. The application server component102returns the call to the function server component108.

In another example, the application server component102communicates with the storage server component110to download a copy of the custom-initiation repository data component134. The copy of the custom-initiation repository data component134in one example serves to store a copy of the multiple public user identities associated with the calling party of the equipment116and respective multiple called party numbers. The multiple public user identities comprise respective calling party numbers available to the calling party. The calling party, for example, the party of the equipment116, in one example employs the custom-initiation repository data component134to relate the one or more called party numbers to respective calling party numbers of the respective public user identities. In one example, the application server component102serves to transfer the custom-initiation repository data component134to the equipment116.

Upon receipt of the call comprising the called party number, the application server component102in one example employs the called party number of the called-party-number field of the header of the call to obtain the calling party number from the custom-initiation repository data component134. The application server component102in one example imposes the one charge on the calling party number that is related to the called party number of the call. The application server component102inserts the calling party number into the calling-party-number field of the P-Asserted-Identity header of the call.

Upon receipt of the one REGISTER message from the function server component108, the application server component104communicates with the storage server component110to download the relevant portions of the profile of the user, for example, a copy of the repository data structure such as a copy of the termination repository data component136. The copy of the termination repository data component136in one example serves to store a copy of the multiple public user identities associated with the called party, for example, the party of the equipment118, and respective multiple digit strings, for example, multiple termination digit strings. The multiple public user identities of the termination repository data component136comprise respective multiple called party numbers available to the called party.

In one example, upon receipt of the call destined for the called party, for example, the party of the equipment118, the application server component104in one example employs the one called party number of the call to obtain the one termination digit string of the multiple termination digit strings associated with one public user identity of the multiple public user identities of the called party of the equipment118. The application server component104serves to prepend the one termination digit string associated with the one public user identity to the calling party number contained in the calling-party-number field of the header of the call. The application server component104in one example serves to impose the one charge on the one called party number of the called-party-number field of the header of the call.

The forward-to component135of the application server component104in one example comprises multiple forward-to enables and multiple forward-to numbers for the one or more parties to the call, respectively. The multiple forward-to numbers comprise respective numbers of the plurality of numbers to which the call is re-directed in the event that a registration state of the one public user identity to which the call is directed comprises the deregistered state. The multiple forward-to enables indicate that the forward-to service is available for the respective called parties, for example, the party of the equipment118.

Upon receipt of the call destined for the one public user identity associated with the called party, for example, the party of the equipment118, that comprises the registration state of the deregistered state, the application server component104employs the forward-to component135to initiate a second call into the networks114and130. The second call into the networks114and130in one example comprises a second called party number that comprises one forward-to number of the multiple forward-to numbers.

The application server component104in one example employs the called party number of the call to obtain one forward-to enable and the one forward-to number from the forward-to component135. In one example, the application server component104serves to insert the one forward-to number into a redirect-party-number field of the header of the second call. In another example, the application server component104serves to insert the one forward-to number in the called-party-number field of the header of the second call. The application server component104in one example serves to impose the one charge on the one called party number of the called-party-number field of the header of the call destined for the one public user identity that comprises the deregistered state.

In another example, upon receipt of the call the application server component104stores information about the call in the callback component137. In one example, where the party of the equipment116initiates the call to the party of the equipment118, the application server component104stores the calling party number contained in the calling-party-number field of the call and the one digit string prepended to the calling party number in the callback component137. The party of the equipment118in one example initiates a callback call to the party of the equipment116by selecting the calling party number from which the party of the equipment116initiated the call.

In one example, upon receipt of the callback call, the application server component104employs the called party number of the callback call to obtain the one digit string from the callback component137and to prepend the called party number of the callback call with the one digit string. In another example, the application server component104employs the called party number of the callback call to obtain the calling party number from the callback component137and to insert the calling party number into the calling-party-number field of the header of the callback call, for example, in the P-Asserted-Identity header of the callback call. The application server component104in one example imposes the one charge on the calling party number associated with the called party number of the callback call.

In one example, where the application server component104comprises the multiple registration states139for the multiple public user identities associated with the party of the equipment118, the application server component104in one example provides the forward-to service for the call initiated by the party of the equipment116comprising the called party number associated with the one public user identity of the deregistered state of the called party of the equipment118.

In one example, where the application server component106maintains the multiple registration states139for the multiple public user identities associated with the party of the equipment118, the application server component106in one example provides the forward-to service for the call initiated by the party of the equipment116comprising the called party number associated with the one public user identity of the deregistered state of the party of the equipment118.

The function server component108communicates with the storage server component110to download a copy of the multiple profiles for the one or more parties to the call on the networks114and130. The multiple profiles in one example comprises respective one or more filter criterions. The function server component108in one example employs one or more of the one or more filter criteria associated with one profile of one party of the one or more parties to the call on the networks114and130to route the calls received to one or more of the application server components102,104, and/or106.

Upon receipt of the call, the function server component108serves to route the call based on one or more of the one or more filter criteria of the one profile associated with the party of the equipment116. The one or more filter criteria in one example indicate that where the called party number of the call is prepended with the one initiation digit string, the function server component108routes the call to the application server component102. The one or more filter criteria in one example dictate that upon receipt of the call comprising the toggle string the function server component108serves to route the call to the application server component104. In one example, the one or more filter criteria indicate that where the called party number of the call matches the one public user identity of the multiple public user identities of the party of the equipment118, the function server component108serves to route the call to the application server component104. Upon receipt of the call in one example where the called party number matches the one public user identity that comprises the deregistered state for the party of the equipment118, the function server component108in one example forwards the call to the application sever component106.

The one or more profiles of the one or more respective parties to the call comprise one or more public user identities. The multiple public user identities of the respective one or more parties comprises the plurality of numbers to which the call is billed, respectively. In one example, the multiple public user identities comprise one or more calling party numbers for the party of the equipment116initiating the call. In another example, the multiple public user identities comprise one or more called party numbers for the party of the equipment118receiving the call. The plurality of numbers in one example comprise an E.164 number, for example, (e.g. 1-800-555-1000) or a Session Initiation Protocol Universal Resource Identifier, for example, an email address (e.g. youremail@address.com).

The function server component108in one example maintains the multiple registration states139for the multiple public user identities, respectively, associated with the party of the equipment116. The multiple registration states139comprise either respective registered states or respective deregistered states. The function server component108in one example employs one registration state of the multiple registration states139of one public user identity of the multiple public user identities associated with the one digit string of the call to route the call to one or more of the application server components102,104, and/or106.

Upon receipt of the REGISTER message from the party of the equipment116, the function server component108communicates with the storage server component110to download the relevant information from the profile of the party of the equipment116. In one example, the function server component108forwards the REGISTER message to the application server components102,104, and/or106, and the storage server component110based on the filter criteria of the one profile of the party of the equipment116. In another example where the equipment116and the network component112have been pre-provisioned to receive the REGISTER message, the function server component108serves to notify the equipment116and the network component112of the change in the one registration state of the one public user identity associated with the REGISTER message of the party of the equipment116.

The function server component108in one example comprises the toggle component138. The toggle component138in one example comprises one or more toggle enables associated with the one or more parties of the call. The one or more toggle enables allow the toggle component138to ensure that at least one public user identity of the multiple public user identities associated with the party of the equipment116comprises the registered state.

Upon receipt of the DEREGISTER message from the party of the equipment116, the function server component108serves to relate the DEREGISTER message to one public user identity of the one or more public user identities associated with the party of the equipment116and change from the registered state to the deregistered state the one registration state associated with the one public user identity related to the DEREGISTER message. The function server component108in one example serves to forward the DEREGISTER message to one or more of the application server components102,104, and/or106. The function server component108in one example serves to notify the storage server component110of the change in the one registration state of the one public user identity associated with the DEREGISTER message.

In another example, the application server component102comprises the toggle component138. Upon receipt of the DEREGISTER message, for example, either the toggle string *72 or the REGISTER message comprising the timer set to zero, the function server component108in one example serves to forward the DEREGISTER message to the application server component102based on the filter criteria for the party of the equipment116. The application server component102upon receipt of the DEREGISTER message employs the toggle component138. Where the toggle enable is enabled in the one profile of the party of the equipment116, the application server component102in combination with the toggle component138initiates a second DEREGISTER message for the one public user identity associated with the one digit string *2* (e.g. the REGISTER message comprising the timer set to the value of zero) and one or more REGISTER messages to the function server component108for the one or more public user identities associated with the party of the equipment116except the public user identity associated with the one digit string *2*.

Upon receipt of the second DEREGISTER message initiated by the application server component102, the function server component108serves to change to the deregistered state the one registration state of the one public user identity associated with the digit string *2*. Upon receipt of the one or more REGISTER messages initiated by the application server component102, the function server component108serves to change to respective registered states the one or more public user identities of the multiple public user identities associated with the party of the equipment116except the one public user identity associated with the digit string *2*. The function server component108serves to forward the second DEREGISTER message and the one or more REGISTER messages to the application server components104and/or106based on the filter criteria stored in the function server component108. The function server component108serves to notify the storage server component110of the one or more changes in the one or more registration states of the one or more public user identities.

Upon receipt of the REGISTER message from the function server component108, the storage server component110in one example performs permission checking on the party of the equipment116. For example, the storage server component110determines if the party of the REGISTER message is currently registered on the networks114and130and if the party of the REGISTER message is allowed to register on the networks114and130.

Where the party of the equipment116initiates the REGISTER message and is not currently registered on the networks114and130, the storage server component110in one example returns an acknowledge call to the function server component108along with the one profile of the party, for example the party of the equipment116. The REGISTER message in one example serves to implicitly change the registration states of all public user identities associated with the party of the equipment116to the registered state.

The equipments116and118in one example serves to register one or more public user identities by sending the one or more REGISTER messages to the networks114and130. The equipments116and118in one example serve to deregister one or more public user identities by sending one or more DEREGISTER messages to the networks114and130. The REGISTER messages to the networks114and130in one example comprises a Temporary Internet Protocol Multimedia Subsystem Public Identity (“TIMPU”), which indicates the one or more public user identities of the party of the equipment116to register on the networks114and130.

Where the calling party, for example, the party of the equipment116, desires to establish the call with the party of the equipment118, the party of the equipment116initiates the call to the equipment118via the networks114and130. The party of the equipment116in one example serves to select the calling party number on which to impose the one charge for the call by prepending the called party number with the one initiation digit string.

Where the called party, for example, the party of the equipment118, receives the call, the equipment118in one example displays the calling party number with the one termination digit string prepended to the calling party number. The one termination digit string prepended to the calling party number displayed on the equipment118in one example indicates the called party number onto which was imposed the one charge for the call.

The equipment118in one example serves to provide a first distinctive ring tone for the call that matches a first called party number. The equipment118in another example serves to provide a second distinctive ring tone for the call that matches a second called party number.

The equipment116and/or118in one example comprise the custom-initiation repository data component134. The equipment116and/or118in one example serve to communicate with the application server component102to download the copy of the custom-initiation repository data component134. In another example, the equipment116employ a Short Message System (SMS) method to download the copy of the custom-initiation repository data component134from the storage server component110. In a further example, the equipment116employs a website from which to download the copy of the custom-initiation repository data component134.

In another example, the equipment118comprises the callback component137. The party of the equipment118in one example serves to initiate the callback call to the party of the equipment116. The equipment118in one example employs the called party number of the call to obtain the digit string from the callback component137and to prepend the called party number of the callback call with the digit string.

Turning toFIG. 2, trace202illustrates the one REGISTER message of the party of the equipment116on the network114. The trace202comprises the equipment116, the network114and130, the network component112,120,124, the function server component108, the application server components102,104, and106, and the storage server component110. Trace202comprises the STEPS206,208,210,212,213,214,215,216,218,220,222,224,226,228, and230.

The equipment116initiates the one REGISTER message in the STEP206that is routed through the network130to the network114. The network component112communicates with the storage server component110in the STEP208. The storage server component110performs the permission checking on the party of the equipment116. Upon receipt of approval to register from the storage server component110, the network component112forwards the REGISTER message to the function server component108in the STEP210. In the STEP212, the function server component108serves to download from the storage server component110the relevant information from the one profile of the party of the equipment116. In STEP213, the network component112subscribes with the function server component108to receive notification regarding the change in registration states of the multiple public user identities associated with the party of the equipment116. The function server component108in one example forwards the one REGISTER message to the application server component102in the STEP214. The function server component108in one example forwards the one REGISTER message to the network component112.

In STEP216, the application server component102communicates with the storage server component110to download the copy of the initiation repository data component132. The application server component102returns an acknowledge to the function server component108in the STEP218. The function server component108in one example forwards the one REGISTER message to the application server component104in the STEP220.

The STEPS220-224function the same as the STEPS214-218for the application server component104. Upon receipt of an acknowledge from the application server component104in the STEP224, the function server component108forwards the one REGISTER message to the application server component106. The STEPS226-230function the same as the STEPS214-218for the application server component106. Upon receipt of an acknowledge from the application server component106, the party of the equipment116is registered on the networks114and130.

Referring toFIG. 2, the one DEREGISTER message occurs in an analogous fashion, where the function server component108forwards the DEREGISTER message to the application server components102,104, and106, and also notifies the storage server component110.

Turning toFIG. 3, trace302illustrates an initiation segment of the call from the party of the equipment116. The trace302comprises the equipment116, the network114and130, the network equipment116, the function server component108, the application server components102,104, and106, and the storage server component110. Trace302comprises the STEPS306,308,310,312, and314.

The party of the equipment116initiates the call to the network130in the STEP306where the call is routed from the network130to the network114. In one example, the function server component108serves to route the call to the application server component102based on the filter criteria associated with the call in the STEP308. The application server component102in one example serves to: place the calling party number associated with the initiation digit string prepended to the called party number in the P-Asserted-Identity header; impose the one charge; and return the call to the function server component108in the STEP308.

Upon receipt of the call from the application server component102, the function server component108in one example serves to route the call to the application server component104as in the STEP310. The application server component104serves to perform other initiation services before returning the call to the function server component108as shown in the STEP310.

The STEP312for the application server component106functions the same as the STEP310for the application server component102. Upon receipt of the call from the application server component106, the function server component108in one example serves to forward the call to the network114.

Turning toFIG. 4, trace402illustrates the receipt of a termination segment of the call in one example by the party of the equipment118. The trace402comprises the equipment118, the network114and130, the network component116, the function server component108, the network component112, and the application server components102,104, and106. Trace402comprises the STEPS314,404,406,408, and410.

The network114receives the call in the STEP314from the party of the equipment116and routes the call to the function server component108. The function server component108serves to route the termination segment of the call to the application server component102in the STEP404based on the filter criteria associated with the party of the called party number of the call, for example, the party of the equipment118. After the application server component102performs any termination services, the application server component102returns the call to the function server component108. The function server component108serves to route the call to the application server component104which employs the called party number of the call to: impose the one charge on the called party number; prepend the calling party number of the call with the one termination digit string associated with the called party number; and return the call to the function server component104, as illustrated in the STEP406. The STEP408functions the same as the STEP404. Upon receipt of the call from the application server component106in one example, the function server component108in the STEP410serves to route the call to the network130. The network130serves to route the call to the party of the equipment118.

Turning toFIG. 5, trace502illustrates the one DEREGISTER message from the party of the equipment116for the one public user identity associated with the toggle string *72. The trace502comprises the application server components102,104, and106, the function server component108, the storage server component110, the networks114and130, and an exemplary call header504. The function server component108comprises the toggle component138. The exemplary call header504comprises a called-party-number field506that comprises a toggle string508. Trace502comprises the STEPS510,512,514,515,516, and517.

The party of the equipment116initiates the DEREGISTER message for the public user identity, as illustrated in the STEP510. The called-party-number field506of the exemplary call header504comprises the toggle string508*72. The exemplary call header504routed via the network130to the network114and arrives at the function server component108, as illustrated in the STEP512. The function server component108initiates the one or more DEREGISTER messages to the application server components102,104, and106, as shown in the STEP514. The function server component108notifies to the storage server component110, as shown in the STEP515, of the one or more changes in the one or more registration states due to the one or more DEREGISTER messages. Where the profile of the party of the equipment116comprises the enabled toggle enable, the function server component108employs the toggle component138to initiate the one or more REGISTER messages to the application server components102,104, and106for the multiple public user identities associated with the party of the equipment116except the public user identity associated with the toggle string *72, as illustrated in the STEP516. The function server component108notifies the storage server component110, as shown in the STEP517, of the one or more changes in the one or more registration states due to the one or more REGISTER messages.

Turning toFIG. 6, trace602illustrates a call from the calling party of the equipment116to the called party of the equipment118. The trace602comprises the application server component102, the function server component108, the networks114and130, the initiation repository data component132, an exemplary call header502, and an exemplary call header606. The initiation repository data component132comprises public user identities604,605, and632and respective initiation digit strings609,611, and634. The public user identity604comprises the calling party number608. The public user identity605comprises the calling party number607. The public user identity632comprises the calling party number636. The exemplary call header502comprises the called-party-number field506and the calling-party-number field508. The called-party-number field506comprises the initiation digit string609prepended to the called party number610. The exemplary call header606comprises a called-party-number field614, and a calling-party-number field616. The called-party-number field614comprises the called party number610. The calling-party-number field616comprises the calling party number608. Trace602comprises the STEPS618,620,622,624,626,628, and630.

The calling party of the equipment116initiates a call to the called party of the equipment118, in the STEP618. The call is routed through the network130to the network114where the call is delivered to the function server component108, as shown in the STEP620. The function server component108routes the call to the application server component102, as shown in the STEP622, based on the filter criteria associated with the exemplary call header502. The application server component102employs the initiation digit string609in the STEP624to select the one public user identity604of the initiation repository data component132. The application server component102inserts the calling party number608(e.g. 888-555-1000) of the public user identity604selected by the initiation digit string609into the calling-party-number field616of the exemplary call header606, as shown in the STEP626. The application server component102removes the initiation digit string609from the called-party-number field506of the call header502, places the called party number610(e.g. foo@myemail.com) in the called-party-number field614of the call header606, and serves to impose the one charge on the calling party number608, as shown in the STEP628. The application server component102routes the call back to the function server component108in the STEP630, where the call is routed to the equipment118.

Turning toFIG. 7, trace702illustrates the call from the calling party of the equipment116to the called party of the equipment118. The trace702comprises the application server component104, the function server component108, the storage server component110, the networks114and130, the termination repository data component136, an exemplary call header606, and an exemplary call header718. The termination repository data component136comprises public user identities714and715and respective termination digit strings724and750. The public user identity714comprises the called party number610(e.g. foo@email.com). The public user identity715comprises the called party number716(e.g. skip@trails.net). The termination digit string724comprises the digit string *3*. The termination digit string750comprises the digit string *7*. The exemplary call header606comprises the called-party-number field614and the calling-party-number field616. The called-party-number field614comprises the called party number610. The calling-party-number field616comprises the calling party number608. The exemplary call header718comprises the called-party-number field720and the calling-party-number field722. The called-party-number field720comprises the called party number610. The calling-party-number field722comprises the calling party number608prepended with the termination digit string724. Trace702comprises the STEPS730,732,734,736,738,740, and742.

After performing the steps ofFIG. 6, the call comprises the called party number610and the calling party number608, as illustrated in the STEP730. The network130routes the exemplary call header606to the network114and to the function server component108, as shown in the STEP732. The function server component108routes the call to the application server component104based on the filter criteria associated with the called party number610of the exemplary call header606, as shown in the STEP734. The application server component104employs the called party number610of the exemplary call header606, in the STEP736, to select the public user identity714and the termination digit string724*3* and to impose the one charge on the called party number610. The application server component104prepends the termination digit string724to the calling party number608of the exemplary call header606and inserts the calling party number608prepended with the termination digit string724into the calling-party-number field722of the exemplary call header718as shown in the STEP738. The application server component104inserts the called party number610into the called-party-number field720of the exemplary call header718, in the STEP740. The application server component104returns the call to the function server component108with the exemplary call header718in the STEP742.

Turning toFIG. 8, trace802illustrates the callback call. The trace802comprises the application server component104, the function server component108, the networks114and130, an exemplary call header804, and an exemplary call header814. The application server component104comprises the callback component137. The callback component137comprises the calling party number608and the digit string724. The exemplary call header804comprises the called-party-number field806that comprises the called party number608. The exemplary call header814comprises the called-party-number field816that comprises the digit string724and the called party number608. Trace802comprises the STEPS820,822,824,826,828, and830.

After receiving the call from the party of the equipment116and performing the steps ofFIGS. 6 and 7, the callback component137of the application server component104comprises the calling party number608of the call and the one termination digit string724of the call ofFIG. 7. The party of the equipment118initiates the callback call to the party of the equipment116, as shown in the STEP820, by selecting the calling party number of the party of the equipment118previously received by the party of the equipment116. The calling party number of the party of the equipment118previously received is inserted as the called party number608into the called-party-number field806of the exemplary call header804. The network130routes the callback call to the network114and to the function server component108in the STEP822. The function server component108routes the callback call to the application server component104based on the filter criteria associated with the party of the equipment118as in the STEP824. The application server component104employs the called party number608of the exemplary call header804to obtain the termination digit string724previously received by the party of the equipment118from the callback component137, as illustrated in the STEP826. The application server component104prepends the called party number608with the digit string724previously received and inserts the called party number608and digit string724into the called-party-number field816of the exemplary call header814, as shown in the STEP828. The application server component104routes the callback call to the function server component108which then performs the STEPS ofFIG. 6, where the application server component102employs the digit string724to obtain the calling party number636(e.g. mom@home.net) stored in the initiation repository data component132.

Turning toFIG. 9, trace902illustrates the forward-to call. The trace902comprises the application server component106, the function server component108, the networks114and130, an exemplary call header904, and an exemplary call header910. The application server component106comprises the forward-to component135which comprises a forward-to number912and a forward-to enable911. The function server component108comprises the multiple registration states139of the multiple public user identities for the called party of the equipment118. The exemplary call header904comprises the called-party-number field906and the calling-party-number field908. The called-party-number field906comprises the called party number610. The calling-party-number field908comprises the calling party number608. Trace902comprises the STEPS920,922,924,926,928,930, and932.

The calling party of the equipment116initiates the call to the called party of the equipment118, as illustrated in the STEPS of theFIG. 6, and is received in the STEP920. The network130routes the call to the network114which routes the call to the function server component108in the STEP922. The function server component108employs the called party number610to obtain one registration state of the registration states139of the one public user identity. The function server component108routes the call to the application server component106based on the one registration state of the called party number610in the STEP924. The application server component106employs the called party number610in the STEP926to obtain the forward-to number912and to check the forward-to enable911associated with the called party number610. The application server component106initiates the forward-to call in the STEP928by inserting the forward-to number912into the called-party-number field914of the exemplary call header910. The application server component106inserts the calling party number608into the calling-party-number field916of the exemplary call header910in the STEP930and serve to impose the one charge on the called party number608(e.g. impose the one charge on foo@myemail.com). The application server component106returns the forward-to call to the function server component108in the STEP932. The function server component108routes the call as in the STEPS ofFIG. 7.

An illustrative description of exemplary operation of the apparatus100is now presented, for explanatory purposes.

The party of the equipment116enters the visiting network106. The equipment116initiates the REGISTER message to the visiting network106. The visiting network130serves to route the REGISTER message to the home network114of the party of the equipment116. The home network114serves to route the REGISTER message to the function server component108. The function server component108communicates with the storage server component110to download the relevant information of the profile of the party of the equipment116. The party of the equipment118serves to register on the visiting network106analogous to the REGISTER message of the party of the equipment116.

The function server component108serves to route the REGISTER message to the application server component102,104, and106based on the filter criteria of the profile of the party of the equipment116. The application server component102,104, and106in turn communicate with the storage server component110to download the relevant information from the profile of the party of the equipment116.

In another example, one of the public user identities of the party of the equipment116comprises the email address: foo@email.account. One of the public user identities of the party of the equipment118comprises the cellular phone number of 1-800-555-1000. The public user identity of the party of the equipment116corresponds to the digit string *3*. The public user identity of the party of the equipment118corresponds to the digit string *2*.

The equipment116initiates the call to the equipment118. The party of the equipment116selects the calling party number on which the one charge is imposed for the call by prepending the initiation digit string, *3*, to the called party number of the equipment118, 1-800-555-1000.

The network130serves to route the call to the network114of the party of the equipment116. The function server component108serves to route the call to the application server component102based on the filter criteria of the profile of the party of the equipment116. The filter criteria of the profile of the party of the equipment116indicates that where the called party number is prepended with the initiation digit string, the function server component108serves to route the initiation segment of the call to the application server component102.

Upon receipt of the call, the application server component102serves to remove the initiation digit string from the called party number and employs the initiation digit string to obtain the calling party number, the email address foo@email.account. The application server component102inserts the calling party number in the P-Asserted-Identity header of the call. The application server component102serves to impose the one charge on the calling party number foo@email.account. The application server component102then returns the call to the function server component108.

The function server component108serves to route the call to the application server component104based on the filter criteria of the profile of the party of the equipment118. The filter criteria of the party of the equipment118indicates that for the call where the called party number matches one of the one public user identity of the one or more public user identities of the party of the equipment118, the function server component108serves to route the call to the application server component104.

Upon receipt of the call, the application server component104serves to prepend the calling party number in the P-Asserted-Identity header with the termination digit string associated with the one public user identity that matches the called party number of the call. The application server component104prepends the calling party number, foo@email.account, with the termination digit string, *2*, corresponding to the called party number of the call. The application server component104then returns the call to the function server component108. The function server component108routes the call to the party of the equipment118. The display on the calling party equipment118comprises *2*foo@email.account.

In another example, the party of the equipment116initiates the call to the party of the equipment118by dialing the called party number of the equipment118, 1-800-555-1000. Upon receipt of the call, the application server component102serves to employ the called party number of the call to obtain the calling party number from the custom-initiation repository data component134. The application server component102: inserts the calling party number in the P-Asserted-Identity header of the call; imposes the one charge on the calling party number foo@email.account; and returns the call to the function server component108.

In a further example, the party of the equipment118has two public user identities associated with the profile of the party. The public user identity corresponding to the digit string *1* comprises a calling party email address of bar@email.account. The public user identity corresponding to the digit string *2* in one example comprises the phone number 1-800-555-5000. The public user identity associated with the digit string *2* comprises the registered stated.

The party of the equipment118initiates a DEREGISTER message comprising the toggle string *72 which indicates that the public user identity associated with the digit string *2* is to be deregistered. The equipment118routes the call comprising the toggle string of *72 to the function server component108. The function server component108routes the call comprising the toggle string *72 to the application server component106based on the filter criteria associated with the party of the equipment118. The application server component106initiates the second DEREGISTER message to the function server component108that serves to deregister the public user identity associated with the digit string *2* of the party of the equipment118and initiates the REGISTER message for the public user identity associated with the digit string *1* of the party of the equipment118based on the toggle component138. The function server component108forwards the DEREGISTER message and the REGISTER message to the application server components102,104and106, and notifies the storage server component110of the change in registration states for the public user identities associated with the party of the equipment118. The application server components102,104, and106download the relative information from the profile of the party of the equipment118from the storage server component110.

The apparatus100in one example employs one or more computer-readable signal-bearing media. One example of a computer-readable signal-bearing medium for the apparatus100comprises an instance of the recordable data storage medium102such as one or more of a magnetic, electrical, optical, biological, and atomic data storage medium. In another example, a computer-readable signal-bearing medium for the apparatus100comprises a modulated carrier signal transmitted over a network comprising or coupled with the apparatus100, for instance, one or more of a telephone network, a local area network (“LAN”), the internet, and a wireless network. An exemplary component of the apparatus100employs and/or comprises a set and/or series of computer instructions written in or implemented with any of a number of programming languages, as will be appreciated by those skilled in the art.

The steps or operations described herein are just exemplary. There may be many variations to these steps or operations without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted, or modified.