Commit Graph

408 Commits

Author SHA1 Message Date
marian 2de3403cc9 Fixed bug: lock mutex to reset media when processing received BYE.
git-svn-id: http://voip.null.ro/svn/yate@5668 acf43c95-373e-0410-b603-e72c3f656dc1
2013-10-17 14:23:55 +00:00
marian 18ae05c63c Added post dial delay timeout in outgoing channel started from 'maxpdd' routing parameter. It stops when status is called with 'ringing', 'progressing' or 'answered'.
git-svn-id: http://voip.null.ro/svn/yate@5666 acf43c95-373e-0410-b603-e72c3f656dc1
2013-10-11 12:46:20 +00:00
marian 5d0f4b7135 Always set cause_sip and reason_sip in channel params when processing the sip transaction.
git-svn-id: http://voip.null.ro/svn/yate@5663 acf43c95-373e-0410-b603-e72c3f656dc1
2013-10-10 13:18:21 +00:00
paulc 4bf815b7bd Use the proper method to clear saved media parameters.
git-svn-id: http://voip.null.ro/svn/yate@5646 acf43c95-373e-0410-b603-e72c3f656dc1
2013-09-11 11:55:50 +00:00
paulc 89bf29db01 Attempt to revert to previous media if our reINVITE was refused.
git-svn-id: http://voip.null.ro/svn/yate@5645 acf43c95-373e-0410-b603-e72c3f656dc1
2013-09-11 11:48:41 +00:00
paulc 7282f18730 Provide a mapping for SIP 488 code so it propagates correctly.
git-svn-id: http://voip.null.ro/svn/yate@5640 acf43c95-373e-0410-b603-e72c3f656dc1
2013-09-03 16:21:23 +00:00
marian 7714eb89e0 Fixed bug: allow empty address (hold) when handling re-invite with rtp forward.
git-svn-id: http://voip.null.ro/svn/yate@5638 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-30 15:01:45 +00:00
paulc bbb4fccc91 Added separate config sections for SIP MESSAGE and OPTIONS.
Made the routed MESSAGE advertising and processing disabled by default.
Removed separate in-dialog authetication for MESSAGE, follow same rule as BYE.


git-svn-id: http://voip.null.ro/svn/yate@5629 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-23 11:52:11 +00:00
paulc b23d7782cc Emit alerts for SIP and H.323 flood / local congestions.
Try to detect early the OpenH323 cleaner overload for outbound calls.


git-svn-id: http://voip.null.ro/svn/yate@5627 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-19 13:53:54 +00:00
marian 959901913f Fixed compile error.
git-svn-id: http://voip.null.ro/svn/yate@5620 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-13 08:32:24 +00:00
marian 5dda0433d1 Always handle MESSAGE method. Route incoming MESSAGE received outside INVITE dialog using call.route and send it using msg.execute. Forward MESSAGE received inside INVITE dialogs to channel peer using chan.text.
git-svn-id: http://voip.null.ro/svn/yate@5619 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-13 08:31:33 +00:00
paulc 18e10bfd69 Changed license terms in each source file to reference an external file.
git-svn-id: http://voip.null.ro/svn/yate@5609 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-06 13:38:10 +00:00
marian 414a5d9414 Stop chan.rtp dispatch for audio or video media with empty formats list.
git-svn-id: http://voip.null.ro/svn/yate@5608 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-06 08:37:10 +00:00
paulc ccae9ca1cf Added settings to allow matching inbound calls from broken registrars.
git-svn-id: http://voip.null.ro/svn/yate@5606 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-05 20:45:29 +00:00
marian 972a23de13 Reset connect retry counter when received data not when connect succeeds. Fixes forever connect retry when connection is closed after accepted without receiving any data. Improved debug.
git-svn-id: http://voip.null.ro/svn/yate@5604 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-02 14:28:44 +00:00
marian 10f0d6bffc Check ssl availability. Don't bind a tls listener if the context is not valid. Don't try to connect a tls transport if ssl is not available.
git-svn-id: http://voip.null.ro/svn/yate@5601 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-02 11:56:53 +00:00
marian 8e97f597ee Fixed bug: start transport worker thread after init to make sure data is initialized. Fixes incoming tcp transport race condition.
git-svn-id: http://voip.null.ro/svn/yate@5600 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-02 11:11:38 +00:00
marian c9257c678e Propagate non-retryable send errors to transaction. Terminate outgoing transactions in Trying state if first send attempt failed. Reset failed message party otherwise.
git-svn-id: http://voip.null.ro/svn/yate@5599 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-02 10:01:39 +00:00
paulc a19f534767 Added unHexify version that automatically detects separator presence.
git-svn-id: http://voip.null.ro/svn/yate@5596 acf43c95-373e-0410-b603-e72c3f656dc1
2013-08-01 14:52:52 +00:00
marian a833e3dc52 Incoming registration NAT detection: don't check port for non udp parties.
git-svn-id: http://voip.null.ro/svn/yate@5588 acf43c95-373e-0410-b603-e72c3f656dc1
2013-07-23 14:39:46 +00:00
paulc 7221317efd Copy a SIP remote party change to the "address" parameter.
Add change information for address and contact in the call.update message.
Delay updating channel parameters until the reINVITE is accepted.


