Commit Graph

1232 Commits

Author SHA1 Message Date
andrei 33d89afa04 Do not report error if empty text children or comments are found after the document root element is finished.
Added method to get the first child of an XmlElement.


git-svn-id: http://voip.null.ro/svn/yate@5383 acf43c95-373e-0410-b603-e72c3f656dc1
2013-01-25 14:42:33 +00:00
paulc 475f779cd4 Perform top level name resolution only on JS call contexts on stack.
git-svn-id: http://voip.null.ro/svn/yate@5381 acf43c95-373e-0410-b603-e72c3f656dc1
2013-01-23 15:24:06 +00:00
oana 4ebd46e7c5 FixedArray.join() and Array.pop() implementations. Replaced incorrect use of toString().
git-svn-id: http://voip.null.ro/svn/yate@5380 acf43c95-373e-0410-b603-e72c3f656dc1
2013-01-21 11:03:06 +00:00
andrei 30d9fd6f33 Check if localpointcode parameter is configuread. If not show warning.
git-svn-id: http://voip.null.ro/svn/yate@5379 acf43c95-373e-0410-b603-e72c3f656dc1
2013-01-18 16:11:00 +00:00
marian 7213dcada8 Fixed bug: avoid infinite loop when adding a new stream to a stream set.
git-svn-id: http://voip.null.ro/svn/yate@5378 acf43c95-373e-0410-b603-e72c3f656dc1
2013-01-17 13:42:00 +00:00
andrei 24f5124a96 Check if params list is valid before initializing heartbeat params.
git-svn-id: http://voip.null.ro/svn/yate@5374 acf43c95-373e-0410-b603-e72c3f656dc1
2013-01-07 10:37:27 +00:00
oana a23016b0c5 Properly encode bitstrings with no values set.
git-svn-id: http://voip.null.ro/svn/yate@5365 acf43c95-373e-0410-b603-e72c3f656dc1
2012-12-20 14:47:04 +00:00
marian f4dd53b617 Added MGCPTransaction flag used to instruct the engine to process it in the private process worker. Handle it when getting events from transactions.
git-svn-id: http://voip.null.ro/svn/yate@5363 acf43c95-373e-0410-b603-e72c3f656dc1
2012-12-18 15:27:47 +00:00
andrei d38cd4b6a5 Send heartbeat messages to check if a sctp stream is freezed.
git-svn-id: http://voip.null.ro/svn/yate@5361 acf43c95-373e-0410-b603-e72c3f656dc1
2012-12-18 12:53:29 +00:00
oana 3120efd164 Keep operation code and type for components.
When sending to the TCAP user a Result/ReturnError/L_Cancel send operation code and type also.



git-svn-id: http://voip.null.ro/svn/yate@5356 acf43c95-373e-0410-b603-e72c3f656dc1
2012-12-11 15:52:03 +00:00
oana 054e40b667 When there is no user to accept an incoming transaction, respond with an U_Abort message.
git-svn-id: http://voip.null.ro/svn/yate@5355 acf43c95-373e-0410-b603-e72c3f656dc1
2012-12-11 15:03:54 +00:00
oana 9bc8935fbc Encode components in the order they are received, not reversed.
git-svn-id: http://voip.null.ro/svn/yate@5351 acf43c95-373e-0410-b603-e72c3f656dc1
2012-12-11 13:59:38 +00:00
marian 815a18b407 Properly handle trunk frames without miniframe timestamps.
git-svn-id: http://voip.null.ro/svn/yate@5344 acf43c95-373e-0410-b603-e72c3f656dc1
2012-12-07 15:41:13 +00:00
andrei bdfed9c001 Bug fixed in sccp local routing.
git-svn-id: http://voip.null.ro/svn/yate@5343 acf43c95-373e-0410-b603-e72c3f656dc1
2012-12-03 11:03:00 +00:00
marian 709c4a95a2 Added method used to pop the first XmlElement from a fragment. The element is extracted only if completed.
git-svn-id: http://voip.null.ro/svn/yate@5342 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-22 13:53:51 +00:00
marian 35fcfbb083 Added helper method used to append a child and release the object if append fails.
git-svn-id: http://voip.null.ro/svn/yate@5341 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-22 13:49:36 +00:00
marian 0fb859b63f Added helper method used to retrieve the text of an element's child.
git-svn-id: http://voip.null.ro/svn/yate@5340 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-22 13:41:31 +00:00
marian 4f286c8e4c Added constructor used to build an XmlElement with a text child.
git-svn-id: http://voip.null.ro/svn/yate@5339 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-22 13:28:32 +00:00
andrei 7bfa1a41b4 Fixed bugs in sigtransport.
Notify sigtran when a new sctp connection has been established.
Set custom names to transport thread and transport mutex for debugging.


