Research on call-site based type inference?
Almost all systems with type inference use call-site information to do this.  Examples include Standard ML, OCaml, F#, and Haskell.  Many other languages use call-site information to infer type parameter instantiation, such as Java, C#, Scala, and Typed Racket.  This often goes by the name "Local Type Inference".

I would just describe what you're looking for as "Type Inference", and you should probably start by looking up what's commonly known as the "Hindley-Milner" system.  The Wikipedia page gives a reasonable introduction, and pointers to the original papers.  

The place to start for Local Type Inference is Pierce and Turner's original paper, best read in the TOPLAS 2000 version (ACM, PDF).