Commit Graph

83 Commits

Author SHA1 Message Date
paulc 7c8b2d4c38 Added a shared static list of Atom strings and an YATOM macro.
This speeds up signifficantly the Yate RTTI on compilers that HAVE_BLOCK_RETURN.
Made the String comparison operator inline to shave off a few cycles.
Fast handle the comparison in identity case.


git-svn-id: http://voip.null.ro/svn/yate@5449 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-12 13:19:14 +00:00
marian 6017a54f70 Process transaction in sender's thread when synchronously sending a command to avoid blocking the engine private process thread.
git-svn-id: http://voip.null.ro/svn/yate@5364 acf43c95-373e-0410-b603-e72c3f656dc1
2012-12-18 15:32:20 +00:00
paulc c11eadae97 Added mutex locks around some likely harmless assignments.
git-svn-id: http://voip.null.ro/svn/yate@5289 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-02 13:42:16 +00:00
paulc ddda7db0ff Allow postponing the embedded R: command when creating continuity check connection.
git-svn-id: http://voip.null.ro/svn/yate@5256 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-11 18:42:52 +00:00
paulc 7e77fd2cfb Added possibility to track message progress through handlers.
git-svn-id: http://voip.null.ro/svn/yate@5107 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-12 23:47:01 +00:00
paulc 97f574c175 Make sure we don't add to MGCP transactions objects that are to be destroyed.
Solves crashes caused by shutdown or unconfigure with MGCP connections active.