git-svn-id: http://voip.null.ro/svn/yate@5338 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-22 12:50:16 +00:00
andrei cfef87d65c Do not copy RemotePC parameter from sccp.route message.
Remove sccp message originating pointcode when a local routing is performed.


git-svn-id: http://voip.null.ro/svn/yate@5337 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-22 11:49:55 +00:00
andrei 33ba0e29fc Fixed the way ysig components are initialized.
git-svn-id: http://voip.null.ro/svn/yate@5336 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-22 08:50:51 +00:00
paulc 6f6c63f66c Date.now() is a static function, not a member method.
git-svn-id: http://voip.null.ro/svn/yate@5334 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-20 17:14:51 +00:00
paulc 64be401172 Added support for calling object methods by variable.
git-svn-id: http://voip.null.ro/svn/yate@5332 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-20 16:11:38 +00:00
paulc b1d769ab93 Check the barrier flag when returning from a Javascript function.
This prevents misinterpreting function values on stack as return address.


git-svn-id: http://voip.null.ro/svn/yate@5330 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-20 16:05:55 +00:00
paulc b92a1a66cb Fixed boolean evaluation for objects and function objects.
git-svn-id: http://voip.null.ro/svn/yate@5329 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-20 16:03:44 +00:00
andrei b234e8eaba Added possibility to route sccp messages between sccp components.
git-svn-id: http://voip.null.ro/svn/yate@5326 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-20 14:03:02 +00:00
marian e4f0102597 Fixed bug: when processing CGA/CUA check GroupSupervisionTypeIndicator when searching the pending list to avoid ignoring the response when we have duplicate CGB/CGU with different type indicator and receive response to second one.
git-svn-id: http://voip.null.ro/svn/yate@5324 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-15 12:24:41 +00:00
marian 78a0eeaf27 Check pending (un)block messages for valid circuits when timed out. Fixed bug: remove conflicting CGB/CGU only if GroupSupervisionTypeIndicator is the same.
git-svn-id: http://voip.null.ro/svn/yate@5323 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-15 11:32:33 +00:00
marian 82088bb1e4 Avoid sending group (un)block messages with single circuit in range, try to pick another circuit in the same span and add it to circuits map with bit set to 0 (not handled). Added control 'circuitevent' available when built for debug used to generate alarm/no alarm events for circuits.
git-svn-id: http://voip.null.ro/svn/yate@5322 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-14 15:23:26 +00:00
andrei d13c3efbd8 Added method to resolve signaling subcomponent configuration.
Use the new mehod to allow proper configuration of SCCP, management and GTT.


git-svn-id: http://voip.null.ro/svn/yate@5319 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-02 13:44:30 +00:00
paulc 8484eff3e7 Fixed parsing of code blocks that don't end in semicolon like: { if (...) if (...) { } }
Improved code generation debugging.


git-svn-id: http://voip.null.ro/svn/yate@5314 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-01 11:18:11 +00:00
paulc 76303f7036 Fixed Javascript line counting.
git-svn-id: http://voip.null.ro/svn/yate@5313 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-31 17:11:15 +00:00
paulc 0ac6e3ffd9 Fixed calling object member functions.
Fixed handling "this" in constructors.


git-svn-id: http://voip.null.ro/svn/yate@5312 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-30 09:08:33 +00:00
paulc b753adbd7d Improved scripting debugging.
git-svn-id: http://voip.null.ro/svn/yate@5311 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-30 09:00:43 +00:00
paulc 94dd8f3669 Fixed naming of GTT components.
Added SCCP and GTT name to the sccp.route message.


