On your components.xml you can define the timeout for a conversation, using the following line.
Be careful: the conversation-timeout only affects background conversations.
You typically either end a conversation or the conversation is abandoned (e.g. you open a new tab and start hit a different URL or use case, etc.)
IIRC abandoned conversations will timeout with the current HTTP session (e.g. when you close your browser) or when the application is re-deployed or the app server is restarted. Somebody correct me if I'm wrong here.
Perhaps the Seam core dev team should rename the conversation-timeout to background-conversation-timeout to avoid confusion?