Extension settings via IVR

Hi everybody.

I’m new in Freepbx , so maybe my questions are very basic.But as I’ve been spending lots time to resolve problems I need some help from you to finish things.
I need callers enter their desired extension and system put the through that extension. Our extensions are external numbers like, INUM numbers,SIP URI,…
What I did is: creating an extension, forward it to a ring group for dialling an external number.As we have 2 options for each forward (if one is not available second one should be rung), so I used 2 destination in ring group,but it did’nt work so i decided to have 2 ring groups, and by a way user be able to choose one based on their situation.
Now I need to know if calling external number by this way is the right way or not? And also If there’s any way that user can change the extension settings , like via IVR? (changing from one ring group to another).
Also is there any simple way to be able to call SIP URI?

I’d be thankful if you can help even in a part of it.