git-svn-id: http://voip.null.ro/svn/yate@5309 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-24 16:44:37 +00:00
paulc 592aea3e07 Worked around a possible endless loop at MGCP library shutdown.
Fixed a one time memory leak.


git-svn-id: http://voip.null.ro/svn/yate@5306 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-24 11:08:57 +00:00
paulc 16eb0acca1 Constified a method.
git-svn-id: http://voip.null.ro/svn/yate@5295 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-15 11:53:30 +00:00
paulc 0d0e5f6044 Honor the requested ISDN circuit code if possible before trying other circuits.
Added the possibility of setting the Channel Exclusive flag from configuration or routing.


git-svn-id: http://voip.null.ro/svn/yate@5294 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-15 11:50:33 +00:00
marian d4f26bee65 Check android node when detecting google caps.
git-svn-id: http://voip.null.ro/svn/yate@5293 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-15 08:03:36 +00:00
oana 63e3b1d19a Notify SCCP about subsystem management status changes for TCAP.
git-svn-id: http://voip.null.ro/svn/yate@5290 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-02 14:33:43 +00:00
oana 8acbec4416 Bug fix: acknowledge CONTROL frame types, don't rely on acknowledging the retransmission.
git-svn-id: http://voip.null.ro/svn/yate@5285 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-26 14:10:09 +00:00
oana e7b6e1a219 Fix for bug introduced in rev.5211: also check for frame type when looking for late PINGs/PONGs.
Avoids matching on a RINGING frame and not acknowledging it.



git-svn-id: http://voip.null.ro/svn/yate@5284 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-26 14:04:43 +00:00
marian 4f596b7a60 Fixed bug: don't advertise RFC2833 telephone event support when missing and rtp is forwarded.
git-svn-id: http://voip.null.ro/svn/yate@5275 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-19 12:55:17 +00:00
paulc d83aad16d3 Reduce complexity of appending multiple objects to a list.
git-svn-id: http://voip.null.ro/svn/yate@5271 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-19 10:59:42 +00:00
andrei 368828dac1 Handle charging isup message.
Added possibility to specify how to handle it from configuration. 


git-svn-id: http://voip.null.ro/svn/yate@5260 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-14 08:51:24 +00:00
paulc c066f8484e Made the new SCCPUser documentation work with both doxygen and kdoc.
git-svn-id: http://voip.null.ro/svn/yate@5259 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-13 17:50:14 +00:00
andrei ecb1e57c28 Improved SCCPUser methods documentation.
git-svn-id: http://voip.null.ro/svn/yate@5258 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-13 15:36:59 +00:00
andrei 391310d6f5 Properly initialize wait_oos timer.
git-svn-id: http://voip.null.ro/svn/yate@5257 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-13 10:05:18 +00:00
paulc 83aa2cd60a Retrieve and reuse Time::now() at most twice per SIPEngine::getEvent()
Avoids making too many calls to gettimeofday() when there are many SIP transactions.


git-svn-id: http://voip.null.ro/svn/yate@5254 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-11 10:27:56 +00:00
marian 18c9bdba66 Implemented ping on client to server streams.
git-svn-id: http://voip.null.ro/svn/yate@5252 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-05 13:50:08 +00:00
marian 48dbd2df8b Added configurable option (defaults to disable) used to change remote party's ip/port when a channel receives a response or a new transaction from a different address.
git-svn-id: http://voip.null.ro/svn/yate@5250 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-03 09:41:46 +00:00
marian ec636d3e4b Ignore stream redirect to the same destination. Allow adding error element text in sent stream errors.
git-svn-id: http://voip.null.ro/svn/yate@5247 acf43c95-373e-0410-b603-e72c3f656dc1
2012-08-29 11:40:38 +00:00
marian 3943bc66c6 Added support for redirect (see-other-host) stream error.
git-svn-id: http://voip.null.ro/svn/yate@5245 acf43c95-373e-0410-b603-e72c3f656dc1
2012-08-28 15:03:43 +00:00
paulc 029407d65c Make sure we clear the processor of a RTP transport only after the group was cleared.
Fixes a very infrequent random crash.