git-svn-id: http://voip.null.ro/svn/yate@5010 acf43c95-373e-0410-b603-e72c3f656dc1
2012-04-18 13:36:48 +00:00
paulc 529737a967 Resolve the hostname of a MGCP endpoint only when first needed.
git-svn-id: http://voip.null.ro/svn/yate@4972 acf43c95-373e-0410-b603-e72c3f656dc1
2012-03-22 14:01:24 +00:00
marian 703e3314ab Fixed bug: reset circuit pending synchronous transaction when received a DLCX from media gateway.
git-svn-id: http://voip.null.ro/svn/yate@4802 acf43c95-373e-0410-b603-e72c3f656dc1
2012-01-12 11:13:15 +00:00
paulc dd975c70a0 Match partial MGCP endpoint wildcards like prefix*/*
git-svn-id: http://voip.null.ro/svn/yate@4700 acf43c95-373e-0410-b603-e72c3f656dc1
2011-11-15 10:10:32 +00:00
paulc d88e8fd30c Allow MGCP-CA to request a SDP from gateway by specifying Local Connection Options.
This avoids always creating an initial local RTP session on inbound calls.


git-svn-id: http://voip.null.ro/svn/yate@4666 acf43c95-373e-0410-b603-e72c3f656dc1
2011-10-31 19:34:44 +00:00
paulc 5e46a221a6 Set the address of the MGCP circuit in yrtp, helps in troubleshooting.
git-svn-id: http://voip.null.ro/svn/yate@4656 acf43c95-373e-0410-b603-e72c3f656dc1
2011-10-27 16:44:59 +00:00
paulc 503ac35697 Clean up any local RTP session we used to communicate with MGCP gateway.
git-svn-id: http://voip.null.ro/svn/yate@4649 acf43c95-373e-0410-b603-e72c3f656dc1
2011-10-24 13:58:32 +00:00
paulc 3690dfe215 Added ability to match NTFY by endpoint, use it as default for FXO/FXS.
Report base endpoint of each span in status.


git-svn-id: http://voip.null.ro/svn/yate@4565 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-24 13:28:18 +00:00
paulc 43a1b64125 Fixed MGCP endpoint matching when port is not present.
Fixed MGCP range matching against a trunk.
Added debugging of MGCP matching when compiled with XDEBUG.


git-svn-id: http://voip.null.ro/svn/yate@4564 acf43c95-373e-0410-b603-e72c3f656dc1
2011-08-24 09:45:51 +00:00
paulc 07132042d0 Added class for pseudo random number generation.
Replace library ::random() and ::rand() calls with shared Random method.


git-svn-id: http://voip.null.ro/svn/yate@4470 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-29 11:19:02 +00:00
paulc 55d646062d Allow suppressing the port at the end of a MGCP endpoint ID.
git-svn-id: http://voip.null.ro/svn/yate@4461 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-21 16:21:43 +00:00
paulc 542e4d9056 Compute and log how long took to complete a MGCP transaction.
git-svn-id: http://voip.null.ro/svn/yate@4434 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-03 16:57:03 +00:00
paulc 680d700568 Optimized const String usage in MGCP library and modules.
git-svn-id: http://voip.null.ro/svn/yate@4433 acf43c95-373e-0410-b603-e72c3f656dc1
2011-06-03 16:27:11 +00:00
paulc 84a3ef7eea Pick up any new formats (even if not negotiated before) in RTP forward mode.
git-svn-id: http://voip.null.ro/svn/yate@4417 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-28 12:43:15 +00:00
paulc fc99d827e9 Clear active notification requests when deleting the MGCP connection.
git-svn-id: http://voip.null.ro/svn/yate@4404 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-24 12:39:27 +00:00
paulc f1e4112e3e Print the number of the circuit on which the Cisco DSP failed.
git-svn-id: http://voip.null.ro/svn/yate@4400 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-19 17:22:58 +00:00
paulc f148d81c30 Allow yes/no and on/off aliases for DTMF request modes once/none.
git-svn-id: http://voip.null.ro/svn/yate@4376 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-13 16:55:47 +00:00
paulc 7644e257a8 Do not provide the raw user data from library when processing MGCP events.
Access explicitely the pointer under a mutex lock to prevent race conditions.


git-svn-id: http://voip.null.ro/svn/yate@4374 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-13 13:12:05 +00:00
marian 6bdaaee3a3 Avoid message double destruction if trying to send an invalid command.
git-svn-id: http://voip.null.ro/svn/yate@4373 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-13 11:02:39 +00:00
paulc b3b19fa65e Match prefix*/[min-max] for MGCP requests (can happen only to RSIP).
git-svn-id: http://voip.null.ro/svn/yate@4364 acf43c95-373e-0410-b603-e72c3f656dc1
2011-05-06 15:39:18 +00:00
paulc 3c3b0d9023 Use referencing pointers while processing MGCP transactions.
Take the global mutex while retrieving the pointers.


git-svn-id: http://voip.null.ro/svn/yate@4335 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-21 09:53:47 +00:00
paulc 420e6fb9cc Handle (currently ignore) the FXR/t38(stop) event.
git-svn-id: http://voip.null.ro/svn/yate@4334 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-20 19:58:01 +00:00
paulc a3c7da031b Allow overriding the controller's starting circuit number.
For MGCP allow overriding offset, increment and start per span in template.


git-svn-id: http://voip.null.ro/svn/yate@4331 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-20 18:16:19 +00:00
paulc af2688ea97 Support switching MGCP circuits to T.38 or G.711 fax.
git-svn-id: http://voip.null.ro/svn/yate@4312 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-18 13:12:05 +00:00
paulc 1c6bd805ca Properly handle the MGCP transaction timeouts in the circuits.
Drop a call for which a CRCX or MDCX had timed out.


