Commit Graph

451 Commits

Author SHA1 Message Date
Cort Buffington
2811e980d9 Missed change in structure reference 2013-11-13 18:17:52 -06:00
Cort Buffington
b90ec9b7f4 MAJOR - Data Structure Update
Internal data structure change for how peers are stored. Instead of a
list of dicts, it is now a dict of dicts where the dict key IS the
radio ID, and the Radio ID is no longer stored in the "inner" dict.
This does NOT affect bridge.py or log.py, only dmrlink.py
2013-11-13 16:19:32 -06:00
Cort Buffington
3f0e2724db Jon: Fixed Typo in Unauth Function 2013-11-12 15:10:11 -06:00
Cort Buffington
e538def5be minor formatting tweaks 2013-11-11 14:38:27 -06:00
Cort Buffington
bbfaea6387 Logging cleanup 2013-11-10 21:43:55 -06:00
Cort Buffington
5ee94034d6 System Logger Cleanup
This has gotten messy durring development, so I decided to clean it up
some. The system logger should ONLY be used for internal logging of the
program, not to try and make a "netwatch" out of (for you c-Bridge
users). Please use the log.py module for that type of thing.
2013-11-09 11:33:52 -06:00
Cort Buffington
13157cd4e2 2 Peer Bug Fixed
Fixed a bug where I accidentally over-wrote original packet data when
forwarding to an IPSC peer... making it impossible to bridge a packet
to more than one destination IPSC correctly. Currently, DMRlink is
bridging three IPSCs and transcoding group IDs.
2013-11-09 10:14:39 -06:00
Cort Buffington
da74773599 Remove bunk RSSI 2013-11-08 13:47:35 -06:00
Cort Buffington
f3f103fca8 Bridging Additions 2013-11-05 19:40:28 -06:00
Cort Buffington
10f73545ad Bridging Now Works 2013-11-05 19:30:31 -06:00
Cort Buffington
25c9ce23d2 Progress on porting bridge into the new structure 2013-11-05 18:47:18 -06:00
Cort Buffington
98bb38c0ce Integer Radio ID Incoding
Radio ID may now be encoded as a decimal integer in the .cfg file --
previously it had to be in hex.
2013-11-01 07:59:49 -05:00
Cort Buffington
fc5ec8f170 Progress... 2013-10-31 21:45:57 -05:00
Cort Buffington
6223f582cf Unauthenticate IPSC Bug Fixed
unauthenticated packets were subject to having their hashes stripped
just like other packets. The problem is that they don't have hashes to
strip, so I was throwing away part of the packet. Fixed in log.py,
dmrlink.py and bridge.py
2013-10-30 13:36:45 -05:00
Cort Buffington
7a63b3d25f Broke Alias File Into Multiples
Why parse several thousand dictionary entries when all you need to do
is find which of a couple hundred repeaters or a handful of TGIDs?
2013-10-30 11:47:30 -05:00
Cort Buffington
8615e40e51 Exclude PubNub Files
DMRlink pubnub implementation is not yet ready to release, so I'm
holding it back until it at least works somewhat.
2013-10-30 08:18:59 -05:00
Cort Buffington
09e1d7f36a Working on RSSI
Added easy-change capabilities (IPSC flags) to dmrlink.py
Working with XCMP/XNL and RSSI in log.py
2013-10-30 07:57:17 -05:00
Cort Buffington
8f2e1433be (maybe) fixed unauth
did not add the additional code to use unauthenticated IPSC with the
log mixin. Added it blind - as in I've not tested it yet. If someone
finds this and tests it BEFORE I do, please let me know if it works.
2013-10-29 21:19:43 -05:00
Cort Buffington
0002b91e52 No luck with RSSI yet... 2013-10-29 16:36:04 -05:00
Cort Buffington
ccd1eab3aa begin working with RSSI data in log.py 2013-10-29 15:16:48 -05:00
Cort Buffington
c1c182f15a Updated copyright 2013-10-29 08:17:50 -05:00
Cort Buffington
67c9a17c3b Documenting New Message Type
Message Type 0x05 - this is the ack, or "confirmation" from the
subscriber receiving a confirmed private voice or data call.
2013-10-29 08:03:17 -05:00
Cort Buffington
0dfc57b23e Update README.md 2013-10-29 07:39:18 -05:00
Cort Buffington
f5a4674ffe Added License file 2013-10-29 07:16:18 -05:00
Cort Buffington
fb094d4082 Update README.md 2013-10-29 07:11:48 -05:00
Cort Buffington
1331726028 Add first two applications
As of now, dmrlink.py is only a behind the scenes worker... It's just
the base class to take care of link establishment and maintenance.
Applications, such as bridging or logging will now be in their own
files and inherit from dmrlink.py
2013-10-29 07:09:18 -05:00
Cort Buffington
b55e430568 remove application stuff 2013-10-29 07:08:05 -05:00
Cort Buffington
329a701395 First two applications added 2013-10-29 07:07:17 -05:00
Cort Buffington
4ad171337d Module Clean-Up
All "useful" call-back actions removed. This is because it's time to
start using derived classes to make applicaitons out of dmrlink.py as a
base class.
2013-10-28 22:39:45 -05:00
Cort Buffington
8c23bbf45d Remove references to application modules in progress... 2013-10-28 20:41:09 -05:00
Cort Buffington
9f53e7035b Name Change - Function Re-Org
Preparing to use DMRlink as a python module. The name needed to be
changed to not clash with the resource sub-directory, and functions
were moved into the main class that are intended to be changed in a
derived class.