git-svn-id: http://voip.null.ro/svn/yate@5240 acf43c95-373e-0410-b603-e72c3f656dc1
2012-08-27 11:17:33 +00:00
paulc 37a7bddeeb Added an optional kernel buffer setting for RTP sockets.
This limits how much delayed (so useless anyway) packets are processed under high load.


git-svn-id: http://voip.null.ro/svn/yate@5239 acf43c95-373e-0410-b603-e72c3f656dc1
2012-08-24 17:53:33 +00:00
paulc 00e6ea144c Added address and length of RTP, UDPTL and STUN packets on XDEBUG.
git-svn-id: http://voip.null.ro/svn/yate@5224 acf43c95-373e-0410-b603-e72c3f656dc1
2012-08-17 09:44:45 +00:00
marian b55ef69c2a Add 'action' attribute in jingle stanza for old version to generate an event when session initiate stanza is confirmed. This will fix call.ringing dispatch by the jingle channel.
git-svn-id: http://voip.null.ro/svn/yate@5212 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-24 15:07:11 +00:00
oana 5180f37fe7 Added special handling for late PING/PONG frames.
git-svn-id: http://voip.null.ro/svn/yate@5211 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-24 14:24:24 +00:00
oana 047c411a6b Don't clear incoming frames queue, avoids losing received ACKs.
git-svn-id: http://voip.null.ro/svn/yate@5210 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-24 14:11:41 +00:00
oana a94e3dd447 Never reject processing an INVAL frame.
git-svn-id: http://voip.null.ro/svn/yate@5209 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-24 14:07:10 +00:00
oana 2baff58dac Don't increment output sequence number when sending an INVAL.
git-svn-id: http://voip.null.ro/svn/yate@5208 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-24 14:02:24 +00:00
paulc 7fc2e11287 Add the "bitrate" as a generic payload parameter in addition to the attribute.
On inbound contents read the bitrate from generic parameter in preference to attribute.
Add the bitrate to the iLBC formats as some clients use it a a type hint instead of ptime.


git-svn-id: http://voip.null.ro/svn/yate@5204 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-17 14:25:38 +00:00
paulc 566e2035c5 Use the formats (synonyms) order if possible when populating a list of media.
This allows controlling the order in outbound Jingle calls and early media.


git-svn-id: http://voip.null.ro/svn/yate@5203 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-17 13:16:37 +00:00
paulc 0c1463af1c Fixed "unused returned value" compiler warning.
git-svn-id: http://voip.null.ro/svn/yate@5200 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-16 12:35:02 +00:00
oana 1ceb36f16d Always try to adjust timestamps when sending frames.
git-svn-id: http://voip.null.ro/svn/yate@5198 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 14:19:19 +00:00
oana aa7cf9b3bf Bug fix: Send ACK when receiving ANSWER, don't send ACK when receiving INVAL.
git-svn-id: http://voip.null.ro/svn/yate@5197 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 14:13:01 +00:00
oana b585521133 Bug fix: don't search an ACK for a sent PING.
git-svn-id: http://voip.null.ro/svn/yate@5196 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 14:01:12 +00:00
oana 1981eeaf15 Bug fix: don't terminate a transaction until an ACK is received which matches the sent HANGUP frame.
git-svn-id: http://voip.null.ro/svn/yate@5195 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 13:52:40 +00:00
oana 02e5bbafae Bug fix: don't refuse INVAL/VNAK frames even if a HANGUP has been sent for a transaction.
git-svn-id: http://voip.null.ro/svn/yate@5194 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 13:43:26 +00:00
oana 84425f1199 Send an INVAL frame when receiving a frame for an unknown transaction.
git-svn-id: http://voip.null.ro/svn/yate@5193 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 13:27:02 +00:00
oana 51546ba933 Bug fix: don't remove a frame unless it matches with a received ACK.
git-svn-id: http://voip.null.ro/svn/yate@5192 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 13:13:16 +00:00
oana 236feb7ba1 Bug fix: after the last retransmission of a frame, wait for a while for an answer before destroying the transaction. Changed debug level for message regarding media transmission.
git-svn-id: http://voip.null.ro/svn/yate@5191 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-13 12:49:44 +00:00
paulc 91342343ae Added support for mapping repeated ISUP parameters to Yate messages.
The names are ParamName, ParamName.1, ParamName.2 and so on.


