The 28-year-old - who joined City for a reported £28.5 million in 2010 - and has made over 150 appearances in all competitions.
But Milner has become a victim of his own versatility and City's refusal to use him in his favoured central midfield position has seen him gradually become a fringe player.
The Leeds United youth product made just 12 Premier League starts last year and is out of contract at the end of the season.
City have already signed the likes of Sergio Aguero, Vincent Kompany, Samir Nasri, Aleksandar Kolarov, David Silva and Edin Dzeko to long-term deals this year and Milner said he hopes to pen a new deal soon.
"We've been in talks with the club," Milner said.
"We've talked about it and hopefully it can get sorted sometime soon.
''I don't want to be paid to sit and watch. You want to feel like you're contributing and enjoy your football as much as you can, so I am in a happier place now.''
Milner is now on England duty as Roy Hodgson's side prepare for Euro 2016 qualifiers against San Marino and Estonia.
He made his 50th appearance against Switzerland in September but of his caps, only 28 have been starts.
And Milner said if he sulked about his lack of starts, he may have seen more - but added that to whinge and complain was simply not in his nature.
"There are two ways to react - you can sulk and mouth off to the press," he added.
"Or you can work harder on the training field, and that's the way I like to do it. It is in my character I suppose.
"Maybe in some ways that does count against me if I'm not sulking or ruining training when the manager leaves me out.
"I'm not naming names, but I've played with enough players for you to work out who (has sulked).
"But it is no good for the team if someone does that sort of thing. The team comes first, whether it is England or Manchester City."
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.