Date: 201711
Local time of day: 0001-0600
Location: IAH.Airport, TX
Light: Daylight
Aircraft: Medium Large Transport
Operator: Air Carrier
Operating under: Part 121
Flight plan: IFR
Mission: Passenger
Flight phase: Descent
Airspace: Class A ZHU
ATC / advisory: Center ZZZ
Reporter organization: Air Carrier
Reporter function: Captain; Pilot Not Flying
Reporter qualification: Flight Crew Air Transport Pilot (ATP)
Human factors: Confusion; Communication Breakdown
Second reporter function: Pilot Flying; First Officer
Anomaly: ATC Issue All Types; Deviation - Altitude Excursion From Assigned Altitude; Deviation / Discrepancy - Procedural Clearance; Deviation / Discrepancy - Procedural Published Material / Policy
Detector: Person Flight Crew
When detected: In-flight
Result: Air Traffic Control Provided Assistance; Flight Crew Requested ATC Assistance / Clarification
Contributing factors: Human Factors; Procedure
Primary problem: Procedure

Narrative: On flight to IAH (which was severely delayed) we were close to our top of descent; but still at cruise; FL360; and originally filed on the DOOBI2 arrival into IAH. We were then given an arrival change; the new clearance was direct SWB for the ZEEKK1. I asked ATC for a descent since our top of descent was only about 15NM away. They gave us a frequency change and told us the next controller would have that for us. I then checked in with the next controller at FL360.About a minute or two later; right as we were approaching our Vertex Time of Arrival (VTA); Center says 'Aircraft Y (second digit of call sign different from Aircraft X); descend via the ZEEKK1 arrival landing west.' Already with VNAV armed; my First Officer; thought he had heard ATC say 'Aircraft X'; he then dialed in the bottom altitude of the arrival in the altitude selector and the airplane began to capture the path. I caught that ATC said the wrong flight number; but I figured he meant to say Aircraft X and not Aircraft Y; but I wanted to verify anyway. So I said 'I just want to confirm; Aircraft X cleared to descend via the ZEEKK1 arrival?' The Center Controller then came back on and said 'uhhhh Aircraft Z (first digit of call sign different from Aircraft X) descend via the ZEEKK1.' Immediately I told my First Officer to go back up to FL360 until we get the confusion sorted out; but by that time we had already descended about 300 feet. I responded and said 'okay sir; you're saying a bunch of different call signs here; who is cleared to descend via the ZEEKK1 arrival?' He then comes back and says a third call sign 'Aircraft A (fourth digit of call sign different from Aircraft X); cleared to descend via the ZEEKK1 arrival'. I then told ATC that we; Aircraft X; had started down since we thought he said Aircraft X originally. He then corrects himself and says 'Aircraft B; Aircraft B (similar flight number; but different company); descend via the ZEEKK1 arrival landing west'. About a minute goes by and then he gives us the proper clearance to descend via the ZEEKK1. Come to find out; Aircraft B and Aircraft A were both in front of us on the arrival and all 3 of our call signs were mixed up. After we received the proper clearance; we descended via without further incident.I think that all of these similar sounding call signs that we are using is a hazard. It creates mass confusion for ATC and also for pilots. It happens very frequently where a pilot will take another's radio call by mistake and/or where ATC gives an airplane a clearance meant for another flight. I'm not sure of a solid solution other than extreme caution and diligence for all pilots and ATC alike. But to truly eradicate these issues; it would take a complete change in logistics and planning. There are 9999 different flight number combinations that can be used; and we're only using a fraction of those combinations.


Second narrative: [Report narrative contained no additional information.]


Synopsis: Air carrier flight crew reported three aircraft on the same arrival with similar call signs caused confusion for pilots and controller.