I want something like this:

but the arrows get overlapped in TikZ!
I have tried the following code, but is there a better way than this?
\documentclass{article}
\usepackage{color}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\path (0,0) node(a) [rectangle,draw, fill=blue, text=white] {\LARGE EP};
\path (2,3) node(b) [rectangle,draw, fill=Cyan] {\LARGE GK};
\path (7,3) node(c) [rectangle,draw, fill=Cyan] {\LARGE GK};
\path (9,0) node(d) [rectangle,draw, fill=blue, text=white] {\LARGE EP};
\draw[thick,<-] (a.north) -- (b.west) node[midway, below right=0.3cm]{\parbox{2cm}{1. Request permission to place call}};
\draw[thick,->] (a.east) -- (b.south) node[midway, above left=0.3cm]{\parbox{2cm}{4. Grant permission to place call}};
\end{tikzpicture}
\end{document}