DMRlink is now a functional module. I will be shifting ALL development
of "application" level features to other files with derived classes,
and dmrlink.py will ONLY include protocol update/fixes/etc.
2013-10-28 20:34:29 -05:00
Cort Buffington
3cb242d368 Added a timed loop to display information
separated this from the timed loop that handles connection maintenance
and establishment.
2013-10-24 15:48:16 -05:00
Cort Buffington
13dede1fb9 FOUND NEW MESSAGE TYPE! 2013-10-22 13:53:02 -05:00
Cort Buffington
43c70bbdb1 Continued Clean-Up More Efficient
more of the same stuff… organizing and cleaning up stuff to make it run
better. CPU load now reduced by half!
2013-10-22 11:21:32 -05:00
Cort Buffington
f23780901b Major Clean-Up!!!
Cleaned up many things:
Needless iteration during received packet parsing.
Grouping received packet re-requisite checking so that it can be done
once, not on each packet.
Removed some conversions where a number is converted twice just to be
compared.
2013-10-21 20:54:51 -05:00
Cort Buffington
800969bb39 DMR NAT Function Added
There is concern about the maximum available DMR RadioID space. Just
like running out of IPv4 on the Internet, I created an evil DMR NAT
function.
2013-10-21 10:40:29 -05:00
Cort Buffington
45618999a1 More on timestamps 2013-10-15 14:35:21 -05:00
Cort Buffington
4fd7b7f74a More date/time stamping. 2013-10-15 14:18:06 -05:00
Cort Buffington
9ac7727b7a Added Timestamp 2013-10-15 05:50:02 -05:00
Cort Buffington
6edf3ef978 Type Fix - SEE PREVIOUS SYNC FOR MORE INFO 2013-10-14 15:13:34 -05:00
Cort Buffington
0a35eb61b4 Added Handling for Known Packet Types
Callback functions were added to parse known packet types. Also, the
hardwired "flags" section in our own config was updated to handle voice
and data packets. PLEASE NOTE: The mode and flags change what repeaters
send to DMRlink -- the fields are documented in ipsc/ipsc_mask.py
2013-10-14 15:09:16 -05:00
Cort Buffington
90972d5728 Formatting update 2013-10-14 09:52:49 -05:00
Cort Buffington
ca24e75b1a Update requirements.txt 2013-10-14 09:45:39 -05:00
Cort Buffington
6b1b074628 DRASTICALLY sped up text/number lookup times.
added a function to do it the *right* way.
2013-10-13 20:10:58 -05:00
Cort Buffington
ae16d096f8 Numeric ID to Name Mapping Added 2013-10-13 17:01:50 -05:00
Cort Buffington
37513a03c1 Group Voice Function Changed
Group Voice Function is now set up to help decode more parameters, such
as the timeslot in use, which will help build a better bridging
function.
2013-10-12 14:19:52 -05:00
Cort Buffington
9fb850b878 Comments added to config file sample 2013-10-12 11:21:00 -05:00
Cort Buffington
e70b9bee49 File no longer necessary 2013-10-12 11:10:02 -05:00
Cort Buffington
59cb7666f5 Added Config File Parser
No longer is it necessary to build the configuration by hand as a
python file. It now uses a basic INI style… not my favorite, but easily
added thanks to ConfigParser.

This BREAKS group-voice forwarding for now, as there's no good way to
add the rules config in the basic config file right NOW, but it will be
fixed soon.
2013-10-12 11:08:06 -05:00
Cort Buffington
b2d256b024 added peer validation to registration requests we reply to 2013-10-10 16:23:52 -05:00