git-svn-id: http://voip.null.ro/svn/yate@5583 acf43c95-373e-0410-b603-e72c3f656dc1
2013-07-16 13:15:40 +00:00
paulc 22dcf9f53e Use Alarm() in places that could prevent normal operation.
This allows sending SNMP traps when parts of the service become non-operational.


git-svn-id: http://voip.null.ro/svn/yate@5569 acf43c95-373e-0410-b603-e72c3f656dc1
2013-07-08 12:21:26 +00:00
paulc 9da881eac2 Added settings for the SIP T1 and T4 timers.
git-svn-id: http://voip.null.ro/svn/yate@5533 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-07 15:18:42 +00:00
paulc 47f8450a26 Copy SIP authentication headers to Yate messages when foreign auth is enabled.
git-svn-id: http://voip.null.ro/svn/yate@5532 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-07 15:17:19 +00:00
paulc 79c04308c9 Populate user.register with custom SIP headers.
git-svn-id: http://voip.null.ro/svn/yate@5526 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-04 14:47:06 +00:00
paulc 26288f63e3 Allow returning a message body from a generic SIP handler.
git-svn-id: http://voip.null.ro/svn/yate@5525 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-04 14:46:03 +00:00
paulc 7c2a68576c Added possibility to set credentials in generic UAC transactions.
SIP headers and body can be returned from generic UAC transactions.


git-svn-id: http://voip.null.ro/svn/yate@5524 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-04 14:45:35 +00:00
paulc 3156fd61a5 Apply NAT detection only when registering a SIP or SIPS URI.
git-svn-id: http://voip.null.ro/svn/yate@5523 acf43c95-373e-0410-b603-e72c3f656dc1
2013-06-04 14:44:23 +00:00
paulc 49ee729d37 Don't warn if no Contact is received in a 387 SIP answer, that's used for something else.
git-svn-id: http://voip.null.ro/svn/yate@5509 acf43c95-373e-0410-b603-e72c3f656dc1
2013-05-28 16:59:13 +00:00
paulc 3a5a1f898a Reply to SIP OPTIONS with 503 is engine is exiting, congested or rejecting calls.
Allow the OPTIONS method to be handled generically.


git-svn-id: http://voip.null.ro/svn/yate@5502 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-29 11:16:02 +00:00
paulc cb72cd54eb Added support (default enabled) to run generic SIP messages in their own thread.
Fixed the raw text body encoding.


