Harald Welte
12247c6713
Fix compilation issues on OS X - mainly #include file changes (Lars Immisch)
2009-05-21 07:23:02 +00:00
Harald Welte
c63e51daac
* correctly handle VTY_READ/VTY_WRITE events and select loop integration of VTY
2009-03-10 19:46:16 +00:00
Harald Welte
404cdd8951
make telnet interface use VTY code
2009-03-10 12:21:45 +00:00
Harald Welte
49f48b8b77
various CC updates:
...
* correctly lchan_put the second lchan of a call at teardown
* map the RTP streams of ip.access onto each other
* fix bug that prevented a CONNECt message to ever reach the 'B' side
2009-02-17 15:29:33 +00:00
Harald Welte
7ccf77810b
slightly more complete GSM 04.08 CC, we can now
...
* initiate phone calls from one MS
* look-up the subscriber based on dialled extension
* page the called subscriber
* send the SETUP to the called subscriber, including CLIP/CLIR
* get ALERTING notification back to caller
* relay DISCONNECT from either side to the other
This is still far from being complete, but it at least works for the most common case
2009-02-17 01:43:01 +00:00
Harald Welte
09e38afbcc
* introduce a callback function when paging completes (I know this is somewhat of an overlap
...
with the signals, but I think paging always has one reason and thus one caller wants to
get notified about completion, including a caller-specific context, etc)
* introduce TLV parser definitions for GSM 04.08
* parse and generate BCD number IE's for 04.08 call control
2009-02-16 22:52:23 +00:00
Harald Welte
595ad7b762
modify the signal handler/dispatch code (sorry zecke, no offense, I just had some different ideas)
...
* introduce new notion of subsystem in addition to signal number
* no need for bitmasks of 'areas' (aka subsystems)
* pass subsystem/signal_nr/... per argument rather than by data structure
2009-02-16 22:05:44 +00:00
Holger Freyther
9b177760bb
[sms] Send a notification on incoming SMS
...
Further tests of the signal class. Send a notification
on incoming SMS.
2009-02-16 19:07:18 +00:00
Holger Freyther
7aaf112ba7
[signal] Add consumer of the signal api, inform about paging
...
Use the new signaling API in the telnet interface to broadcast
a succeeded or failed paging request.
2009-02-14 22:51:13 +00:00
Holger Freyther
1fd34141c2
[paging] Cleanup page -> paging in function names
2009-02-09 23:42:03 +00:00
Holger Freyther
f07768915d
[telnet] use SO_REUSEADDR on the telnet socket
2009-02-03 20:49:51 +00:00
Harald Welte
626fe9c42b
Print the refcount of the lchan as well
2009-01-09 21:24:53 +00:00
Harald Welte
38c2f13098
Hook the paging code into bsc_hack.c and telnet_interface.c
...
Wrote and test code to add and remove paging requests... This
will be using the fact that the linux list is building a circle
on each tick we can send one/x paging requests and continue round
robin...
2009-01-06 23:10:57 +00:00
Holger Freyther
7448a53ddb
Be able to initiate paging from the telnet interface
...
The actual paging by subscriber needs to be implemented
2009-01-04 20:18:23 +00:00
Holger Freyther
4c8f114976
Fix warning
2009-01-04 20:17:07 +00:00
Holger Freyther
5e76ce61ac
Some simple size check. We would not overflow but would send garbage
...
Check the size
2009-01-04 20:15:12 +00:00
Harald Welte
d4fc1b29ca
use get_[lp]chan_name() functions for telnet interface
2009-01-04 16:11:31 +00:00
Holger Freyther
868b8cdd58
Implement sending custm GSM 04.08 commands
...
First you would page the IMSI and then send GSM 04.08
commands to the MS. This should help when testing new
commands
2009-01-04 03:57:27 +00:00
Holger Freyther
3ae8fd2acb
Implement the call command...
...
Passing of an origin is missing this will need work in
gsm_04_08.
2009-01-04 03:50:40 +00:00
Holger Freyther
f87573dc4e
Implement put_channel/get_channel, save on which bts we currently operate
...
Allow to change the refcount for a given channel. Store which
bts is our primary bts. A command to switch the primary bts will
be added as well. This makes entering and parsing of commands more
easy.
2009-01-04 03:49:41 +00:00
Holger Freyther
ae61cae9b2
Add a show command to list the channel allocation
...
Example output
show
BTS #0 on link 0 LOC: 1 TRX: 1 CCCH0: arfcn:123,#0
TRX: 0 ARFCN: 123
TS: #0 pchan: 2 flags: 0
LCHAN: #0 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #1 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #2 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #3 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #4 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #5 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #6 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #7 type: 0 subscriber: na/na/na use: 0 loc: (nil)
TS: #1 pchan: 0 flags: 0
LCHAN: #0 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #1 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #2 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #3 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #4 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #5 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #6 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #7 type: 0 subscriber: na/na/na use: 0 loc: (nil)
TS: #2 pchan: 0 flags: 0
LCHAN: #0 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #1 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #2 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #3 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #4 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #5 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #6 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #7 type: 0 subscriber: na/na/na use: 0 loc: (nil)
TS: #3 pchan: 0 flags: 0
LCHAN: #0 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #1 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #2 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #3 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #4 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #5 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #6 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #7 type: 0 subscriber: na/na/na use: 0 loc: (nil)
TS: #4 pchan: 0 flags: 0
LCHAN: #0 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #1 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #2 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #3 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #4 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #5 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #6 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #7 type: 0 subscriber: na/na/na use: 0 loc: (nil)
TS: #5 pchan: 0 flags: 0
LCHAN: #0 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #1 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #2 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #3 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #4 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #5 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #6 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #7 type: 0 subscriber: na/na/na use: 0 loc: (nil)
TS: #6 pchan: 0 flags: 0
LCHAN: #0 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #1 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #2 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #3 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #4 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #5 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #6 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #7 type: 0 subscriber: na/na/na use: 0 loc: (nil)
TS: #7 pchan: 0 flags: 0
LCHAN: #0 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #1 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #2 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #3 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #4 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #5 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #6 type: 0 subscriber: na/na/na use: 0 loc: (nil)
LCHAN: #7 type: 0 subscriber: na/na/na use: 0 loc: (nil)
2009-01-04 03:46:01 +00:00
Holger Freyther
219518d064
Add simplistic telnet control interface
...
This might turn into a complete wire protocol with special
client software. For now it will be a simple client interface
that you can use with telnet to do certain things.
This is using flex to implement the parsing. Implementation
and more commands will follow.
2009-01-02 22:04:43 +00:00