Date: 201703
Local time of day: 1201-1800
Location: F11.TRACON, FL
Light: Dusk
Aircraft: Large Transport; Low Wing; 2 Turbojet Eng
Operator: Air Carrier
Operating under: Part 121
Flight plan: IFR
Mission: Passenger
Flight phase: Descent
Airspace: Class A ZMA
ATC / advisory: Center ZMA
Second aircraft: Large Transport
Reporter organization: Air Carrier
Reporter function: Pilot Not Flying; Captain
Reporter qualification: Flight Crew Air Transport Pilot (ATP)
Human factors: Workload; Distraction; Confusion; Communication Breakdown
Second reporter function: First Officer; Pilot Flying
Anomaly: ATC Issue All Types; Deviation - Altitude Excursion From Assigned Altitude; Deviation / Discrepancy - Procedural Published Material / Policy
Detector: Person Air Traffic Control; Person Flight Crew
When detected: In-flight
Result: Air Traffic Control Issued New Clearance; Flight Crew FLC complied w / Automation / Advisory; Flight Crew Became Reoriented
Contributing factors: Company Policy; Human Factors; Procedure
Primary problem: Procedure

Narrative: We were level at FL190. Our call sign was Air carrier XXY; several times the controller called us Air carrier XZY. Also Air carrier XZY answered calls to us several times. After a couple of wrong call signs the controller called us by our correct call sign and cleared us to cross 40 miles south of Bairn intersection at 14000 feet. Both the FO and I heard her say 14000 feet and that's what I read back when I acknowledged the clearance. As we were starting our descent out of FL190 the controller gave us a frequency change. I tried to check in on the new frequency twice with no answer. I returned to the old frequency and when I told the controller I had no reply on the new frequency she asked what altitude we were going to. By this time we were descending through about 15500. I told her we were going to 14000 and that's what I had read back to her when we got the clearance. She said it was suppose to be 17000 feet; but it was ok; and said to just level at 14000. This event occurred due to confusion on the radio. The controller calling us by the wrong call sign and the other plane answering our calls added to the problem. I think the controller had called us Air carrier XZY instead of Air carrier XXY and when she finally got the call sign right she mixed up the 3 and 2 again and cleared us to 14000 instead of 17000. Then when I read back 14000 as our clearance she did not catch that I didn't say 17000 like she had meant.


Second narrative: Hard altitudes on Arrivals that ATC makes stick; instead of mixing it up all the time. MIA-MCO is a very quick leg; with a lot to do. Changing an altitude that is not on the arrival and a point that is not on the arrival during this time could be asking for trouble. If this is a common occurrence; why not add a note on the arrival to expect to cross 40 miles south of BAIRN at 14;000 ft. Or add a fix and put the possible altitude on it. Also; I see this a lot. There are a LOT of similar flight numbers departing areas in our system at the same time. I don't know if Air carrier XXY being on frequency at the same time; and climbing out at the same time; was THE reason for this; but I can't help to think that it's a contributing factor.


Synopsis: An air carrier on frequency with a company similar call sign was called incorrectly by ATC which confused everyone. Finally; with a frequency change; the crew descending to 14;000 was told their clearance was to 17;000; but that crew never heard 17;000.