git-svn-id: http://voip.null.ro/svn/yate@5190 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-11 11:15:59 +00:00
paulc 8ca9cbe95d Support changing formats from routing for inbound Jingle calls.
git-svn-id: http://voip.null.ro/svn/yate@5180 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-05 11:09:13 +00:00
paulc cc69a025d0 Added iLBC codec based on the WebRTC library.
git-svn-id: http://voip.null.ro/svn/yate@5179 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-05 09:16:00 +00:00
oana 91f257d255 Fix bug introduced by commit 5166: don't drop the encoding of a ResultLast component operation code type is missing and it has no payload.
git-svn-id: http://voip.null.ro/svn/yate@5176 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-03 12:40:25 +00:00
andrei c7a178c7f9 Filter sccp address parameters returned by gt.route message.
git-svn-id: http://voip.null.ro/svn/yate@5169 acf43c95-373e-0410-b603-e72c3f656dc1
2012-07-02 09:54:04 +00:00
oana 1e13e273b0 Show a warning and drop the encoding of a component when a mandatory parameter is misssing.
git-svn-id: http://voip.null.ro/svn/yate@5166 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-29 15:34:01 +00:00
andrei dc9659903e Added configuration file to set default values for sctp parameters.
Show debug message if the sctp parameters values are not reliable for m2pa.


git-svn-id: http://voip.null.ro/svn/yate@5164 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-29 14:00:52 +00:00
paulc c7ee45a975 Fixed a harmless signed / unsigned comparation.
git-svn-id: http://voip.null.ro/svn/yate@5163 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-29 09:23:50 +00:00
paulc bbe1f923a3 Added possibility to rename the null wrapper.
git-svn-id: http://voip.null.ro/svn/yate@5161 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-28 18:21:13 +00:00
paulc 052a6b7a37 Fixed a memory leak in switch/case matching.
git-svn-id: http://voip.null.ro/svn/yate@5158 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-27 15:16:34 +00:00
paulc 13ff38a663 Fixed deep copying member functions of inline objects.
git-svn-id: http://voip.null.ro/svn/yate@5157 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-27 14:44:05 +00:00
paulc 28197516ea Added encoding and decoding for (Original) Called IN Number.
Added just parameter names for UID indicators.


git-svn-id: http://voip.null.ro/svn/yate@5155 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-27 12:43:42 +00:00
paulc 574dc50802 Deep copy inline objects and arrays when placing them in a context.
git-svn-id: http://voip.null.ro/svn/yate@5154 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-26 16:40:38 +00:00
oana a5dd14a0cf Bug fix: use ObjList::skipNext() instead of ObjList::next() in order to avoid segmentation fault.
git-svn-id: http://voip.null.ro/svn/yate@5153 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-26 13:49:53 +00:00
paulc 6ee7811217 Fixed the call context creation, was double wrapping the scope and this objects.
git-svn-id: http://voip.null.ro/svn/yate@5152 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-26 13:31:30 +00:00
paulc aa8635d1c0 Clear the RTP session's processor only after removing the session from the thread.
git-svn-id: http://voip.null.ro/svn/yate@5151 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-26 11:27:52 +00:00
paulc 016f658eab Encode and decode L1 bearer capability H.223 + H.245 (video calls).
git-svn-id: http://voip.null.ro/svn/yate@5150 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-26 07:44:40 +00:00
paulc 07e51a7762 Fixed Array.push() method that was not copying objects correctly and not copying non-objects at all.
Added some more XDEBUG for iterators.


git-svn-id: http://voip.null.ro/svn/yate@5149 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-25 15:41:47 +00:00
oana c1b3f8462c Bug fix: set media source in a thread safe way. Use new CallEndpoint API.
git-svn-id: http://voip.null.ro/svn/yate@5148 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-25 12:57:36 +00:00
paulc 3dcef54cd1 Fixed parsing of { objects } as expressions.
Fixed parsing of "var" declarations.
Fixed indexing and fields of expressions.
Small improvement to speed up the simplification of large code.


