Estimation process will be done by all development team (developer, tester, designer..), every one estimates the story from his point of view (tester will imagine the testing effort, he imagines all possible testing scenario).
Not the estimation is the main goal rather than to clarify the story for all team.
Scrum master has the choice to make the process timed-box (5 minutes to each story, or by two round if you playing Poker) this is no standard, you can with your team and PO select estimation time but not long time, As i said the main goal is to share the user-story understand by all team members.
The most important thing in the estimation process is the conversation between PM and team. For example if "for some story" the tester estimate the story by 8 points, developer by 3 points, and those the min and max estimates, scrum master will ask these boundary value, why 3 for developer? why 13 for tester? that is, maybe the tester will explain testing scenario absent from developer, and then -at the next estimation round- the developer may volume-up the size.
Scrum master will select the estimate from different team values according to the conversation about the story, if they don't estimate the same effort.
Ios developers estimate the effort that only they responsible for.
QA estimate the effort that only they responsible for, and so..
please you can find more by Mike Cohn How Can We Get the Best Estimates of Story Size?