1. A method comprising:
detecting a request to initiate a communication event from a first wireless device;
identifying a first user account associated with the first wireless device;
accessing first information associated with the first user account;
determining whether the first information permits the communication event to occur; and
if the determination is that the information does not permit the communication event, denying the request to initiate the communication event; and
if the determination is that the information initially permits the communication event;
identifying a second user account associated with a second wireless device;
accessing second information associated with the second user account;
determining whether the second information permits the communication event to occur; and
if the determination is that the second information does not permit the communication event to occur, denying the request to initiate the communication event; and
if the determination is that the information permits the communication event to occur, enabling communication between the first and second wireless devices.
2. The method of claim 1, wherein the communication event is one of: a telephone conversation, text message, video message, push to talk message, voice message, picture message, Multimedia Messaging Service (MMS) message, Internet browsing session and instant messaging message.
3. The method of claim 1, wherein the wireless device is one of a cellular telephone and Personal Digital Assistant.
4. The method of claim 1, wherein denying the request to initiate the communication event further comprises sending a message to the first wireless device that the communication event will not occur.
5. The method of claim 4, wherein the message is a recorded voice message.
6. The method of claim 1, wherein the first information identifies one of: at least one second wireless device with which communication is permitted, a time period in which communication is permitted, and a telephone area code and prefix within which communication is permitted.
7. The method of claim 1, wherein the first information identifies one of: at least one second wireless device with which communication is not permitted, a time period in which communication is not permitted, and a telephone area code and prefix within which communication is not permitted.
8. The method of claim 1, further comprising identifying the first wireless device, and wherein determining whether the second information permits the communication event to occur comprises determining whether the second information indicates whether the communication event is permitted with the identified first wireless device.
9. The method of claim 8, wherein identifying the first wireless device comprises ascertaining a telephone number associated with the first wireless device.
10. The method of claim 1, further comprising:
providing an electronic interface with which a first user may access the first user account; and
receiving, via the electronic interface, user input that specifies the first information.
11. The method of claim 10, wherein the user interface is a web site.
12. A method comprising:
detecting that a communication event is intended for a wireless device;
identifying a user account associated with the wireless device;
accessing information associated with the user account;
determining whether the information permits the communication event to occur; and
if the determination is that the information does not permit the communication event to occur, terminating the communication event; and
if the determination is that the information initially permits the communication event to occur;
identifying a second user account associated with a second wireless device;
accessing second information associated with the second user account;
determining whether the second information permits the communication event to occur; and
if the determination is that the information does not permit the communication event to occur, denying the request to initiate the communication event; and
if the determination is that the information permits the communication event to occur, enabling communication between the first and second wireless devices.
13. The method of claim 12, wherein the communication event is one of telephone conversation, text message, video message, push to talk message, voice message, picture message, Multimedia Messaging Service (MMS) message, Internet browsing session and instant messaging message.
14. The method of claim 12, wherein the wireless device is one of a cellular telephone and Personal Digital Assistant.
15. The method of claim 12, wherein the information identifies one of: a party with which communication is permitted, and a telephone area code and prefix within which communication is permitted.
16. The method of claim 12, wherein terminating the communication event further comprises sending a message to the first wireless device that the communication event has been terminated.
17. The method of claim 12, wherein the first information identifies one of: a party with which communication is not permitted, a time period in which communication is not permitted, and a telephone area code and prefix within which communication is not permitted.
18. The method of claim 12, further comprising:
providing an electronic interface with which a user may access the user account; and
receiving, via the electronic interface, user input that specifies the information.
19. The method of claim 18, wherein the user interface is a web site.
20. A system for enabling communication with a wireless device, comprising:
a database that stores user account data associated with the wireless device and second user account data associated with a second wireless device;
a core network component that is in operative communication with the database, wherein the core network component detects a communication event that is intended to or initiated by a user, accesses the user account data and second user account data and determines whether a communication restriction is associated with the user account or the second user account and, if a restriction is associated with the user account or the second user account, determines whether the communication event is permissible according to the user account data or the second user account data.
21. The system of claim 20, wherein the core network component further enables the communication event if the core network determines that the communication event is permissible according to the user account data.
22. The system of claim 20, wherein the core network component further terminates the communication event if the core network component determines that the communication event is not permissible according to the user account data.
23. The system of claim 20, wherein the database is stored in a Home Location Register or a Visitor Location Register.
24. The system of claim 20, wherein the core network component is one of a Mobile Switching Center, Gateway Mobile Switching Center, Authentication Center, General Packet Radio Service Support Node and Gateway General Packet Radio Service Support Node.
25. The system of claim 20, further comprising an electronic interface that enables a user to access the user account data and add, modify or delete the communication restriction, and wherein the electronic interface causes the user account data to be saved in the database.
26. The system of claim 25, wherein the electronic interface is a web site.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
What is claimed is as follows:
1. A computer program for use in a mobile station in a wireless communication system comprising a main task and a plurality of independent subtasks;
each of said subtasks capable of being activated only by said main task;
each of said subtasks capable of performing a discrete communication function for said communication system;
said main task capable of notifying a user interface of information;
said main task capable of being notified by said user interface of information;
said main task activating only one of said subtasks at a time and only one said subtask being active at said time;
at least some of said plurality of subtasks capable of notifying a physical layer of the mobile station that there is information to be transmitted by the mobile station;
at least some of said plurality of subtasks capable of being notified by said physical layer that information has been received by the mobile station; and,
each of said plurality of subtasks capable of being modified to alter the functionality of said computer program without modification of said other subtasks.
2. The computer program of claim 1 wherein each of said plurality of subtasks are capable of being modified to alter the functionality of said physical layer without modification of the other subtasks.
3. The computer program of claim 1 wherein each of said plurality of subtasks are capable of being modified to alter the software functionality of said computer program without modification of the other subtasks.
4. The computer program of claim 1 wherein said main task and each of said independent subtasks may be loaded on the mobile station between said user interface and said main task.
5. The computer program of claim 4 wherein one of said independent subtasks may be loaded on the mobile station without re-loading any other of said other independent subtasks on said mobile station.
6. The computer program of claim 1 wherein said main task posts a message to a said subtask to activate said subtask.
7. The computer program of claim 6 wherein said main task posts a first set of one or more messages to one of said subtasks to pass information to said subtask and said subtask posts a second set of one or more messages to said main task to pass information to said main task.
8. The computer program of claim 1, wherein said plurality of subtasks comprise:
a slot acquisition task;
a registration task;
a call termination task;
a traffic task; and,
a call origination task.
9. The computer program of claim 8 wherein
said slot acquisition task comprises a MS_SA task;
said registration task comprises a MS_R task;
said call termination task comprises a MS_CT task;
said traffic task comprises a MS_T task; and,
said call origination task comprises a MS_CO task.
10. A computer program for use in a mobile station in a wireless communication system comprising a main task and a plurality of independent subtasks;
each of said subtasks capable of being activated by said main task;
each of said subtasks capable of performing a communication function for said communication system;
said main task capable of notifying a user interface of information;
said main task capable of being notified by said user interface of information;
said main task activating only one of said subtasks at a time and only one said subtask being active at said time;
at least some of said plurality of subtasks capable of notifying a physical layer of the mobile station that there is information to be transmitted by the mobile station;
at least some of said plurality of subtasks capable of being notified by said physical layer that information has been received by the mobile station; and,
one of said plurality of subtasks comprising a registration task,
said registration task comprising a leaky bucket routine for handling the receipt of erroneous and unexpected messages during the registration process.
11. The computer program of claim 10 further comprising a call termination task, said call termination task comprising a leaky bucket routine for handling the receipt of erroneous and unexpected messages during the call termination process.
12. The computer program of claim 10 further comprising a traffic task, said traffic subtask comprising a leaky bucket routine for handling the receipt of erroneous and unexpected messages during the active traffic process.
13. The computer program of claim 12 wherein said traffic task is capable of notifying said user interface of information, and said traffic task is capable of being notified by said user interface of information.
14. The computer program of claim 10 further comprising a call origination task, said call origination subtask comprising a leaky bucket routine for handling the receipt of erroneous and unexpected messages during the call origination process.
15. The computer program of claim 10 further comprising a lost link recovery task, said lost link recovery task, comprised of the steps of:
enabling a timer;
waiting said timer time for information to be passed from said physical layer, said information indicating that a message has been transmitted to said mobile station;
terminating processing when said timer expires; and,
terminating processing when notified by said physical layer of said message received by said mobile station.
16. The computer program of claim 10 wherein said registration task further comprises the steps of:
notifying said physical layer to transmit a first message;
receiving notification from said physical layer that a second message was transmitted to said mobile station;
receiving notification from said physical layer that a third message was transmitted to said mobile station; and,
notifying said physical layer to transmit a fourth message.
17. The computer program of claim 16 wherein said registration task further comprises the steps of:
periodically notifying said physical layer to transmit a fifth message, and receiving one or more notifications from said physical layer, each said notification indicating that a sixth message was transmitted to said mobile station.
18. The computer program of claim 17 wherein said periodic notification to said physical layer to transmit said fifth message is terminated upon the occurrence of said step of receiving notification from said physical layer that said third message was transmitted to said mobile station.
19. A computer program for use in a mobile station in a wireless communication system comprising a main task and a plurality of subtasks, said plurality of subtasks comprising a slot acquisition task, a registration task, a call termination task, a look for a new base task, a traffic task, a lost link recovery task, a call origination task, an originated release task, and a handover task.
20. The computer program of claim 19 wherein
said slot acquisition task comprises a MS_SA task;
said registration task comprises a MS_R task;
said call termination task comprises a MS_CT task;
said look for a new base task comprises a MS_LNB task;
said traffic task comprises a MS_T task;
said lost link recovery task comprises a MS_LLR task;
said call origination task comprises a MS_CO task;
said originated release task comprises a MS_OR task; and, said handover task comprises a MS_H task.