Hi,
I had the exact same problem has described here http://lists.gnumonks.org/pipermail/openbsc/2009-July/000627.html That is, the first call worked great but after the first call, no way to make a second, the BTS would respond with NACK to the CHANnel ACTIvation requests.
I finally found that the chan_rate field of the channel_mode must be 0 for that request to work. And forcing it to 0 in rsl_chan_activate_lchan, like this :
--- SNIP ---
rc = channel_mode_from_lchan(&cm, lchan); if (rc < 0) return rc; cm.chan_rate = 0; // Hack !
-----------
makes the thing work.
But that's obviously not the root cause. I thing the lchan tch_mode should be GSM48_CMODE_SIGN, so that channel_mode_from_lchan would set the proper value directly. But I haven't traced yet why tch_mode is not at the good value for the second call ...
Sylvain