git-svn-id: http://voip.null.ro/svn/yate@5453 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-12 13:34:50 +00:00
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
paulc 682bf1062a Allow specifying the encoding for binary MIME bodies in SIP.
git-svn-id: http://voip.null.ro/svn/yate@5442 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-12 12:51:38 +00:00
paulc 981d5d3b42 Made the SIP "expires" parameter available in user.auth message.
git-svn-id: http://voip.null.ro/svn/yate@5440 acf43c95-373e-0410-b603-e72c3f656dc1
2013-04-12 12:48:52 +00:00
paulc b88cc82b3e Added configuration to disable the preventive BYE when CANCELing an early dialog.
git-svn-id: http://voip.null.ro/svn/yate@5420 acf43c95-373e-0410-b603-e72c3f656dc1
2013-03-15 16:24:14 +00:00
paulc 4cdd8136b0 Send UDP keepalive even for SIP accounts without registration.
git-svn-id: http://voip.null.ro/svn/yate@5328 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-20 15:29:23 +00:00
marian 2c20fa2624 Create general listener from 'listener general' section if the section is present in config to mantain compatibility broken in rev. 8084.
git-svn-id: http://voip.null.ro/svn/yate@5325 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-19 08:50:10 +00:00
paulc 912d83bf53 Use a smarter SIP registration adjustment interval to avoid trouble with some providers.
git-svn-id: http://voip.null.ro/svn/yate@5320 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-09 13:08:30 +00:00
paulc 04f5dd21b3 Fixed handling of automatic REGISTER local address broken by a previous revision.
git-svn-id: http://voip.null.ro/svn/yate@5317 acf43c95-373e-0410-b603-e72c3f656dc1
2012-11-01 15:00:32 +00:00
marian eed19ce9a7 Moved listener general config in 'general' section. Allow it to be an udp/tcp/tls listener. Removed 'listener general' section from config.
git-svn-id: http://voip.null.ro/svn/yate@5310 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-29 15:41:51 +00:00
paulc 42de72603f Allow setting custom headers in SIP (de)registration answers.
git-svn-id: http://voip.null.ro/svn/yate@5288 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-02 13:41:31 +00:00
marian b8e9f19e66 Make sure the user data pointer carried by handled message is a CallEndpoint one.
git-svn-id: http://voip.null.ro/svn/yate@5287 acf43c95-373e-0410-b603-e72c3f656dc1
2012-10-01 11:00:30 +00:00
paulc f5230b501c Changed the handling of the "timeout" parameter so it (re)starts when call is answered.
Added "maxcall" and "timeout" setting and handling to channels that lacked it.


git-svn-id: http://voip.null.ro/svn/yate@5282 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-25 09:39:49 +00:00
marian 9fe101f4cd Honor detected method when sending DTMFs.
git-svn-id: http://voip.null.ro/svn/yate@5277 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-20 09:29:28 +00:00
marian 6627caaa08 Override channel dtmf methods in chan.dtmf only if explicitly requested.
git-svn-id: http://voip.null.ro/svn/yate@5276 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-19 14:11:11 +00:00
marian 5893033961 Changed info allowed debug message level. Show it when compiled with xdebug.
git-svn-id: http://voip.null.ro/svn/yate@5266 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-18 11:14:58 +00:00
marian de2b64b26b Allow send dtmf method(s) to be configurable. Detect remote party INFO support from 'Allow' header.
git-svn-id: http://voip.null.ro/svn/yate@5264 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-18 08:40:29 +00:00
marian 4682d3a3da Fixed bug: don't change party when processing inactive events to avoid overriding it with a wrong one. Moved party changed debug message to DebugInfo level.
git-svn-id: http://voip.null.ro/svn/yate@5251 acf43c95-373e-0410-b603-e72c3f656dc1
2012-09-05 10:19:37 +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
oana c14f9e2e31 Added separate setting for activating the SIP flood protection mechanism.
git-svn-id: http://voip.null.ro/svn/yate@5234 acf43c95-373e-0410-b603-e72c3f656dc1
2012-08-20 11:06:06 +00:00