git-svn-id: http://voip.null.ro/svn/yate@5146 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-22 14:06:16 +00:00
paulc 80a7605cfd Added helper methods to check if a value is null or undefined.
git-svn-id: http://voip.null.ro/svn/yate@5144 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-22 08:31:22 +00:00
paulc 89ee4322b7 Added support for asynchronous execution from the script.
git-svn-id: http://voip.null.ro/svn/yate@5143 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-21 13:26:11 +00:00
paulc 470c2df0fb Fixed line counting in /* ... */ comments.
git-svn-id: http://voip.null.ro/svn/yate@5140 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-20 15:49:27 +00:00
paulc b42a0e4979 Added public method to pause a script.
git-svn-id: http://voip.null.ro/svn/yate@5139 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-20 15:48:03 +00:00
paulc 36a26b6bd5 Only install global functions during code initialization if they are not installed.
git-svn-id: http://voip.null.ro/svn/yate@5137 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-20 13:25:36 +00:00
paulc 1baf8eca59 Added support for non-JS NamedList in JsObject that is overriden in JsMessage.
Separate method is used to store the key names for iterating over unsafe lists.
Implemented handling of Yate messages and their parameters in module.


git-svn-id: http://voip.null.ro/svn/yate@5135 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-19 18:55:45 +00:00
paulc 0a30542924 Keep the prototype as an internal __proto__ property.
Exclude properties starting with two underlines from iterators.


git-svn-id: http://voip.null.ro/svn/yate@5131 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-18 17:17:43 +00:00
andrei 27434ec585 Restart transport if a m2pa link is unstabile.
git-svn-id: http://voip.null.ro/svn/yate@5129 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-18 16:17:16 +00:00
paulc deb86d089c Changed the way native objects' constructors are called.
Added proper cleanup in module.
Added script unload hook onUnload() that just needs be defined.


git-svn-id: http://voip.null.ro/svn/yate@5128 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-18 13:52:21 +00:00
paulc 6219735b29 Changed the way callback JS functions are called.
Added a global Javascript loader.
Moved the main routing script to the [global] section.


git-svn-id: http://voip.null.ro/svn/yate@5127 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-16 23:21:13 +00:00
paulc 5210d04355 Fixed handling of function arguments.
Added separate function for calling a script function.


git-svn-id: http://voip.null.ro/svn/yate@5125 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-16 21:03:40 +00:00
paulc 4521c9abd1 Implemented for (variable of object) that iterates over values, not keys.
Improved debugging when compiled with DEBUG or XDEBUG.


git-svn-id: http://voip.null.ro/svn/yate@5120 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-15 10:43:48 +00:00
paulc 351766bbd2 Always use the full setParam replacement when doing assignment in a script.
Fixes the impossibility to replace an object or function with a simple type.
NamedList::setParam(const char*,const char*) does not replace an existing parameter which may be a subclass of NamedString.


git-svn-id: http://voip.null.ro/svn/yate@5119 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-15 10:40:06 +00:00
paulc e92a171fc3 Implemented conditional and iterative for instruction.
Fixed parsing of semicolons.
Improved debugging information.


