9
0
Fork 0
Commit Graph

321 Commits

Author SHA1 Message Date
Holger Hans Peter Freyther f612e431ff mgcp: Add a hack to allow to patch the SSRC
This is a hack and we will need to do this only if a MDCX with
a new IP address is arriving.
2012-10-04 10:19:33 +02:00
Holger Hans Peter Freyther 796e1a2125 adler: Remove the SCTP hack that we needed to force the adler checksum
Remove the hack that was required for inter-op. The equipment will
migrate to the CRC32 checksum soon.
2012-07-01 17:42:39 +02:00
Holger Hans Peter Freyther 253df9a546 syslog: Log all exit paths in this code
There are some exit paths that do not have syslog logging.
2012-06-12 15:48:22 +02:00
Holger Hans Peter Freyther ea7b9c20bd syslog: Add syslog for the MGCP MTN thread
We can not use the osmocore logging in multiple threads, open a
separate syslog to log errors.
2012-06-12 15:45:13 +02:00
Holger Hans Peter Freyther 44462dadb6 mgcp: Always restore the endpoint routing when destroying the endpoint
In case MtnSaAllocate failed the code did not restore the audio routing
when destroying the endpoint. Move the hw_maybe_loop_endp out of the if
statement.
2012-05-11 11:48:14 +02:00
Holger Hans Peter Freyther a85192b2c9 mgcp: Possible fix for using the right DSP resource on the MGCP MGW
This got broken in the previous commit. Use the hw_dsp_port we assigned
to the endpoint instead of the dsp_resource that is one ahead. For the
non loop-on-idle configuration audio routing appears to be broken.
2012-05-11 11:48:11 +02:00
Holger Hans Peter Freyther ec55342ed8 hw: The DSP resource was one based with the SNMP API, subtract it
* Change the assigning dsp_resource to start with one and increase
  after usage and not before usage (so it becomes the next free
  port).
* Subtract one from dsp_port after we have selected the path. In the
  longer run I should make dsp_resources zero based all the way.
2012-01-23 16:28:16 +01:00
Holger Hans Peter Freyther 9b9a0bd268 mgcp: Implement to loop timeslots when not used for audio
Deal with broken ISUP switches and allow to loop endpoints
when they are not connected. Introduce an option to do it.
2012-01-22 11:46:43 +01:00
Holger Hans Peter Freyther 859cf38ef1 mgcp: Move to using the NexusWare API for Timeslot config 2012-01-22 11:46:35 +01:00
Holger Hans Peter Freyther 1dd089f583 mgcp: Rename from snmp to hw in variables and function name. 2012-01-22 11:46:24 +01:00
Holger Hans Peter Freyther ad0aef401b mgcp: Move the SNMP file to _hw.c to move to the NexusAPI 2012-01-22 11:45:38 +01:00
Holger Hans Peter Freyther 30cdab776d TODO: Add some known shortcomings and some talk about what to do. 2012-01-16 12:11:42 +01:00
Holger Hans Peter Freyther 467b0e214e mtp: Allow to send SCCP/ISUP to a specific endpoint
For a linkset define where SCCP/ISUP should be send. This config
should probably move up to the application part when real work on
the routing is done. Right now the sccp_opc/sccp_dpc need to stay
inside the mtp_layer3.c to be able to send a TFA for the reachable
OPC and it is easier to keep both (dpc/opc) in the same file.
2012-01-16 12:11:36 +01:00
Holger Hans Peter Freyther fb1e69fb79 mtp: Provide the method with the OPC and DPC
We want to submit on a link set but want to provide the OPC and
DPC of the callers choice.
2012-01-16 12:11:29 +01:00
Holger Hans Peter Freyther ec186c7925 mtp: Name the parameter opc instead of just PC 2012-01-16 12:11:21 +01:00
Holger Hans Peter Freyther 8796557bdd ss7: Make the forwarding methods static 2012-01-16 12:11:14 +01:00
Holger Hans Peter Freyther 25191776a2 rate_ctr: Initialize the rate_ctr to update them properly
This way we get proper information about packets per second/hour
and minute. Right now we only count the total.

Conflicts:

	src/main.c
	src/main_stp.c
