Is it possible to use Three phones to support more than 2 timeslots?Do you use another branch? I cannot find tjhat info anywhere in the network-from-scratch page, two phones ,however work ok. And in the help output from transceiver app I find only the -2 option explicitly mentioned.However a third socket, osmocom_l2.3 is established after connecting third phone and launching the trx-firmware, but transceiver says:invalid option -- '3'.regards erich
Den Onsdag, 2. juli 2014 23.23 skrev trixbox.t <trixbox.t@yandex.ru>:
Hello!
I tried all suggestions and I still have a question "how to connect 3 phone
to transceiver ?"
i.e.
1. phone - # osmocon -p /dev/ttyUSB0 -m c123xor -c path_to/trx.highram.bin
-r 99
2. phone - # osmocon -p /dev/ttyUSB1 -s /tmp/osmocom_l2.2 -m c123xor -c
path_to/trx.highram.bin -r 99
3. phone - # osmocon -p /dev/ttyUSB2 -s /tmp/osmocom_l2.3 -m c123xor -c
path_to/trx.highram.bin -r 99
and transceiver -e 5 -r 99 -3
what I need to change in osmocom-bb2/src/host/layer23/src/transceiver/,
to get it working???
thank you all !!!
--
View this message in context: http://baseband.devel.722152.n3.nabble.com/OpenBTS-OsmocomBB-Asterisk-tp4026434p4026569.html
Sent from the baseband.devel mailing list archive at Nabble.com.
*Thanks to all who responded !!!* In a network from scratch page describes how to connect the 2 phones. open-bsc.cfg 2 time-slots: *timeslot 0 - phys_chan_config CCCH+SDCCH4 timeslot 1 - phys_chan_config TCH/H* When I run this option, then when I do a test call at 995 (hold music) lcr I get: *000000 ERROR (in gsm.cpp/audio_send() line 461): HR frame, but encoder not created. 000000 ERROR (in gsm.cpp/frame_receive() line 320): HR frame, but decoder not created. * Because http://openbsc.osmocom.org/trac/wiki/OpenBSC says following: *«TCH/H voice calls (they work in osmo-bsc, but not in osmo-nitb)»* then I set timeslot 0 - phys_chan_config CCCH+SDCCH4 timeslot 1 - phys_chan_config TCH/F and the test call 995 (hold music) lcr works well. I register in the test network is the second phone to call on the first phone I need another channel TCH/F i.e. timeslot 2 - phys_chan_config TCH/F I looked commit 687bc2318d18073d02756ef6ea5b96799f4b9aa7 *Allow transceiver application to handle multiple TRX and multiple phones* There is no more one-to-one relation between application state, trx instance and l1ctl link to the phone. An application can have many trx instances and many l1ctl links to phones. Additionally each trx can have up to 8 relations to one or different l1ctl links, one for each time slot. This allows to split one TRX into several phones. (use only one ARFCN) Also it allows to use multiple phones for multiple TRX. (use multiple ARFCN) Then I looked commit 50dd2b33d80902f3c0bc30e5cadb3c66a059f208 *Add option to transceiver application, to use second phone for TS 1* @@ -43,6 +43,7 @@ void *l23_ctx = NULL; static int arfcn_sync = 0; static int daemonize = 0; +static int second_phone = 0; static void print_help(char *argv[]) { @@ -56,6 +57,7 @@ static void print_help(char *argv[]) " -s --disable-color Don't use colors in stderr log output\n" " -a --arfcn-sync ARFCN Set ARFCN to sync to\n" " -p --arfcn-sync-pcs The ARFCN above is PCS\n" + " -2 --second-phone Use second phone for TS 1\n" ); } @@ -71,9 +73,10 @@ static void handle_options(int argc, char **argv, struct app_state *as) { "disable-color", 0, 0, 's' }, { "arfcn-sync", 1, 0, 'a' }, { "arfcn-sync-pcs", 0, 0, 'p' }, + { "second-phone", 0, 0, '2' }, }; - c = getopt_long(argc, argv, "hd:e:Dsa:p", + c = getopt_long(argc, argv, "hd:e:Dsa:p2", long_options, &option_idx); if (c == -1) @@ -103,6 +106,9 @@ static void handle_options(int argc, char **argv, struct app_state *as) case 'e': log_set_log_level(as->stderr_target, atoi(optarg)); break; + case '2': + second_phone = 1; + break; default: fprintf(stderr, "Unknow option %s\n", optarg); exit(0); @@ -172,6 +178,23 @@ int main(int argc, char *argv[]) /* Reset phone */ l1ctl_tx_reset_req(&as->l1l[0], L1CTL_RES_T_FULL); + if (second_phone) { + /* Establish l1ctl link */ + rv = l1l_open(&as->l1l[1], "/tmp/osmocom_l2.2", l1ctl_recv, &as->l1l[1]); + if (rv) + exit(-1); + as->l1l[1].trx = as->trx[0]; + as->l1l[1].as = as; + as->l1l[1].tx_mask = 0x02; /* TS 1 */ + as->l1l[1].rx_mask = 0x02; /* TS 1 */ + as->l1l[0].tx_mask = 0xe1; /* TS 5,6,7,0 */ + as->l1l[0].rx_mask = 0x01; /* TS 0 */ + as->trx[0]->l1l[1] = &as->l1l[1]; + + /* Reset phone */ + l1ctl_tx_reset_req(&as->l1l[1], L1CTL_RES_T_FULL); + } + if (daemonize) { rv = osmo_daemonize(); if (rv < 0) { how to add third_phone for TS 2??? -- View this message in context: http://baseband.devel.722152.n3.nabble.com/OpenBTS-OsmocomBB-Asterisk-tp4026434p4026573.html Sent from the baseband.devel mailing list archive at Nabble.com.
how to add third_phone for TS 2???
how to add third_phone for TS 2???
Thank you! Seems logical, but not working... can't understand the meaning of the string: as -> l1[0].tx_mask = 0xdf /* TS 5,6,7,0 */ ??? was as->l1l[0].tx_mask = 0xe3; /* TS 5,6,7,0,1 */ then as->l1l[0].tx_mask = 0xe1; /* TS 5,6,7,0 */ what does 5,6,7,0,1 and why they don't ordered, and where 2,3,4 ??? I changed the line struct l1ctl_link l1l[3]; and line struct trx *trx[3]; in the app.h , otherwise have been seg.fault... /regards alex 09.07.2014, 23:37, "Erich Dachleger" <edachleger@yahoo.com>: > From http://lists.osmocom.org/pipermail/osmocom-commitlog/2013-February/003570.html > I read : "Calypso BTS uses tx_mask and rx_mask to define which slots to TX or RX" > > Then, when looking at the case for 3 phones and trying to modify tx_mask and rx_mask > for TS 2 could it be something like this? > > as -> l1[2].tx_mask=0x03 /* TS 2 */ > as -> l1[2].rx_mask=0x03 /* TS 2 */ > as -> l1[1].tx_mask=0x02 /* TS 1 */ > as -> l1[1].rx_mask=0x02 /* TS 1 */ > as -> l1[0].tx_mask=0xdf /* TS 5,6,7,0 */ > as -> l1[0].rx_mask=0x01 /* TS 0 */ > > /regards > erich > > Den Mandag, 7. juli 2014 23.12 skrev Rusty Dekema <rdekema@gmail.com>: > > On Mon, Jul 7, 2014 at 3:55 PM, trixbox.t <trixbox.t@yandex.ru> wrote: > >> how to add third_phone for TS 2??? > > One would have to add at least the code that accepts the -3, -4, etc option on the command line and set up the transceiver data structures as appropriate. It is possible that more work beyond this is needed; I haven't looked at it closely yet. > > Cheers, > Rusty D