Spectrum sharing is a key problem in cognitive radio networks (CR). After the spectrum sensing and decision processes, detected or predicted spectrum holes need to be utilized by the CR users conforming to specific principles. Many approaches are applied in this field, like rule based or artificial intelligence inspired solutions, game theoretic scenarios, scheduling and auctioning. In this paper, we propose a distributed spectrum sharing mechanism that is based on individual spectrum decisions, priority and messaging mechanism between CR users. Here, all users sense and decide the channel occupancy by themselves. Cooperation is acquired by a messaging framework that enables each user to retrieve its neighbors' channel decisions and priorities to use a channel from the common control channel (CCC). In our scheme, we model a messaging topology that represents the deficiencies in CCC. On the other hand, interference graph is chosen to be fully connected. We simulated our network model and spectrum sharing system using MATLAB Simulink environment and extracted the following performance metrics: Traffic Request Satisfaction Rate (TRSR), Channel Occupancy Rate ( COR) and Fairness among CR users. The obtained results are compared with other techniques employing rule based channel selection strategies as selfish and random channel selection.