2011-12-14 10:30:09 +01:00
Holger Hans Peter Freyther 683e0ebbe8 vty: Add show msc [NR] to specify an optional MSC nr 2011-11-28 10:17:17 +01:00
Holger Hans Peter Freyther ceb4a774d3 msc: Make 'show msc' show the primary msc connection again
Revert an accidental change when introducing show mscs. We want
show msc to be like it was before.
2011-11-25 17:27:55 +01:00
Holger Hans Peter Freyther 1459c08cc5 msc: Only take down the link if it is up
If the link was never started and we send a SIGUSR2
we would start the link. Don't do it.
2011-11-25 17:21:44 +01:00
Holger Hans Peter Freyther 559ecb75df vty: Introduce show mscs to show all mscs 2011-11-25 16:52:41 +01:00
Holger Hans Peter Freyther bfedfa5fb8 msc: Only unregister the fd when we have a valid fd
Conflicts:

	src/msc_conn.c
2011-11-25 16:52:25 +01:00
Holger Hans Peter Freyther d1032d1f01 bss: Add an additional test where we do not want to patch anything 2011-11-24 12:13:28 +00:00
Holger Hans Peter Freyther e7c6f7ae41 bss: Patch CC messages with bearer capabilities to contain AMR 3
* This changes bss_patch_filter_msg to return -1 or BSS_FILTER_DTAP
  for DTAP messages. This way app_forward_sccp should continue to behave
  the same besides now looking into DTAP messages.
* Introduce a direction in case we want to advertize FR into the BSS
  side and HR into the other direction.
* Patch AMR HR3 and Fullrate/Halfrate capabilities in the Bearer
  Capabilities. Add a test case that is patching the bearer capabilities

Conflicts:

	src/bss_patch.c
2011-11-24 12:13:15 +00:00
Holger Hans Peter Freyther 617feaf870 bss_patch: Remove magic number and use define for BSSAP management 2011-11-24 12:11:30 +00:00
Holger Hans Peter Freyther 12e2f834fc mgcp: Skip blocked endpoints in the show mgcp command 2011-09-19 21:51:12 +00:00
Holger Hans Peter Freyther d7d060ae39 msc: Do not run ping/pong timers by default
The current ping/pong timeout is 0 which means the MSC connection
will be taken down almost immediately. Set it to -1 to disable sending
pings and waiting for the pong.
2011-09-19 21:50:56 +00:00
Holger Hans Peter Freyther ac6df37fd3 mgcp: Update the default config to have multiple virtual trunks 2011-09-19 21:50:44 +00:00
Holger Hans Peter Freyther 4e21cab419 mgcp: Improve the show mgcp command to print the domain name
For virtual trunk's we only have the virtual domain name they
are serving. Print that instead of the trunk->nr which has no
meaning in this context.
2011-09-19 21:50:34 +00:00
Holger Hans Peter Freyther 42828cb6f7 mgcp: Write the vtrunk using mgcp_write_vtrunk_extra 2011-09-19 11:45:59 +00:00
Holger Hans Peter Freyther 6cff525c09 cellmgr: Patch the MGCP messages and replace the domain name
Replace the domain name with a new name domain that can be configured
via the VTY interface.

Conflicts:

	src/Makefile.am
2011-09-18 12:42:50 +00:00
Holger Hans Peter Freyther 4533be3e3b mgcp: Reset the local endpoint with the domain name configured 2011-09-18 12:38:18 +00:00
Holger Hans Peter Freyther f7435d4bc3 mgcp: Reset endpoints via the trunk config instead of all of them
This change is coming from OpenBSC and was adjusted to mgcp_ss7
2011-09-18 12:38:11 +00:00
Holger Hans Peter Freyther 9c14390728 mgcp: Fix the indention of the trunk/vtrunk extra items
Use two spaces for the config items on the level of the
TRUNK/VTRUNK node to follow the normal items.
2011-09-18 12:38:05 +00:00
Holger Hans Peter Freyther c2e7bf3eec mgcp: Fix the naming of the various audio volume/gain parameters
The problem has been here for a while, fix the parsing of the
generated config file
2011-09-18 12:37:55 +00:00
Holger Hans Peter Freyther b59cf35d57 mgcp: Introduce multiple virtual trunks
A virtual trunk is identified by a virtual domain name.
2011-09-18 12:37:48 +00:00
Holger Hans Peter Freyther 4bd14d608d mgcp: Generate the ConnId per trunk base
MGCP RFC 3435 does not specify that the Connection Id must be
generated with any kind of random. It must uniquely identify
the connection of an endpoint. So we can make it per trunk group
or could even have it per endpoint.

