Implementation the Network planning project: In our project we use some technique to plan a PSTN network: 1-employ the clustering technique to distribute the subscriber into groups based on their density taking in account maximum capacity for MSAN with the best grade of service and minimal cost .we combined two techniques: DBSCAN clustering technique: It is simple and effective density base clustering algorithm that concern in classify the point into three category based on the given inputs. Original DBSCAN algorithm: It classifies the point into: A. Core points that has more than specified (minimum number of points) within Eps. B. Border point has fewer than minimum point within Eps. Put it is in the neighborhood of core point. C. Noise point that is neither core nor border. The two inputs taken by DBSCAN algorithm are: A. Eps which is the radius of each cluster. B. Minimum point which is the minimum number of point for each cluster. The pseudo cod of the DBSCAN is: Agglomerative clustering technique: The agglomerative is hieratical clustering technique .it starts with the points as individual clusters and at each step merge the closest pair of clusters depends on a notion of a cluster proximity which is the distance between two merged MSAN 1.25 km. Original agglomerative algorithm: 1. Construct the finest partition (clusters). 2. Compute the distance matrix. DO 3. Find the two clusters with the closest distance. 4. Put those two clusters into one cluster. 5. Compute the distance between the new groups and obtain a reduced distance matrix. UNTIL all clusters are agglomerated into. We use a modified the agglomerative clustering technique because: maybe there are two cores (MSANs) are closest in distance (less than 1.25 Km).So, we need to decrease the cost of constructing a new MSAN if of them can hold the loads (subscribers) of two switches. Pseudo code of implementation of our project’s algorithm: For (i=1 to candidate No.) - Calculate the shortest path from switch (i) to each node. If (shortest path < 2.5) Then calculate the load = load +current load of node. If (sum of load >= 256) Then add switch to cores. End for For each node in the city select the best switch for it by calculating the shortest path between the nodes and each switch (path < 2.5) Calculate the load of each core Agglomerative: For each tow clusters If the shortest path between the cores < 1.25 Then If (sum of two clusters' load <1536) Then First assume that the first core is core of the two clusters And apply the previous algorithm for each node in the tow clusters. Second assume that the second core is core of the two clusters And apply the previous algorithm for each node in the tow clusters. If (the two cores are suitable to be a core for all nodes of tow clusters) Then Calculate the summation of (load X distance) for each core And choose the appropriate core depend on minimum value. Else let the suitable one the core for tow clusters. See flow chart of algorithm in appendix A.