- Apr 29, 2015
-
-
Joshua Colp authored
-
Mark Michelson authored
-
Mark Michelson authored
Odd behaviors have been observed during outbound registrations. The most common problem witnessed has been one where a request with authentication credentials cannot be created after receiving a 401 response. Other behaviors include apparently processing an incorrect SIP response. Inspecting the code led to an apparent issue with regards to how we handle transactions in outbound registration code. When a response to a REGISTER arrives, we save a pointer to the transaction and then push a task onto the registration serializer. Between the time that we save the pointer and push the task, it's possible for the transaction to be destroyed due to a timeout. It's also possible for the address to be reused by the transaction layer for a new transaction. To allow for authentication of a REGISTER request to be authenticated after the transaction has timed out, we now hold a reference to the original REGISTER request instead of the transaction. The function for creating a request with authentication has been altered to take the original request instead of the transaction where the original request was sent. ASTERISK-25020 Reported by Mark Michelson Change-Id: I756c19ab05ada5d0503175db9676acf87c686d0a
-
Joshua Colp authored
Change-Id: Ic8322f04e37842848ad72cf2871bd0378f67c4ac
-
Matt Jordan authored
Merge "chan_pjsip: Creating Channel Causes Asterisk to Crash When Duplicate AOR Sections Exist in pjsip.conf"
-
Matt Jordan authored
* changes: res_pjsip: Remove incorrect MODULEINFO from presence_xml.c. Git Migration: Create doc/rest-api when needed.
-
Matt Jordan authored
-
Corey Farrell authored
Remove incorrect MODULEINFO block and unneeded header includes from presence_xml.c. ASTERISK-25027 Reported by: Corey Farrell Change-Id: I977c609ab9d1fe05373027c4138900f6985990eb
-
Corey Farrell authored
Create the directory './doc/rest-api' at the start of 'make ari-stubs' to prevent an error when documentation is generated. The directory is also added to git ignores. ASTERISK-25027 Reported by: Corey Farrell Change-Id: Iaccc7f0138501c23aa78feaca2f3cce9e68cbc1b
-
Joshua Colp authored
-
Corey Farrell authored
* Add AST_DEVMODE to BUILDOPTS * Use BUILDOPTS to generate AST_BUILDOPT_SUM. * Remove loop that defined AST_MODULE_* These changes ensure that only ABI effecting options are considered for AST_BUILDOPT_SUM. This also reduces unneeded full system rebuilds caused by enabling or disabling one module that another is dependent on. ASTERISK-25028 #close Reported by: Corey Farrell Change-Id: I2c516d93df9f6aaa09ae079a8168c887a6ff93a2
-
Corey Farrell authored
This switches files used to generate other sources to use the new ASTERISK_REGISTER_FILE macro. ASTERISK-25026 #close Reported by: Corey Farrell Change-Id: Ieb2537b83421cad07c8955e5f90c405ccf079740
-
Joshua Colp authored
-
- Apr 28, 2015
-
-
Mark Michelson authored
-
Yousf Ateya authored
Flags are 64 bits. Without LLU suffix the value of 1<<31 is negative. Although it doesn't have an effect on the current implementation, it will be problem if more flags are added. Change-Id: Ic290c81cfbbbf062872392d99d3322932cc49487
-
Ashley Sanders authored
Sections Exist in pjsip.conf This patch modifies the current loading strategy of the pjsip configuration. If duplicate sections (e.g. sections containing the same [id/type]) are defined in [pjsip.conf], the loader will consider the configuration for the given type as invalid when the duplicate section is encountered. The entire configuration (including what was previously loaded) for the duplicate [id/type] sections will be rejected and destroyed, an error message is logged and the load processing for the given stops. ASTERISK-24996 Reported By: Ashley Sanders Change-Id: I35090ca4cd40f1f34881dfe701a329145c347aef
-
Richard Mudgett authored
Change-Id: I51179e2a83937423676da522b766f1126de4059e
-
Mark Michelson authored
When problems occur regarding outbound registrations, it currently is difficult to debug. Most off-nominal paths had warning messages, but sometimes we want to know what's going on before hitting the off-nominal path. This patch adds lots of debugging output that should give a clearer picture of what is happening with regards to outbound registrations. ASTERISK-25020 Reported by Mark Michelson Change-Id: I577bde7860be0a6c872b5bcb4d5047340bf45d45
-
Joshua Colp authored
-
Steve Davies authored
ao2 ref leak in res_rtp_asterisk.c when a DTLS policy is created. The resources are linked into a table, but the original alloc refs are never released. ast_strdup leak in rtp_engine.c. If ast_rtp_dtls_cfg_copy() is called twice on the same destination struct, a pointer to an alloc'd string is overwritten before the string is free'd. ASTERISK-25022 Reported by: one47 Change-Id: I62a8ceb8679709f6c3769136dc6aa9a68202ff9b
-
Joshua Colp authored
-
Matt Jordan authored
-
Rodrigo Ramírez Norambuena authored
Change-Id: I534ea0f22759e3633585dfa9b145b4a284efe67f
-
- Apr 27, 2015
-
-
Corey Farrell authored
* The REF_DEBUG compiler flag no longer has any effect on code that uses Astobj2. It is used to determine if reference debugging is enabled by default. Reference debugging can be enabled or disabled in asterisk.conf. * Caller information is provided in logger errors for ao2 bad magic numbers. * Optimizes AO2 by merging internal functions with the public counterpart. This was possible now that we no longer require a dual ABI. ASTERISK-24974 #close Reported by: Corey Farrell Change-Id: Icf3552721fe999365ba8a8cf00a965aa6b897cc1
-
George Joseph authored
Permanent contacts that hadn't been qualified yet were missing their contact_status entries causing SEGVs when running CLI commands. This patch makes sure that contact_statuses are created for both dynamic and permanent contacts when they are created. It also adds checks in the CLI code to make sure there's a contact_status, just in case. ASTERISK-25018 #close Reported-by: Ivan Poddubny Tested-by: Ivan Poddubny Tested-by: George Joseph Change-Id: I3cc13e5cedcafb24c400368b515b02d7fb81e029
-
Rodrigo Ramírez Norambuena authored
Add new column to INSERT new columns added in cdr 1.8 version. The columns are: * peeraccount * linkedid * sequence This feature is configurable in cdr_odbc.conf using a new configuration option, 'newcdrcolumns'. ASTERISK-24976 #close Change-Id: Ibe0c7540a88305c6012786f438a0813ad8b19127
-
- Apr 26, 2015
-
-
Matt Jordan authored
A typo in commit f8e21a1a resulted in a compilation error in chan_skinny. This patch fixes the typo. ASTERISK-24917 Change-Id: Id7f4ad1fe948eb2408622e80c27936ce4516c33c
-
Matt Jordan authored
-
- Apr 24, 2015
-
-
Matt Jordan authored
-
Matt Jordan authored
-
Kevin Harwell authored
Confbridge dynamic profiles did not have a default profile unless you explicitly used Set(CONFBRIDGE(bridge,template)=default_bridge). If a template was not set prior to the bridge being created then some options were left with no default values set. This patch makes it so the default templates are set to the default bridge and user profiles. ASTERISK-24749 #close Reported by: philippebolduc Change-Id: I1bd6e94b38701ac2112d842db68de63d46f60e0a
-
Joshua Colp authored
-
Joshua Colp authored
-
Olle E. Johansson authored
Change-Id: I8f3d0a6c3f1075a1f7d8308593394611a96749de
-
Mark Michelson authored
The way PJSIP generates an authenticated request is to use a previous request as a template. This means that the authenticated request will have the same Call-ID, From header (including tag), and CSeq as the original request. PJSIP generates a new branch on the Via header to indicate that this is a new transaction, though. There are some SIP implementations, though, that do not notice the change in the branch and therefore will match the authed request to the original request's transaction. Since the CSeq is the same, the server will repeat the response it sent to the original request. This patch aids interoperability by increasing the CSeq of the authed request by one. ASTERISK-24845 #close Reported by: Carl Fortin Tested by: Carl Fortin Change-Id: I39c4ca52e688a9f83bcc1878371334becdc5be01
-
Diederik de Groot authored
clang can warn about a so called tautological-compare, when it finds comparisons which are logically always true, and are therefor deemed unnecessary. Exanple: unsigned int x = 4; if (x > 0) // x is always going to be bigger than 0 Enum Case: Each enumeration is its own type. Enums are an integer type but they do not have to be *signed*. C leaves it up to the compiler as an implementation option what to consider the integer type of a particu- lar enumeration is. Gcc treats an enum without negative values as an int while clang treats this enum as an unsigned int. rmudgett & mmichelson: cast the enum to (unsigned int) in assert. The cast does have an effect. For gcc, which seems to treat all enums as int, the cast to unsigned int will eliminate the possibility of negative values being allowed. For clang, which seems to treat enums without any negative members as unsigned int, the cast will have no effect. If for some reason in the future a negative value is ever added to the enum the assert will still catch the negative value. ASTERISK-24917 Change-Id: Ief23ef68916192b9b72dabe702b543ecfeca0b62
-
Diederik de Groot authored
- Added Pre-amble (Options / Flags / Usage Example / GNU License) - Extended Configurability - Made Executable ASTERISK-24917 Change-Id: I70405fe54e4be7dbfbcb62e291690069b88617a8
-
Matt Jordan authored
-
- Apr 23, 2015
-
-
Mark Michelson authored
-
Mark Michelson authored
When Asterisk originates a channel to an application, the channel is hung up once the application finishes executing. When the application in question is SendFax, the Asterisk PJSIP code will attempt to reinvite the T.38 session to audio after the FAX completes. The hangup of the channel happens in the midst of this reinvite transaction. In most circumstances, this works out okay because the BYE is delayed until the reinvite transaction can complete. However, if the reinvite that Asterisk sends receives a 401/407 response, then Asterisk's attempt to re-send the reinvite with authentication will fail. This is because the session supplement in res_pjsip_t38 makes the assumption that the channel on the session will always be non-NULL. Since the channel has been hung up, though, the channel is now NULL. Attempting to operate on the channel causes a crash. This patch fixes the issue by ensuring that the channel on the session is not NULL before attempting to mess with the T.38 framehook. This patch also contains some corrections for comments that were incorrect and really confused me when I first started looking at the code. ASTERISK-25004 #close Reported by Mark Michelson Change-Id: Ic5a1230668369dda4bb13524098aed9306ab45a0
-