The code does not support multiple connections on the same endpoint
right now but the spec allows it.
2011-09-18 12:37:42 +00:00
Holger Hans Peter Freyther 550c55203d mgcp: Introduce a command that will just block the default ports
It can be difficult to find the Timeslot/Multiplex for a higher
number virtual trunk. This would be used by default, but normally
the endpoint would be blocked on the switch already.
2011-09-18 12:37:34 +00:00
Holger Hans Peter Freyther 5712864b4c mgcp: Add VTY commands to block endpoints instead of having this hardcoded
Instead of assuming which endpoints are blocked there is now a VTY
command to block those. Clean up the init of the trunks, the only difference
between Virtual and E1 is in the way to calculate the start port.

Reduce the number of endpoints to 32, 31 is the last one that can be
used on the E1 trunk, otherwise we move into TS 0 of the following trunk.
2011-09-18 12:37:22 +00:00
Holger Hans Peter Freyther 0fcc075e5e mgcp: Split creation of endpoints and static port allocation
Create the endpoints as soon as possible, configure static ports
after we are through with the parsing of the VTY config.
2011-09-18 12:37:16 +00:00
Holger Hans Peter Freyther 3da77d53ba mgcp: Remove the endp_offset that was introduced due coding stupidity
The endpoint offset is needed for two reasons, first the API is 0
based here while we are normally 1 based, second because of the trunks
the first usable endpoint would be '2' (0 is CRC, 1 is signalling), but
this endpoint offset falls apart when we would block timeslots inside
this range.

Remove the endpoint offset, in each endpoint we will store the HW DSP
Port (1 based API) and then subtract one to get to the 0 based API for
the Simple API. Print a warning when someone is using the endpoint offset.
2011-09-18 12:37:07 +00:00
Holger Hans Peter Freyther 2cea100a7a vty: Add a config to enable MGCP command rewriting 2011-09-18 12:36:59 +00:00
Holger Hans Peter Freyther ca76652280 mgw: Attempt to set the CMR to 5.9kbit/s
This will hopefully make the MTN4200 always use the
5.9kbit change mode.
2011-08-15 12:04:16 +00:00
Holger Hans Peter Freyther c495daeeb2 sctp: Really apply the MSC workaround
The MSC workaround was added in 5960ba387a
but it has never worked as in 8fd28dbbe6 (earlier)
we were checking for link->conn != conn in the dispatch method. Move the
code over to the generic dispatch and check for NULL.
2011-08-15 12:02:02 +00:00
Holger Hans Peter Freyther 54250f9e1f sctp: Add VTY command to print details about active SCTP connections
This will print details about each SCTP connection including the
FD and pointer of it.
2011-08-15 12:01:50 +00:00
Holger Hans Peter Freyther bb4db869d2 sctp: Check if there is any other connection with the ASP ident
When we get an ASP UP check if there is any other ASP that is
using the same identifier and then complain.
2011-08-15 12:01:40 +00:00
Holger Hans Peter Freyther a6b5fae868 m2ua: Print information about number of SCTP connections
It appears that it is possible to have a stale SCTP connection
and this added LOGL_NOTICE and the VTY interface might help to
identify this situation in the future (the mean time of failure
is about five month).
2011-08-15 12:01:24 +00:00
Holger Hans Peter Freyther 6245aa78f3 mgcp: Fix the comment in the configuration 2011-08-15 12:00:29 +00:00
Holger Hans Peter Freyther 8e6d4c3414 mgcp: Check if the endpoint is blocked and then reject it
Instead of hardcoding which timeslot is blocked we will just
use the blocked flag in an endpoint. This should fix call
handling for CIC on the trunk config.
2011-03-21 15:14:04 +01:00
Holger Hans Peter Freyther e0dc3e5276 isup: Handle CGUs and respond with a CGUA
We don't let CGUAs pass when handling circuit blocking and
unblocking locally. But we did let a CGU go through and then
we never sent the response back to the sender. Respond to a
CGU with the same content.
2011-03-05 09:50:47 +01:00