git-svn-id: http://voip.null.ro/svn/yate@4311 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-18 11:57:14 +00:00
paulc 074270b83b Added a fallback code path if local RTP cannot be created for MGCP.
git-svn-id: http://voip.null.ro/svn/yate@4305 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-15 22:09:42 +00:00
paulc a57f429267 Allow embedding the notification request in the CRCX message.
git-svn-id: http://voip.null.ro/svn/yate@4300 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-15 14:16:32 +00:00
paulc 9b75ce551f Added support for requesting notification for fxr/t38 events.
git-svn-id: http://voip.null.ro/svn/yate@4299 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-15 13:28:27 +00:00
paulc 8a75e86780 Disable MGCP circuits for which DLCX returned an error.
git-svn-id: http://voip.null.ro/svn/yate@4298 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-15 12:27:42 +00:00
paulc 710ef67251 Fix notify request when only Fax detection is desired.
git-svn-id: http://voip.null.ro/svn/yate@4296 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-14 10:03:05 +00:00
paulc 3736466398 The default RFC 2833 payload can be configured and overriden per call.
git-svn-id: http://voip.null.ro/svn/yate@4287 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-12 15:41:49 +00:00
paulc 96321c7dbd Return success from MGCP only if CRCX / MDCX returned a code 2xx.
git-svn-id: http://voip.null.ro/svn/yate@4278 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-11 14:00:04 +00:00
paulc 1eb153a8ab Added fax tone detection to MGCP and ability to override the request string.
git-svn-id: http://voip.null.ro/svn/yate@4269 acf43c95-373e-0410-b603-e72c3f656dc1
2011-04-06 14:38:26 +00:00
paulc fa7c8e9daa Display only the mapping of first circuit in a MGCP span.
git-svn-id: http://voip.null.ro/svn/yate@4213 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-24 15:16:01 +00:00
paulc d0ca7bde2f Adjusted debugging in MGCP, prevent log spamming.
git-svn-id: http://voip.null.ro/svn/yate@4212 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-24 14:23:09 +00:00
paulc 1fd0dc1670 Added support for delivering Caller ID over analog FXS MGCP gateways.
git-svn-id: http://voip.null.ro/svn/yate@4188 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-16 23:31:07 +00:00
paulc bbac32a02e Cry loud when a Cisco MGCP gateway reports a DSP failure.
git-svn-id: http://voip.null.ro/svn/yate@4176 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-11 20:43:18 +00:00
paulc 21e3f429c1 Do not Idle a Failed or Missing MGCP circuit whose connection was deleted by the gateway.
git-svn-id: http://voip.null.ro/svn/yate@4146 acf43c95-373e-0410-b603-e72c3f656dc1
2011-03-02 11:36:30 +00:00
paulc 1bf31c4418 When attempting RTP forwarding do not reset the SDP information if MGCP connection fails.
The information is instead preserved for possible later retries.


git-svn-id: http://voip.null.ro/svn/yate@4119 acf43c95-373e-0410-b603-e72c3f656dc1
2011-02-21 11:32:25 +00:00
paulc 3398850df8 Always resend the bearer change command after deleting a MGCP connection.
git-svn-id: http://voip.null.ro/svn/yate@4091 acf43c95-373e-0410-b603-e72c3f656dc1
2011-02-03 11:33:22 +00:00
paulc 878993121d Make sure to turn off any ring signals when a call is answered.
Only clear active MGCP signals when entering Connected state, not if already in that state.


git-svn-id: http://voip.null.ro/svn/yate@4077 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-27 11:19:56 +00:00
paulc 13a1cf786d Added capability to force a ringback to a MGCP gateway from ISDN and ISUP.
Fixed ring end on FXS analog MGCP gateways.


git-svn-id: http://voip.null.ro/svn/yate@4062 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-25 11:46:13 +00:00
oana 55813dcbe3 Added SNMP support.
git-svn-id: http://voip.null.ro/svn/yate@3776 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-03 16:27:30 +00:00
marian 529db7197a The mgcp span is now pushing a signalling event to all circuits when its operational state changes.
git-svn-id: http://voip.null.ro/svn/yate@3551 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 13:13:47 +00:00
paulc 8c02021eeb Use static const Regexps wherever possible to speed up code.
git-svn-id: http://voip.null.ro/svn/yate@3391 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-17 11:38:46 +00:00