Route with optional segments

In Rails 2.3.5, is this the proper way to do this?

map.calls “calls/:group/:view/:subselect”, :controller => ‘calls’,
:action => ‘index’
map.calls “calls/:group/:view”, :controller => ‘calls’,
:action => ‘index’
map.calls “calls/:group”, :controller => ‘calls’,
:action => ‘index’
map.calls “calls”, :controller => ‘calls’,
:action => ‘index’

I want to accept

/calls
/calls/abc
/calls/abc/def
/calls/abc/def/ghi

where “group” would be assigned “abc” in cases 2-4, “view” would be
assigned “def” in cases 3 and 4, and subselect would be assigned “ghi”
in case 4.

I kept trying to do something like:

/calls(/%group(/%view(/%subselect)?)?)?

but never got it to work.

Thank you,
pedz