I prefer restricted and +R, so that when someone on the access list tries to join, they don't get banned if they haven't identified yet and don't need to use /cs invite.
Hmm. +j does not reall fit that. Because for e.g. +j 1:10 allows a "rejoin" after every 10 seconds. so if the user is 20 seconds idling, gets kicked, he can rejoin. You have to kick him again within that 10 seconds. So its not that solution but next to the function +J on U4 seems to be. I said +j ...
U4 will have a module that will stop client rejoins. It is the m_kicknorejoin module, which adds channelmode +J which disallows rejoining for the specified number of seconds You can use j for this task instead (but not as effective). e.g. /mode #blah +j 1:900 12:33 * Joins: Bob 12:43 * Bob was ...
Then you can forward different users onto different channels, or use +b ~f and the effect of +B to forward the banned user into two channels...I love that combo >:D
So now I've got two scenarios:
1. Extbans are meant to work with +I but they are broken OR
2. They are not meant to work, and don't, but the IRCd does it anyway.