git-svn-id: http://voip.null.ro/svn/yate@5117 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-14 15:31:45 +00:00
paulc c39d803c83 Fixed parsing of { object } subexpressions.
git-svn-id: http://voip.null.ro/svn/yate@5116 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-13 15:10:35 +00:00
paulc 73f5c05389 Implemented switch instruction that can match RegExp or dialplan pattern.
git-svn-id: http://voip.null.ro/svn/yate@5115 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-13 14:44:41 +00:00
paulc 80c755d928 Fixed documentation comments
git-svn-id: http://voip.null.ro/svn/yate@5114 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-13 14:11:37 +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
andrei abc5fb151c Decreased cumulative acknowledge timer default value from 400 ms to 150 ms.
git-svn-id: http://voip.null.ro/svn/yate@5105 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-11 15:05:47 +00:00
andrei 733027f68d Fixed race condition in tcap.
git-svn-id: http://voip.null.ro/svn/yate@5104 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-11 14:28:29 +00:00
paulc c7130dd600 Take into account the CIC length when dumping sent ISUP/BICC message.
git-svn-id: http://voip.null.ro/svn/yate@5102 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-07 16:46:49 +00:00
paulc 136270e58e Don't count the maintenance MSUs in the SS7 router.
git-svn-id: http://voip.null.ro/svn/yate@5101 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-07 16:18:36 +00:00
paulc e23a1f6ed2 Fixed endianess of ISUP multi-octet integer values, must be big endian.
git-svn-id: http://voip.null.ro/svn/yate@5100 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-07 15:45:16 +00:00
paulc 1acbc5ba04 Added default type in SignallingComponent constructor.
git-svn-id: http://voip.null.ro/svn/yate@5099 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-07 10:27:45 +00:00
paulc 52acdfce61 When a SS7 link goes down report in the event how long it was up.
git-svn-id: http://voip.null.ro/svn/yate@5098 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-07 08:28:59 +00:00
andrei 3a17f6050a Set SS7TcapTransaction mutex name.
git-svn-id: http://voip.null.ro/svn/yate@5097 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-07 07:35:58 +00:00
paulc 0febf5565c Only display the DPC in missing route message, not the entire routing label.
git-svn-id: http://voip.null.ro/svn/yate@5096 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-06 23:47:42 +00:00
paulc d8c2067fe4 Count the failed MSU transmission attempts.
Report the MSU statistics in "constrol ss7router show" command.


git-svn-id: http://voip.null.ro/svn/yate@5092 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-06 20:55:28 +00:00
paulc 7f5b22b1b6 Pass objects for parsing nested instructions in expressions.
Added specific Javascript parsers for nested instructions.


git-svn-id: http://voip.null.ro/svn/yate@5091 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-04 18:06:39 +00:00
paulc c32557125f Fixed the nesting of some instruction parsers.
git-svn-id: http://voip.null.ro/svn/yate@5089 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-01 15:54:30 +00:00
paulc a493719861 Moved last the code fragment of the debug message of runCompile so it's easy to read.
git-svn-id: http://voip.null.ro/svn/yate@5088 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-01 15:53:50 +00:00
paulc fa4fac4637 Allow configuring a SLS to SLC right-shift in MTP3.
This is useful to load balance ISUP traffic controlling only odd or even CICs.


git-svn-id: http://voip.null.ro/svn/yate@5086 acf43c95-373e-0410-b603-e72c3f656dc1
2012-06-01 09:35:45 +00:00
paulc 3106555ae1 Moved longer Javascript instruction parsers to separate functions.
git-svn-id: http://voip.null.ro/svn/yate@5085 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-31 17:41:24 +00:00
paulc 03b989b6c5 Added separate methods to retrieve the numeric and boolean values from an operation.
Fixed the null object to evaluate to false.


git-svn-id: http://voip.null.ro/svn/yate@5082 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-30 19:10:14 +00:00
paulc d13ca844cc Added string properties and methods that apply to all non-JS objects.
Fixed the name resolution to allow the pseudo properties.


git-svn-id: http://voip.null.ro/svn/yate@5081 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-30 17:48:13 +00:00
paulc 1867402066 Implemented identity checking, proper null and undefined values.
git-svn-id: http://voip.null.ro/svn/yate@5080 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-30 13:18:34 +00:00
paulc 3a91ab7d50 Never set OptionalBackwardCallIndicators=inband for an outbound call.
The automatic decision can be overriden by the "send-inband" parameter.


git-svn-id: http://voip.null.ro/svn/yate@5079 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-30 11:54:21 +00:00
paulc 6be8cfdf16 Fixed object assignment to object fields.
Added dump_r and print_r methods of Engine to aid in debugging.


git-svn-id: http://voip.null.ro/svn/yate@5078 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-30 08:32:47 +00:00
paulc 9ec0891e3d Made JsRegExp object public, added constructor.
git-svn-id: http://voip.null.ro/svn/yate@5075 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-28 16:10:41 +00:00
paulc cb19a8c2d3 Added source file name and line number to compiled bytecode and operands.
Report the location in compile and runtime errors.


