Body of Lies

This section's plot summary may be too long or excessively detailed. Please help improve it by removing unnecessary details and making it more concise. (June 2016) (Learn how and when to remove this template message)
Roger Ferris (Leonardo DiCaprio) is a CIA case officer in Iraq, tracking a terrorist called Al-Saleem (Alon Abutbul). He meets Nizar, a member of the terrorist organization who is prepared to offer information in return for asylum in North America. Despite his boss, Ed Hoffman's (Russell Crowe) objections, Ferris agrees to shelter Nizar. Nizar is used as a pawn to draw out the rest of his cell; when he is captured, Ferris is forced to shoot him to prevent him from exposing Ferris' identity. However, furious at Hoffman's refusal to act on the information Nizar provided, Ferris and his associate Bassam (Oscar Isaac) go to search a safe house in Balad, Iraq, of which Nizar had told them. There, Ferris observes men burning records and attempts to bluff his way in, but is exposed. In the ensuing shootout and chase, Ferris and Bassam's vehicle is hit by an RPG. Ferris and some salvaged discs are rescued by helicopter but Bassam is killed in the explosion.
Meanwhile, unknown terrorists in the UK plan to follow up on bus bombings in Sheffield with more attacks in Manchester, but blow themselves up when the police arrive at their house. Recovered from his injuries, Ferris is assigned to Jordan to continue searching for Al-Saleem, where he meets with Hani Salaam (Mark Strong), head of the Jordanian General Intelligence Directorate.
Hoffman finds an Al-Saleem safe house in Jordan and orders Ferris to watch it. Simultaneously, Hoffman organizes another 'side operation' via a local agency operative named Skip (Vince Colosimo) and that he is to conduct an operation without Ferris' knowledge. Skip employs the use of an agency asset, Ziyad Abishi, who blows cover to a terrorist from the safe house. As he flees to inform his colleagues of their exposure, Ferris makes chase and kills him in such a place and manner that one might believe the death to be random. Salaam (via 'back channels') corroborates the acceptance of killing by those whom remain at the safe house; and Ferris accuses Hoffman of running "side operations" which interfere and (at least) undermine operational integrity of primary operation and tells Hoffman to stop. While going to the hospital to receive rabies shots for bites suffered during the pursuit and elimination of the terrorist, Ferris meets a nurse named Aisha (Golshifteh Farahani), and he begins developing romantic feelings for her. The bombers strike again in an Amsterdam flower market, and kill at least 75 people.
Having recognized one of the men living in the safe house as former small-time criminal Mustaffa Karami (Kais Nashef), Salaam takes Karami into the desert and coerces him into working for Jordanian intelligence, threatening to set him up as a collaborator if he does not co-operate. Hoffman asks Salaam to use Karami, but he refuses, believing a greater return will come later. Unknown to Ferris and Salaam, Hoffman tells Ferris' CIA subordinate (Skip) to follow Karami and kidnap him. Karami escapes and notifies the terrorists in the safe house that it is being watched, and they abandon it. Ferris's partner is caught and Salaam accuses Ferris of having had knowledge of the move on Karami, and blames Ferris's duplicity with him for the destruction of the safe house. He exiles Ferris from Jordan.
Ferris returns to Hoffman in Washington, and they devise a new plan to find Al-Saleem. Suspecting he is motivated more by pride than ideology, they stage a fake terrorist attack and set up Omar Sadiki (Ali Suliman), an innocent Jordanian architect, as its instigator, hoping Al-Saleem will come out of hiding and attempt to contact him. Al-Saleem sees TV news coverage of the attack and takes the bait.
Salaam invites Ferris back to Jordan and shares his suspicions that Omar Sadiki is a terrorist, though Ferris feigns ignorance. Ferris later tries to save Sadiki from being kidnapped by Al-Saleem's henchmen but fails and sees his partner nearly killed in the subsequent car crash. Under interrogation, Sadiki denies any knowledge of the attack though he is later found beaten and killed. Ferris goes back to his apartment and finds out that Aisha has been kidnapped. He desperately asks Salaam for help, admitting he fabricated Omar Sadiki's terrorist cell and the attack. Salaam refuses to help because of Ferris earlier having lied to him.
Ferris offers himself in exchange to Aisha's kidnappers, and is brought to the middle of the desert, with Hoffman watching everything via a surveillance drone. Ferris is surrounded by a group of SUVs, which circle him to create an obscuring dust cloud before picking him up. The dust cloud blocks Hoffman's view, so that he cannot determine which of the SUVs, now headed in different directions, is carrying Ferris. Ferris is taken across the border to Syria where he is to be interrogated by Al-Saleem. When Ferris asks Al-Saleem about Aisha, he is told that someone has lied to him and that he has been double-crossed. Ferris tells Al-Saleem that there is an infiltrator (Karami) in his organization who works for Ferris, and that, by association, Al-Saleem works for Ferris. Al-Saleem does not believe Ferris, beats him, turns on a video camera and orders his execution. Salaam and his agents arrive at the last moment, saving Ferris' life. Al-Saleem is shown arrested in his own SUV by Marwan Se-Kia, Hani Salaam's security officer.
Salaam visits Ferris in the hospital and reveals he had faked Aisha's abduction, and orchestrated Ferris's capture by Al-Saleem using Karami as a go-between. Having lost the will to fight in this particular 'war', Ferris goes off the grid and goes to see Aisha again.

Question: Who exciles Ferris from Jordan?
Answer: Salaam