git-svn-id: http://voip.null.ro/svn/yate@5074 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-28 13:48:25 +00:00
paulc d32634e03f Added code to parse inline [ arrays ] and { objects }.
Added separate methods to parse constants.
Made JsArray public because it's needed in many places.


git-svn-id: http://voip.null.ro/svn/yate@5073 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-24 17:15:34 +00:00
paulc 359e09646c Release call with correct cause 102 "timeout" when IAM timer T7 expires.
git-svn-id: http://voip.null.ro/svn/yate@5072 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-24 08:19:48 +00:00
paulc 960b6b6fba Proper String and Regexp parsing and escaping.
Added parsing of dialplan style %pattern% that is converted internally to regexp.
This allows for example %+1xxxxxxxxxx% to be same as /^\+1[0-9]{10}$/i


git-svn-id: http://voip.null.ro/svn/yate@5070 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-22 10:06:50 +00:00
paulc 021af1c649 Reverted SVN commit 5066 (dialplan patterns).
git-svn-id: http://voip.null.ro/svn/yate@5068 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-18 21:15:39 +00:00
paulc aad9d79357 Added parsing of dialplan style %patterns% that are converted internally to a regexp.
This allows for example %+1xxxxxxxxxx% to be same as /^\+1[0-9]{10}$/


git-svn-id: http://voip.null.ro/svn/yate@5066 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-18 14:57:58 +00:00
paulc d295d3a2e7 Moved helper functions to static methods of JsObject so code can be reused.
git-svn-id: http://voip.null.ro/svn/yate@5063 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-15 14:43:15 +00:00
paulc bd92dfedfd Limited the length of the debugging output from expression parser.
Fixed the string limit for single char in a few places, it had to be %.1s instead of %1s.


git-svn-id: http://voip.null.ro/svn/yate@5062 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-15 14:13:56 +00:00
paulc 3f1889b11c Fixed parsing of if ... else blocks.
Improved debugging of expression parser.


git-svn-id: http://voip.null.ro/svn/yate@5061 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-15 13:57:05 +00:00
paulc 9a805ea5a3 Fixed prototypal inheritance and constructors.
Fixed Array length - it's a property not a method.


git-svn-id: http://voip.null.ro/svn/yate@5059 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-14 19:51:36 +00:00
paulc 57577ceb53 Allow setting the external address of a NAT in the SDP sent by SIP.
git-svn-id: http://voip.null.ro/svn/yate@5058 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-11 21:33:21 +00:00
paulc bce04fddd1 Work in progress: added methods of Array class and const Object / Array parser.
git-svn-id: http://voip.null.ro/svn/yate@5057 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-11 16:15:20 +00:00
paulc 7ca328b47c Improved debugging levels and text when sending SS7 messages or failing to.
git-svn-id: http://voip.null.ro/svn/yate@5056 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-11 13:11:35 +00:00
andrei d1c466e318 Fixed sccp crash, caused by sccp management local-subsystems parameter presence.
git-svn-id: http://voip.null.ro/svn/yate@5054 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-10 09:50:40 +00:00
oana 1dd51a3d40 Fixed warning spotted by the Windows compiler.
git-svn-id: http://voip.null.ro/svn/yate@5051 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-09 13:47:12 +00:00
andrei b1b35493cb Fixed doxygen warning.
git-svn-id: http://voip.null.ro/svn/yate@5049 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-08 08:43:33 +00:00
oana 145761fa3c Handle ASN.1 specification of length in the indefinite form.
git-svn-id: http://voip.null.ro/svn/yate@5048 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-08 08:42:59 +00:00
paulc e26156d68e Added a maximum counter for ISUP circuit replaces on remote block.
git-svn-id: http://voip.null.ro/svn/yate@5045 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-04 13:22:17 +00:00
marian 61c6490c88 Documented parameter.
git-svn-id: http://voip.null.ro/svn/yate@5044 acf43c95-373e-0410-b603-e72c3f656dc1
2012-05-04 13:17:53 +00:00