ChangeLog 1.4 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582
  1. 2014-06-13 Asterisk Development Team <asteriskteam@digium.com>
  2. * Asterisk 12.3.2 Released.
  3. * AST-2014-007: Fix of fix to allow AMI and SIP TCP to send messages.
  4. The original fix for AST-2014-007 inadvertently introduced a
  5. regression in Asterisk's TCP and TLS handling that prevented
  6. Asterisk from sending data over these transports. This patch fixes
  7. that regression.
  8. 2014-06-12 Asterisk Development Team <asteriskteam@digium.com>
  9. * Asterisk 12.3.1 Released.
  10. * AST-2014-005 res_pjsip_pubsub: unauthenticated remote crash in PJSIP
  11. pub/sub framework
  12. A remotely exploitable crash vulnerability exists in the PJSIP channel
  13. driver's pub/sub framework. If an attempt is made to unsubscribe when
  14. not currently subscribed and the endpoint's "sub_min_expiry" is set
  15. to zero, Asterisk tries to create an expiration timer with zero
  16. seconds, which is not allowed, so an assertion raised.
  17. The fix was to reject a subscription that is attempting to
  18. unsubscribe when not being already subscribed. Asterisk now checks
  19. for this situation appropriately and responds with a 400 instead of
  20. crashing.
  21. ASTERISK-23489 #close
  22. * AST-2014-006: Add class authorization requirements to MixMonitor AMI
  23. commands
  24. MixMonitor AMI commands StartMixMonitor and StopMixMonitor lacked
  25. class authorization. StopMixMonitor now requires that the manager
  26. user either have the call or system class authorization.
  27. StartMixMonitor is a slightly larger issue since it can execute shell
  28. commands if the right arguments are passed into it, and we consider
  29. this a permission escalation.
  30. ASTERISK-23609 #close
  31. Reported by: Corey Farrell
  32. * AST-2014-007: Fix DOS by consuming the number of allowed HTTP
  33. connections.
  34. Simply establishing a TCP connection and never sending anything to
  35. the configured HTTP port in http.conf will tie up a HTTP connection.
  36. Since there is a maximum number of open HTTP sessions allowed at a
  37. time you can block legitimate connections.
  38. A similar problem exists if a HTTP request is started but never
  39. finished.
  40. * Added http.conf session_inactivity timer option to close HTTP
  41. connections that aren't doing anything. Defaults to 30000 ms.
  42. * Removed the undocumented manager.conf block-sockets option. It
  43. interferes with TCP/TLS inactivity timeouts.
  44. * AMI and SIP TLS connections now have better authentication timeout
  45. protection. Though I didn't remove the bizzare TLS timeout polling
  46. code from chan_sip.
  47. * chan_sip can now handle SSL certificate renegotiations in the
  48. middle of a session. It couldn't do that before because the socket
  49. was non-blocking and the SSL calls were not restarted as documented
  50. by the OpenSSL documentation.
  51. * Fixed an off nominal leak of the ssl struct in
  52. handle_tcptls_connection() if the FILE stream failed to open and
  53. the SSL certificate negotiations failed.
  54. The patch creates a custom FILE stream handler to give the created FILE
  55. streams inactivity timeout and timeout after a specific moment in time
  56. capability. This approach eliminates the need for code using the FILE
  57. stream to be redesigned to deal with the timeouts.
  58. This patch indirectly fixes most of ASTERISK-18345 by fixing the usage
  59. of the SSL_read/SSL_write operations.
  60. ASTERISK-23673 #close
  61. Reported by: Richard Mudgett
  62. * AST-2014-008: Fix potential deadlock situation in res_pjsip.
  63. SIP transaction timeouts are handled in the PJSIP monitor thread.
  64. When this happens on a subscription, and the subscription is
  65. destroyed, the subscription destruction is dispatched synchronously
  66. to the threadpool.
  67. The issue is that the PJSIP dialog is locked by the monitor thread,
  68. and then the dispatched task attempts to lock the dialog. This leads
  69. to a deadlock that causes SIP traffic to no longer be accepted on the
  70. Asterisk server.
  71. The fix here is to treat the monitor thread as if it were a
  72. threadpool thread when it attempts to dispatch synchronous tasks.
  73. This way, the dispatched task turns into a simple function call within
  74. the same thread, and the locking issue is averted.
  75. ASTERISK-23802 #close
  76. 2014-05-29 Asterisk Development Team <asteriskteam@digium.com>
  77. * Asterisk 12.3.0 Released.
  78. 2014-05-28 Asterisk Development Team <asteriskteam@digium.com>
  79. * Asterisk 12.3.0-rc2 Released.
  80. * test_cel: Fix unit tests broken due to event def changes from
  81. res_corosync
  82. This patch instructs test_cel to skip any IE types it doesn't
  83. care about. The addition of the raw and bitfield types caused
  84. the tests to fail.
  85. * res_pjsip_session: Fix leaked video RTP ports.
  86. Simply enabling PJSIP to negotiage a video codec (e.g., h264)
  87. would leak video RTP ports if the codec were not negotiated by
  88. an incoming call.
  89. - Made add_sdp_streams() associate the handler with the media
  90. stream if the handler handled the media stream. Otherwise,
  91. when the ast_sip_session_media object was destroyed it didn't
  92. know how to clean up the RTP resources.
  93. - Fixed sdp_requires_deferral() associating the handler with the
  94. media stream when deciding if the SDP processing needs to be
  95. deferred for T.38. Like the leaked video RTP ports, the T.38
  96. handler needs to clean up allocated resources from deciding if
  97. SDP processing needs to be deffered.
  98. - Cleaned up some dead code in handle_incoming_sdp() and
  99. sdp_requires_deferral().
  100. ASTERISK-23721 #close
  101. Reported by: cervajs
  102. * ast-db-manage/cdr/env.py: Don't fail if a config file can't be
  103. loaded
  104. When generating SQL files via the repotools alembic_creator.py
  105. script, a configuration object is used programatically with
  106. SQLAlechemy, as opposed to a configuration file. This patch
  107. ignores failures to interpret a config file, as ... there isn't
  108. one in this case.
  109. * AMI/ARI: Update version numbers
  110. Update the semantic versioning of ARI to 1.3.0 and AMI to 2.3.0
  111. to account for backwards compatible changes going from 12.2.0
  112. to 12.3.0.
  113. 2014-05-22 Asterisk Development Team <asteriskteam@digium.com>
  114. * Asterisk 12.3.0-rc1 Released.
  115. 2014-05-22 16:08 +0000 [r414405] Scott Griepentrog <sgriepentrog@digium.com>
  116. * main/stasis_channels.c, res/res_stasis.c,
  117. main/manager_channels.c, main/stasis_endpoints.c,
  118. rest-api/api-docs/events.json, res/stasis/app.c,
  119. res/ari/resource_events.c, include/asterisk/stasis_app.h,
  120. include/asterisk/stasis.h, apps/app_userevent.c,
  121. res/ari/resource_events.h, res/ari/ari_model_validators.c,
  122. CHANGES, main/stasis.c, res/ari/ari_model_validators.h,
  123. include/asterisk/stasis_channels.h, res/res_ari_events.c: ARI:
  124. Add ability to raise arbitrary User Events User events can now be
  125. generated from ARI. Events can be signalled with arbitrary json
  126. variables, and include one or more of channel, bridge, or
  127. endpoint snapshots. An application must be specified which will
  128. receive the event message (other applications can subscribe to
  129. it). The message will also be delivered via AMI provided a
  130. channel is attached. Dialplan generated user event messages are
  131. still transmitted via the channel, and will only be received by a
  132. stasis application they are attached to or if the channel is
  133. subscribed to. This change also introduces the multi object blob
  134. mechanism used to send multiple snapshot types in a single
  135. message. The dialplan app UserEvent was also changed to use multi
  136. object blob, and a new stasis message type created to handle
  137. them. ASTERISK-22697 #close Review:
  138. https://reviewboard.asterisk.org/r/3494/
  139. 2014-05-22 16:00 +0000 [r414404] Richard Mudgett <rmudgett@digium.com>
  140. * /, apps/app_meetme.c: app_meetme: Don't interrupt MOH for
  141. waitmarked users. Occasionally, when the last marked user leaves
  142. the conference, waitmarked users don't get MOH if MOH is supposed
  143. to be played while a waitmarked user is waiting for another
  144. marked user. * Made not interrupt MOH when the user is a
  145. waitmarked user. The waitmarked user doesn't need to hear any
  146. leave announcements from the conference as the user would have
  147. already heard different leave announcements if they were enabled.
  148. Apparently DAHDI occasionally sends unending non-silent streams
  149. to these users or a normal user still in the conference has
  150. continuous high background noise. These non-silent streams cause
  151. MOH to be suspended while the never ending "announcement" is
  152. played. Issue caused by ASTERISK-13680. AST-1349 #close Reported
  153. by: Tyler Stewart Review:
  154. https://reviewboard.asterisk.org/r/3543/ ........ Merged
  155. revisions 414401 from
  156. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  157. revisions 414402 from
  158. http://svn.asterisk.org/svn/asterisk/branches/11
  159. 2014-05-22 15:44 +0000 [r414400] Jonathan Rose <jrose@digium.com>
  160. * channels/chan_sip.c, main/parking.c, main/bridge.c,
  161. main/bridge_basic.c, res/parking/parking_applications.c,
  162. include/asterisk/parking.h, include/asterisk/bridge.h,
  163. res/parking/parking_bridge_features.c, channels/chan_mgcp.c,
  164. res/res_pjsip_refer.c, channels/chan_dahdi.c,
  165. channels/sig_analog.c: res_pjsip_refer: Fix bugs involving
  166. Parking/PJSIP/transfers PJSIP would never send the final 200
  167. Notify for a blind transfer when transferring to parking. This
  168. patch fixes that. In addition, it fixes a reference leak when
  169. performing blind transfers to non-bridging extensions. Review:
  170. https://reviewboard.asterisk.org/r/3485/
  171. 2014-05-22 14:01 +0000 [r414330-414347] Matthew Jordan <mjordan@digium.com>
  172. * /, UPGRADE.txt: UPGRADE: Add note for REF_DEBUG flag ........
  173. Merged revisions 414345 from
  174. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  175. revisions 414346 from
  176. http://svn.asterisk.org/svn/asterisk/branches/11
  177. * main/event.c, main/stasis.c, include/asterisk/devicestate.h,
  178. include/asterisk/event.h, main/stasis_message.c,
  179. include/asterisk/event_defs.h, res/res_corosync.c,
  180. include/asterisk/stasis.h, main/app.c, main/devicestate.c:
  181. res_corosync: Update module to work with Stasis (and compile)
  182. This patch fixes res_corosync such that it works with Asterisk
  183. 12. This restores the functionality that was present in previous
  184. versions of Asterisk, and ensures compatibility with those
  185. versions by restoring the binary message format needed to pass
  186. information from/to them. The following changes were made in the
  187. core to support this: * The event system has been partially
  188. restored. All event definition and event types in this patch were
  189. pulled from Asterisk 11. Previously, we had hoped that this
  190. information would live in res_corosync; however, the approach in
  191. this patch seems to be better for a few reasons: (1)
  192. Theoretically, ast_events can be used by any module as a binary
  193. representation of a Stasis message. Given the structure of an
  194. ast_event object, that information has to live in the core to be
  195. used universally. For example, defining the payload of a device
  196. state ast_event in res_corosync could result in an incompatible
  197. device state representation in another module. (2) Much of this
  198. representation already lived in the core, and was not easily
  199. extensible. (3) The code already existed. :-) * Stasis message
  200. types now have a message formatter that converts their payload to
  201. an ast_event object. * Stasis message forwarders now handle
  202. forwarding to themselves. Previously this would result in an
  203. infinite recursive call. Now, this simply creates a new
  204. forwarding object with no forwards set up (as it is the thing it
  205. is forwarding to). This is advantageous for res_corosync, as
  206. returning NULL would also imply an unrecoverable error. Returning
  207. a subscription in this case allows for easier handling of message
  208. types that are published directly to an aggregate topic that has
  209. forwarders. Review: https://reviewboard.asterisk.org/r/3486/
  210. ASTERISK-22912 #close ASTERISK-22372 #close
  211. 2014-05-21 22:17 +0000 [r414272] Richard Mudgett <rmudgett@digium.com>
  212. * /, main/core_unreal.c: core_unreal: Only block media frames when
  213. a generator is on both ends of an unreal channel. The fix for
  214. ASTERISK-12292 was a bit too aggressive. You could have
  215. generators pointed at each other on local channels but need to
  216. get other kinds of frames such as DTMF or CONNECTED_LINE frames
  217. accross. ........ Merged revisions 414269 from
  218. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  219. revisions 414270 from
  220. http://svn.asterisk.org/svn/asterisk/branches/11
  221. 2014-05-21 19:07 +0000 [r414216] Scott Griepentrog <sgriepentrog@digium.com>
  222. * /, funcs/func_strings.c: pbx.c: prevent potential crash from
  223. recursive replace() Recurisve usage of replace() resulted in
  224. corruption of the temporary string storage and potential crash.
  225. By changing the string to be allocated separtely per instance,
  226. this is eliminated. ASTERISK-23650 #comment Reported by: Roel van
  227. Meer ASTEIRSK-23650 #close Review:
  228. https://reviewboard.asterisk.org/r/3539/ ........ Merged
  229. revisions 414214 from
  230. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  231. revisions 414215 from
  232. http://svn.asterisk.org/svn/asterisk/branches/11
  233. 2014-05-19 19:50 +0000 [r414195] Paul Belanger <paul.belanger@polybeacon.com>
  234. * res/res_stasis_answer.c: Replace __ast_answer with ast_raw_answer
  235. in app_control_answer While load testing an ARI application, I
  236. noticed asterisk was returning HTTP 500 internal server errors on
  237. channels/:id/answer. After talking to #asterisk-dev, the issue
  238. appeared to be a lack of media flowing after __ast_answer() was
  239. called. So now, we call ast_raw_answer instead and no longer wait
  240. for media. ASTERISK-23758 #close Review:
  241. https://reviewboard.asterisk.org/r/3549/
  242. 2014-05-19 13:46 +0000 [r414154] Alexandr Anikin <may@telecom-service.ru>
  243. * addons/chan_ooh323.c, /: chan_ooh323: fix h323_log full path name
  244. * fix to use astlogdir option for h323_log file instead of
  245. hardcoded ASTERISK-23754 #close Reported by: Igor Goncharovsky
  246. Patches: ooh323_logger_patch.diff ........ Merged revisions
  247. 414152 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  248. ........ Merged revisions 414153 from
  249. http://svn.asterisk.org/svn/asterisk/branches/11
  250. 2014-05-19 01:09 +0000 [r414122-414137] Matthew Jordan <mjordan@digium.com>
  251. * main/framehook.c, include/asterisk/channel.h,
  252. bridges/bridge_native_rtp.c, main/bridge_channel.c,
  253. res/res_pjsip_refer.c, res/res_pjsip_session.c, main/channel.c:
  254. Undo r414122 The Test Suite caught a few problems, undoing until
  255. those are resolved
  256. * include/asterisk/channel.h, bridges/bridge_native_rtp.c,
  257. main/bridge_channel.c, res/res_pjsip_session.c, main/channel.c,
  258. main/framehook.c: bridge_native_rtp/bridge_channel: Fix direct
  259. media issues due to frame hook This patch fixes issues with
  260. direct media bridges that occur after a blind transfer. These
  261. issues were caught by the (currently failing)
  262. pjsip/transfers/blind_transfer/caller_direct_media test. The test
  263. currently fails primarily for two reasons: (1) When Bob and
  264. Charlie (the transfer target and the transfer destination) enter
  265. a bridge together, the framehook remains on the transfer target
  266. channel until both channels are in the bridge. As it consumes
  267. voice frames, the initial bridge type is a simple bridge. The
  268. framehook is removed when both channels are in the bridge;
  269. however, this does not currently cause the bridging framework to
  270. re-evaluate the bridge. This patch adds a AST_SOFTHANGUP_UNBRIDGE
  271. poke to the transfer target channel when a framehook is removed
  272. so the bridge can re-evaluate itself. (2) When a channel leaves a
  273. native RTP bridge, it may be leaving due to being hung up.
  274. Sending a re-INVITE to a channel that is about to be hung up is
  275. not nice - in fact, there's a good chance we'll send the BYE
  276. request before the channel has had a chance to send back a 200
  277. OK. To be somewhat nicer, this patch adds a function to channel.h
  278. that allows the bridging framework to query for exactly why a
  279. channel is leaving a bridge via the channel's soft hangup flags.
  280. This allows it to only send the re-INVITE if there's a chance the
  281. channel will survive the native bridging experience. Review:
  282. https://reviewboard.asterisk.org/r/3535/
  283. 2014-05-16 20:05 +0000 [r413993-414069] Richard Mudgett <rmudgett@digium.com>
  284. * /, channels/chan_dahdi.c: chan_dahdi: Fix analog dialtone
  285. detection. * Check if waitingfordt (waitfordialtone) is enabled
  286. in dahdi_read() to allow the DSP to operate early enough to
  287. detect dialtone. * Made use the correct variable in
  288. my_check_waitingfordt(). ASTERISK-23709 #close Reported by: Steve
  289. Davies Patches: dialtone_detect_fix (license #5012) patch
  290. uploaded by Steve Davies Review:
  291. https://reviewboard.asterisk.org/r/3534/ ........ Merged
  292. revisions 414067 from
  293. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  294. revisions 414068 from
  295. http://svn.asterisk.org/svn/asterisk/branches/11
  296. * /, channels/sig_pri.c: sig_pri.c: Pull the pri_dchannel()
  297. PRI_EVENT_RING case into its own function. * Populate the
  298. CALLERID(ani2) value (and the special CALLINGANI2 channel
  299. variable) with the ANI2 value in addition to the PRI specific
  300. ANI2 channel variable. * Made complete snapshot staging with the
  301. channel lock held. All channel snapshots need to be done while
  302. the channel lock is held. ........ Merged revisions 414050 from
  303. http://svn.asterisk.org/svn/asterisk/branches/11
  304. * /, apps/app_meetme.c: app_meetme: Fix overwrite of DAHDI
  305. conference data structure. Starting a conference recording using
  306. the admin menu overwrites the DAHDI conference data structure
  307. used to modify the admin user's conference mute mode. * Made no
  308. longer pass the user's DAHDI conference data structure into the
  309. menu functions. The menu now uses its own DAHDI conference data
  310. structure to start the recording channel. * Moved the unlock
  311. conf->playlock to before playing the conf-full message. No sense
  312. keeping the lock while that prompt is playing. The user is never
  313. going to get into the conference at that point. ........ Merged
  314. revisions 413991 from
  315. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  316. revisions 413992 from
  317. http://svn.asterisk.org/svn/asterisk/branches/11
  318. 2014-05-14 15:39 +0000 [r413896] Walter Doekes <walter+asterisk@wjd.nu>
  319. * res/res_musiconhold.c, /: res_musiconhold: Minor cleanup. Fix a
  320. few free()'s that should be ast_free()'s. Reverted an old
  321. workaround that isn't necessary. Reorder a tiny bit of code.
  322. Remove a bit of commented-out code. Review:
  323. https://reviewboard.asterisk.org/r/3536/ ........ Merged
  324. revisions 413894 from
  325. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  326. revisions 413895 from
  327. http://svn.asterisk.org/svn/asterisk/branches/11
  328. 2014-05-13 18:01 +0000 [r413877] Jonathan Rose <jrose@digium.com>
  329. * main/netsock2.c, /, channels/chan_sip.c,
  330. include/asterisk/netsock2.h: chan_sip: Add TLS and SRTP status to
  331. CLI command 'sip show channel' ASTERISK-23564 #close Reported by:
  332. Patrick Laimbock Review: https://reviewboard.asterisk.org/r/3474/
  333. ........ Merged revisions 413876 from
  334. http://svn.asterisk.org/svn/asterisk/branches/11
  335. 2014-05-13 13:52 +0000 [r413789-413792] Walter Doekes <walter+asterisk@wjd.nu>
  336. * res/res_format_attr_h264.c, /: h264: Fix H264 SDP payload format.
  337. https://tools.ietf.org/html/rfc3984#section-8.1 says
  338. profile-level-id takes 3 bytes in base16 (6 hex digits). This
  339. fixes video setup in certain cases. ASTERISK-23664 #close
  340. ASTERISK-23664 #comment Patch r3530.patch uploaded by Guillaume
  341. Maudoux. Review: https://reviewboard.asterisk.org/r/3530/
  342. ........ Merged revisions 413791 from
  343. http://svn.asterisk.org/svn/asterisk/branches/11
  344. * main/rtp_engine.c, /: rtp: Fix case typo in H263+ mime.
  345. http://tools.ietf.org/html/rfc3555#section-4.2.6 says the
  346. canonical mime subtype is "H263-1998", not "h263-1998". Original
  347. code was added in r183101 on 2009-03-19 02:26:50 +0100. This
  348. fixes issues with Polycom phones. ASTERISK-23665 #close
  349. ASTERISK-23665 #comment Patch r3529.patch uploaded by Guillaume
  350. Maudoux, backported by me. Review:
  351. https://reviewboard.asterisk.org/r/3529/ ........ Merged
  352. revisions 413787 from
  353. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  354. revisions 413788 from
  355. http://svn.asterisk.org/svn/asterisk/branches/11
  356. 2014-05-13 00:25 +0000 [r413766-413771] Richard Mudgett <rmudgett@digium.com>
  357. * /, configure, include/asterisk/autoconfig.h.in, configure.ac,
  358. channels/sig_pri.c: chan_dahdi/sig_pri: Prevent unnecessary
  359. PROGRESS events when overlap dialing is enabled. When overlap
  360. dialing is enabled, the lack of inband audio available
  361. information in the SETUP_ACKNOWLEDGE events causes an
  362. interoperability problem with SIP. sig_pri doesn't know if there
  363. is dialtone present when a SETUP_ACKNOWLEDGE is received so it
  364. assumes it is there and posts an AST_CONTROL_PROGRESS frame. The
  365. SIP channel driver then sends out a 183 Session Progress and
  366. blocks the desired 180 Ringing message when the ALERTING message
  367. comes in. * Made the configure script detect if the installed
  368. version of libpri supports the SETUP_ACKNOWLEDGE enhancements. *
  369. Using the new API, made generate an AST_CONTROL_PROGRESS frame on
  370. an incoming SETUP_ACKNOWLEDGE message when the message indicates
  371. inband audio is present instead of assuming that dialtone is
  372. present. * Using the new API, made SETUP_ACKNOWLEDGE send out an
  373. inband audio available indication only if dialtone is expected.
  374. The change also makes the fallback behaviour of sending the
  375. PROGRESS message better by sending it only if dialtone is
  376. expected. * Changed receiving a PROCEEDING message to not
  377. generate an AST_CONTROL_PROGRESS frame if the progress indication
  378. ie indicates non-end-to-end-ISDN. This helps interoperability
  379. with SIP. * Changed sending a PROCEEDING message in response to
  380. an AST_CONTROL_PROCEEDING frame to not indicate inband audio
  381. available. It was silly to do so anyway because the channel
  382. driver doesn't know if inband audio is even available. This helps
  383. interoperability with SIP. This patch and a corresponding change
  384. in libpri work together to allow Asterisk to control the inband
  385. audio available progress indication ie on the SETUP_ACKNOWLEDGE
  386. message when dialtone is present. AST-1338 #close Reported by:
  387. Tyler Stewart Review: https://reviewboard.asterisk.org/r/3521/
  388. ........ Merged revisions 413714 from
  389. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  390. revisions 413765 from
  391. http://svn.asterisk.org/svn/asterisk/branches/11
  392. * channels/sig_pri.c: Fix compiler warning from GCC 4.10 fixup.
  393. 2014-05-12 22:23 +0000 [r413712] Jonathan Rose <jrose@digium.com>
  394. * /, apps/app_chanspy.c: app_chanspy: Fix a test that was failing
  395. on account of r413551 ASTERISK-23381 #close ASTERISK-23381
  396. #comment Reported by: Robert Moss Review:
  397. https://reviewboard.asterisk.org/r/3505/ ........ Merged
  398. revisions 413710 from
  399. http://svn.asterisk.org/svn/asterisk/branches/11
  400. 2014-05-11 02:05 +0000 [r413650-413681] Joshua Colp <jcolp@digium.com>
  401. * include/asterisk/channel.h, bridges/bridge_native_rtp.c,
  402. include/asterisk/framehook.h, main/channel.c, main/framehook.c,
  403. main/bridge_basic.c: framehooks: Add callback for determining if
  404. a hook is consuming frames of a specific type. In the past
  405. framehooks have had no capability to determine what frame types a
  406. hook is actually interested in consuming. This has meant that
  407. code has had to assume they want all frames, thus preventing
  408. native bridging. This change adds a callback which allows a
  409. framehook to be queried for whether it is consuming a frame of a
  410. specific type. The native RTP bridging module has also been
  411. updated to take advantange of this, allowing native bridging to
  412. occur when previously it would not. ASTERISK-23497 #comment
  413. Reported by: Etienne Lessard ASTERISK-23497 #close Review:
  414. https://reviewboard.asterisk.org/r/3522/
  415. * main/framehook.c, main/bridge_basic.c,
  416. include/asterisk/channel.h, bridges/bridge_native_rtp.c,
  417. include/asterisk/framehook.h, main/channel.c: Undoing framehook
  418. support. Issues were uncovered by Bamboo.
  419. * include/asterisk/channel.h, bridges/bridge_native_rtp.c,
  420. include/asterisk/framehook.h, main/channel.c, main/framehook.c,
  421. main/bridge_basic.c: framehooks: Add callback for determining if
  422. a hook is consuming frames of a specific type. In the past
  423. framehooks have had no capability to determine what frame types a
  424. hook is actually interested in consuming. This has meant that
  425. code has had to assume they want all frames, thus preventing
  426. native bridging. This change adds a callback which allows a
  427. framehook to be queried for whether it is consuming a frame of a
  428. specific type. The native RTP bridging module has also been
  429. updated to take advantange of this, allowing native bridging to
  430. occur when previously it would not. ASTERISK-23497 #comment
  431. Reported by: Etienne Lessard ASTERISK-23497 #close Review:
  432. https://reviewboard.asterisk.org/r/3522/
  433. 2014-05-09 23:13 +0000 [r413588-413597] Kinsey Moore <kmoore@digium.com>
  434. * /, funcs/func_env.c: Fix 32bit build for func_env ........ Merged
  435. revisions 413592 from
  436. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  437. revisions 413595 from
  438. http://svn.asterisk.org/svn/asterisk/branches/11
  439. * main/slinfactory.c, main/core_unreal.c, main/acl.c,
  440. res/res_pjsip_t38.c, channels/sig_pri.c, channels/chan_jingle.c,
  441. channels/chan_dahdi.c, channels/sig_analog.c,
  442. include/asterisk/astobj.h, res/res_corosync.c,
  443. res/res_stun_monitor.c, apps/app_sms.c, main/audiohook.c,
  444. pbx/pbx_config.c, channels/iax2/firmware.c, apps/app_adsiprog.c,
  445. channels/chan_sip.c, funcs/func_sysinfo.c, main/utils.c,
  446. res/res_format_attr_h263.c, res/res_jabber.c,
  447. res/res_http_websocket.c, res/res_pktccops.c, res/res_monitor.c,
  448. main/file.c, res/res_pjsip/pjsip_configuration.c, main/adsi.c,
  449. channels/sip/include/sip.h, cel/cel_pgsql.c, main/pbx.c,
  450. res/res_calendar_icalendar.c, res/res_crypto.c, main/aoc.c,
  451. channels/chan_gtalk.c, main/netsock.c, res/res_ari_model.c,
  452. res/res_config_odbc.c, res/res_pjsip_outbound_registration.c,
  453. main/event.c, funcs/func_iconv.c, apps/app_stack.c,
  454. res/res_calendar.c, res/res_sorcery_config.c, main/frame.c,
  455. main/parking.c, res/res_format_attr_h264.c, channels/chan_iax2.c,
  456. apps/confbridge/conf_config_parser.c, funcs/func_hangupcause.c,
  457. main/manager.c, formats/format_pcm.c, funcs/func_srv.c,
  458. res/res_format_attr_silk.c, main/asterisk.c, main/xmldoc.c,
  459. res/res_rtp_asterisk.c, main/format.c, main/ccss.c,
  460. res/res_calendar_caldav.c, main/enum.c, main/config.c,
  461. res/res_srtp.c, main/loader.c,
  462. channels/pjsip/dialplan_functions.c, funcs/func_channel.c,
  463. main/bucket.c, main/abstract_jb.c, res/res_stasis_recording.c,
  464. apps/app_verbose.c, main/dsp.c, apps/app_voicemail.c,
  465. main/stun.c, main/security_events.c, apps/app_festival.c,
  466. res/res_timing_dahdi.c, main/devicestate.c, res/res_xmpp.c,
  467. apps/app_getcpeid.c, main/cli.c, res/res_format_attr_celt.c,
  468. main/manager_bridges.c, cel/cel_odbc.c, channels/chan_skinny.c,
  469. funcs/func_frame_trace.c, main/callerid.c, pbx/pbx_dundi.c,
  470. res/res_pjsip_pubsub.c, res/res_fax_spandsp.c,
  471. channels/chan_mgcp.c, res/res_stasis_playback.c, /,
  472. main/translate.c, cdr/cdr_adaptive_odbc.c, res/res_musiconhold.c,
  473. pbx/dundi-parser.c, apps/app_queue.c, res/res_calendar_ews.c,
  474. channels/iax2/parser.c, main/io.c, channels/chan_phone.c,
  475. res/res_agi.c, channels/chan_motif.c, apps/app_minivm.c,
  476. apps/app_dumpchan.c, main/logger.c, apps/app_confbridge.c,
  477. channels/sip/config_parser.c, res/res_odbc.c,
  478. main/manager_channels.c, main/udptl.c, apps/app_dial.c,
  479. res/res_fax.c, funcs/func_env.c, bridges/bridge_softmix.c,
  480. main/taskprocessor.c, res/res_stasis_snoop.c,
  481. res/res_format_attr_opus.c, res/ael/pval.c, main/channel.c,
  482. main/cdr.c, main/data.c, res/res_pjsip/location.c,
  483. main/config_options.c, main/app.c, channels/chan_alsa.c,
  484. main/stdtime/localtime.c, main/bridge_channel.c,
  485. res/res_pjsip_registrar.c, main/sched.c, channels/chan_unistim.c,
  486. main/rtp_engine.c: Allow Asterisk to compile under GCC 4.10 This
  487. resolves a large number of compiler warnings from GCC 4.10 which
  488. cause the build to fail under dev mode. The vast majority are
  489. signed/unsigned mismatches in printf-style format strings.
  490. ........ Merged revisions 413586 from
  491. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  492. revisions 413587 from
  493. http://svn.asterisk.org/svn/asterisk/branches/11
  494. 2014-05-09 16:35 +0000 [r413556] Jonathan Rose <jrose@digium.com>
  495. * apps/app_chanspy.c, /: app_chanspy: Fix a bug where Barge mode
  496. could fail If the barge audiohook was attached prior to the spyee
  497. and its peer actually being bridged, the audiohook would not be
  498. applied and the connected peer would not be able to hear audio
  499. from the spy when the spy is in barge mode. (closes issue
  500. ASTERISK-23381) Reported by: Robert Moss Review:
  501. https://reviewboard.asterisk.org/r/3505/ ........ Merged
  502. revisions 413551 from
  503. http://svn.asterisk.org/svn/asterisk/branches/11
  504. 2014-05-08 00:35 +0000 [r413487] Joshua Colp <jcolp@digium.com>
  505. * apps/app_queue.c, main/manager.c, /: app_queue: Extend
  506. documentation for various Manager actions and events. ........
  507. Merged revisions 413485 from
  508. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  509. revisions 413486 from
  510. http://svn.asterisk.org/svn/asterisk/branches/11
  511. 2014-05-07 20:58 +0000 [r413452-413454] Richard Mudgett <rmudgett@digium.com>
  512. * apps/app_confbridge.c: app_confbridge: Fixed "CBAnn" channels not
  513. going away. Fixed a ref leak in conf_handle_talker_cb() everytime
  514. the conference bridge was found to report a channel's talker
  515. status change. The resulting leak caused the "CBAnn" channels and
  516. the conference bridge to never be destroyed. Thanks to Richard
  517. Kenner on the asterisk-user's list for locating the problem.
  518. Reported by: Richard Kenner
  519. * /, apps/app_confbridge.c: app_confbridge: Fix ref leak in CLI
  520. "confbridge kick" command. Fixed ref leak in the CLI "confbridge
  521. kick" command when the channel to be kicked was not in the
  522. conference. ........ Merged revisions 413451 from
  523. http://svn.asterisk.org/svn/asterisk/branches/11
  524. 2014-05-07 17:50 +0000 [r413306-413398] Mark Michelson <mmichelson@digium.com>
  525. * res/res_config_odbc.c, /: Fix encoding of custom prepare extra
  526. data. Patches: res_config_odbc-take2.patch by John Hardin
  527. (License #6512) ........ Merged revisions 413396 from
  528. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  529. revisions 413397 from
  530. http://svn.asterisk.org/svn/asterisk/branches/11
  531. * res/res_pjsip/presence_xml.c,
  532. res/res_pjsip_pidf_digium_body_supplement.c: Improve XML
  533. sanitization in NOTIFYs, especially for presence subtypes and
  534. messages. Embedded carriage return line feed combinations may
  535. appear in presence subtypes and messages since they may be
  536. derived from user input in an instant messenger client. As such,
  537. they need to be properly escaped so that XML parsers do not vomit
  538. when the messages are received.
  539. * res/res_pjsip_registrar.c: Check for an act on failures to update
  540. contacts during registration. There was an underlying issue in a
  541. realtime backend where database updates would fail. Since we were
  542. not checking for failure, we would end up in a strange state
  543. where the old database entry was still present but Asterisk
  544. thought that it had been updated. Now when an entry fails to
  545. update, we print a warning and delete the old contact from
  546. sorcery so there is no mismatch between foreground and backend
  547. state. Patches: res_pjsip_registrar.patch by John Hardin (License
  548. #6512)
  549. * res/res_config_odbc.c, /: Ensure that all parts of SQL UPDATEs
  550. and DELETEs are encoded. Patches: res_config_odbc.patch by John
  551. Hardin (License #6512) ........ Merged revisions 413304 from
  552. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  553. revisions 413305 from
  554. http://svn.asterisk.org/svn/asterisk/branches/11
  555. 2014-05-02 20:35 +0000 [r413226-413282] Mark Michelson <mmichelson@digium.com>
  556. * res/res_config_odbc.c: Correct variable traversal logic in
  557. res_config_odbc's update_odbc function. Closes issue
  558. ASTERISK-23675 Reported by Leando Dardini Patches:
  559. asterisk-23675-odbc-linkedlist-traversal_12.diff uploaded by
  560. Michael L. Young (license #5026)
  561. * res/res_config_odbc.c, /: Prevent crashes in res_config_odbc due
  562. to uninitialized string fields. Patches: odbc-crash.patch by John
  563. Hardin (License #6512) ........ Merged revisions 413241 from
  564. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  565. revisions 413251 from
  566. http://svn.asterisk.org/svn/asterisk/branches/11
  567. * /, res/res_config_pgsql.c: Return the number of rows affected by
  568. a SQL insert, rather than an object ID. The realtime API
  569. specifies that the store callback is supposed to return the
  570. number of rows affected. res_config_pgsql was instead returning
  571. an Oid cast as an int, which during any nominal execution would
  572. be cast to 0. Returning 0 when more than 0 rows were inserted
  573. causes problems to the function's callers. To give an idea of how
  574. strange code can be, this is the necessary code change to fix a
  575. device state issue reported against chan_pjsip in Asterisk 12+.
  576. The issue was that the registrar would attempt to insert contacts
  577. into the database. Because of the 0 return from res_config_pgsql,
  578. the registrar would think that the contact was not successfully
  579. inserted, even though it actually was. As such, even though the
  580. contact was query-able and it was possible to call the endpoint,
  581. Asterisk would "think" the endpoint was unregistered, meaning it
  582. would report the device state as UNAVAILABLE instead of
  583. NOT_INUSE. The necessary fix applies to all versions of Asterisk,
  584. so even though the bug reported only applies to Asterisk 12+, the
  585. code correction is being inserted into 1.8+. Closes issue
  586. ASTERISK-23707 Reported by Mark Michelson ........ Merged
  587. revisions 413224 from
  588. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  589. revisions 413225 from
  590. http://svn.asterisk.org/svn/asterisk/branches/11
  591. 2014-05-02 16:33 +0000 [r413210] Richard Mudgett <rmudgett@digium.com>
  592. * channels/chan_sip.c, UPGRADE.txt, res/res_pjsip_refer.c:
  593. res_pjsip_refer: Add Referred-By header on INVITE for blind
  594. transfers. Per rfc3892, the Referred-By header in a REFER must be
  595. copied into the referenced request (IE. The outgoing INVITE to
  596. the transfer target). * Automatically put the Referred-By header
  597. in the outgoing INVITE message if the SIPREFERREDBYHDR channel
  598. variable is defined with a value. * Made
  599. chan_sip.c:get_refer_info() set SIPREFERREDBYHDR for inheritance
  600. so chan_pjsip has a better chance to interoperate. * Fixed
  601. refer_blind_callback() and refer_incoming_refer_request() to not
  602. modify the data in the pointer returned by
  603. pjsip_msg_find_hdr_by_name(). It seems wrong to modify that data
  604. since the calling routine doesn't own the buffer. ASTERISK-23501
  605. #close Reported by: John Bigelow Review:
  606. https://reviewboard.asterisk.org/r/3514/
  607. 2014-05-02 15:58 +0000 [r413196] Jonathan Rose <jrose@digium.com>
  608. * CHANGES, res/parking/parking_bridge_features.c,
  609. res/parking/parking_manager.c, res/parking/res_parking.h:
  610. Parking: Add 'AnnounceChannel' argument to manager action 'Park'
  611. (closes ASTERISK-23397) Reported by: Denis Review:
  612. https://reviewboard.asterisk.org/r/3446/
  613. 2014-05-01 15:41 +0000 [r413173] Mark Michelson <mmichelson@digium.com>
  614. * res/res_pjsip_exten_state.c: Remove unnecessary repetition checks
  615. from res_pjsip_exten_state The PBX core already takes care of
  616. ensuring that repeated state changes are not communicated to
  617. exten state consumers. Because the check in res_pjsip_exten_state
  618. was incomplete, it was causing valid presence state changes not
  619. to be sent out. For instance, if the presence state did not
  620. change but the message or subtype did, then no presence-related
  621. NOTIFY request would be sent out. closes issue ASTERISK-23672
  622. Reported by Mark Michelson
  623. 2014-05-01 12:30 +0000 [r413159] Joshua Colp <jcolp@digium.com>
  624. * res/res_pjsip/config_transport.c: res_pjsip: Add the ability to
  625. configure ciphers based on name. Previously this code would only
  626. accept the OpenSSL identifier instead of the documented name.
  627. ASTERISK-23498 #close ASTERISK-23498 #comment Reported by:
  628. Anthony Messina Review: https://reviewboard.asterisk.org/r/3491/
  629. 2014-04-30 20:47 +0000 [r413142] Richard Mudgett <rmudgett@digium.com>
  630. * main/message.c, /, channels/chan_sip.c,
  631. include/asterisk/message.h, res/res_pjsip_messaging.c:
  632. chan_sip.c: Fixed off-nominal message iterator ref count and
  633. alloc fail issues. * Fixed early exit in sip_msg_send() not
  634. destroying the message iterator. * Made
  635. ast_msg_var_iterator_next() and ast_msg_var_iterator_destroy()
  636. tolerant of a NULL iter parameter in case
  637. ast_msg_var_iterator_init() fails. * Made
  638. ast_msg_var_iterator_destroy() clean up any current message data
  639. ref. * Made struct ast_msg_var_iterator,
  640. ast_msg_var_iterator_init(), ast_msg_var_iterator_next(),
  641. ast_msg_var_unref_current(), and ast_msg_var_iterator_destroy()
  642. use iter instead of i. * Eliminated RAII_VAR usage in
  643. res_pjsip_messaging.c:vars_to_headers(). ........ Merged
  644. revisions 413139 from
  645. http://svn.asterisk.org/svn/asterisk/branches/11
  646. 2014-04-30 20:38 +0000 [r413140] Joshua Colp <jcolp@digium.com>
  647. * channels/chan_pjsip.c: chan_pjsip: Fix deadlock when retrieving
  648. call-id of channel. If a task was in-flight which required the
  649. channel or bridge lock it was possible for the synchronous task
  650. retrieving the call-id to deadlock as it holds those locks. After
  651. discussing with Mark Michelson the synchronous task was removed
  652. and the call-id accessed directly. This should be safe as each
  653. object involved is guaranteed to exist and the call-id will never
  654. change.
  655. 2014-04-30 13:06 +0000 [r413124] Kinsey Moore <kmoore@digium.com>
  656. * /, res/res_http_websocket.c: Websocket: Add session locking and
  657. delay close This resolves a race condition where data could be
  658. written to a NULL FILE pointer causing a crash as a websocket
  659. connection was in the process of shutting down by adding locking
  660. to websocket session writes and by deferring session teardown
  661. until session destruction. (closes issue ASTERISK-23605) Review:
  662. https://reviewboard.asterisk.org/r/3481/ Reported by: Matt Jordan
  663. ........ Merged revisions 413123 from
  664. http://svn.asterisk.org/svn/asterisk/branches/11
  665. 2014-04-30 12:41 +0000 [r413117-413121] Joshua Colp <jcolp@digium.com>
  666. * res/stasis/control.c: res_stasis: Add progress indications to
  667. operations which perform media. This change fixes operations
  668. which did not account for the fact that they may be executed on
  669. channels which have not been answered. These operations will now
  670. indicate progress when invoked. ASTERISK-23560 #close
  671. ASTERISk-23560 #comment Reported by: Jan Svoboda Review:
  672. https://reviewboard.asterisk.org/r/3495/
  673. * res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Fix issue where
  674. sending a hold SDP twice could cause an unhold. This change fixes
  675. a bug where if an SDP with media address and sendonly was
  676. received twice the underlying call would go off hold, instead of
  677. remaining on hold. This occured because the code did not properly
  678. take into account that the SDP may contain both a valid media
  679. address and the sendonly attribute. The code now examines the
  680. sendonly attribute and media address first, so if the SDP is
  681. received again no change will occur. ASTERISK-23558 #comment
  682. Reported by: John Bigelow Review:
  683. https://reviewboard.asterisk.org/r/3472/
  684. * channels/chan_pjsip.c, res/res_pjsip_session.c: chan_pjsip: Add
  685. support for picking up calls in the configured pickup group.
  686. AST-1363 Review: https://reviewboard.asterisk.org/r/3478/
  687. 2014-04-29 15:09 +0000 [r413102] George Joseph <george.joseph@fairview5.com>
  688. * include/asterisk/spinlock.h: Add "destroy" implementation for
  689. spinlock. The original commit for spinlock was missing "destroy"
  690. implementations. Most of them are no-ops but phtread_spin and
  691. pthread_mutex do need their locks destroyed.
  692. 2014-04-29 11:19 +0000 [r413088] Joshua Colp <jcolp@digium.com>
  693. * channels/chan_pjsip.c: chan_pjsip: Implement core ability to get
  694. Call-ID of a channel. This changes implement the
  695. "get_pvt_uniqueid" which is used to return the technology
  696. specific unique identifier. In the case of SIP this is the
  697. Call-ID of the dialog. Review:
  698. https://reviewboard.asterisk.org/r/3480/
  699. 2014-04-28 20:01 +0000 [r413073] Kinsey Moore <kmoore@digium.com>
  700. * main/bridge.c, main/bridge_basic.c: Bridging: Don't lock NULL
  701. bridges When bridge locking was added for bridge snapshot
  702. creation, some locations where bridge locking was added were not
  703. guaranteed to actually have a bridge and locking NULL AO2 objects
  704. tends to cause segfaults. This ensures that NULL bridges aren't
  705. locked.
  706. 2014-04-25 17:48 +0000 [r413009] Matthew Jordan <mjordan@digium.com>
  707. * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Add support for DTLS
  708. handshake retransmissions On congested networks, it is possible
  709. for the DTLS handshake messages to get lost. This patch adds a
  710. timer to res_rtp_asterisk that will periodically check to see if
  711. the handshake has succeeded. If not, it will retransmit the DTLS
  712. handshake. Review: https://reviewboard.asterisk.org/r/3337
  713. ASTERISK-23649 #close Reported by: Nitesh Bansal patches:
  714. dtls_retransmission.patch uploaded by Nitesh Bansal (License
  715. 6418) ........ Merged revisions 413008 from
  716. http://svn.asterisk.org/svn/asterisk/branches/11
  717. 2014-04-24 14:37 +0000 [r412992] Kevin Harwell <kharwell@digium.com>
  718. * contrib/ast-db-manage/config/versions/e96a0b8071c_increase_pjsip_column_size.py
  719. (added): pjsip realtime: increase the size of some columns The
  720. string lengths on certain columns created through alembic for
  721. PJSIP were too short. For instance, columns containing URIs are
  722. currently set to 40 characters, but this can be too small and
  723. result in truncated values. Added an alembic migration script
  724. that increases the size of these columns and a few others to 255.
  725. ASTERISK-23639 #close Reported by: Mark Michelson Review:
  726. https://reviewboard.asterisk.org/r/3475/
  727. 2014-04-23 20:06 +0000 [r412976] George Joseph <george.joseph@fairview5.com>
  728. * include/asterisk/spinlock.h (added), configure,
  729. include/asterisk/autoconfig.h.in, configure.ac: This patch adds
  730. support for spinlocks in Asterisk. There are cases in Asterisk
  731. where it might be desirable to lock a short critical code section
  732. but not incur the context switch and yield penalty of a mutex or
  733. rwlock. The primary spinlock implementations execute exclusively
  734. in userspace and therefore don't incur those penalties. Spinlocks
  735. are NOT meant to be a general replacement for mutexes. They
  736. should be used only for protecting short blocks of critical code
  737. such as simple compares and assignments. Operations that may
  738. block, hold a lock, or cause the thread to give up it's timeslice
  739. should NEVER be attempted in a spinlock. The first use case for
  740. spinlocks is in astobj2 - internal_ao2_ref. Currently the
  741. manipulation of the reference counter is done with an
  742. ast_atomic_fetchadd_int which works fine. When weak reference
  743. containers are introduced however, there's an additional
  744. comparison and assignment that'll need to be done while the lock
  745. is held. A mutex would be way too expensive here, hence the
  746. spinlock. Given that lock contention in this situation would be
  747. infrequent, the overhead of the spinlock is only a few more
  748. machine instructions than the current ast_atomic_fetchadd_int
  749. call. ASTERISK-23553 #close Review:
  750. https://reviewboard.asterisk.org/r/3405/
  751. 2014-04-23 18:00 +0000 [r412924] Richard Mudgett <rmudgett@digium.com>
  752. * /, main/http.c: http: Fix spurious ERROR message in responses
  753. with no content. Backport -r411687 and fix the fix because
  754. content_length is the length of out plus the length of the file
  755. controlled by fd. When a response has an out content length of 0,
  756. fwrite would be called to write a buffer with no data in it. This
  757. resulted in the following classic error message: [Apr 3 11:49:17]
  758. ERROR[26421] http.c: fwrite() failed: Success This patch makes it
  759. so that we only attempt to write the content of out if the out
  760. string is non-zero. ........ Merged revisions 412922 from
  761. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  762. revisions 412923 from
  763. http://svn.asterisk.org/svn/asterisk/branches/11
  764. 2014-04-22 10:09 +0000 [r412882] Joshua Colp <jcolp@digium.com>
  765. * res/stasis/app.c: res_stasis: Fix crash when handling a failed
  766. blind transfer message. This changes fixes a crash that occurs
  767. when stasis determines if it should send a message out to an
  768. application or not. The code incorrectly assumed that a bridge
  769. snapshot would always be present when in reality for failure
  770. cases it may not be. ASTERISK-23573 #close
  771. 2014-04-21 17:54 +0000 [r412823] Jonathan Rose <jrose@digium.com>
  772. * /, CHANGES: chan_sip: trust_id_outbound CHANGES message
  773. improvement (closes issue AST-1301) (closes issue ASTERISK-19465)
  774. Reported by: Krzysztof Chmielewski ........ Merged revisions
  775. 412821 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  776. ........ Merged revisions 412822 from
  777. http://svn.asterisk.org/svn/asterisk/branches/11
  778. 2014-04-21 16:15 +0000 [r412749] Kinsey Moore <kmoore@digium.com>
  779. * main/manager.c, /, main/http.c: HTTP: Add TCP_NODELAY to accepted
  780. connections This adds the TCP_NODELAY option to accepted
  781. connections on the HTTP server built into Asterisk. This option
  782. disables the Nagle algorithm which controls queueing of outbound
  783. data and in some cases can cause delays on receipt of response by
  784. the client due to how the Nagle algorithm interacts with TCP
  785. delayed ACK. This option is already set on all non-HTTP AMI
  786. connections and this change would cover standard HTTP requests,
  787. manager HTTP connections, and ARI HTTP requests and websockets in
  788. Asterisk 12+ along with any future use of the HTTP server.
  789. Review: https://reviewboard.asterisk.org/r/3466/ ........ Merged
  790. revisions 412745 from
  791. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  792. revisions 412748 from
  793. http://svn.asterisk.org/svn/asterisk/branches/11
  794. 2014-04-21 16:05 +0000 [r412747] Jonathan Rose <jrose@digium.com>
  795. * /, channels/chan_sip.c, configs/sip.conf.sample, CHANGES,
  796. channels/sip/include/sip.h: chan_sip: Add sendrpid trust options
  797. In r411189, some behavior was changed which made sendrpid
  798. behavior act in a more trusting manner by sending full user data
  799. for peers set with private caller presence in P-Asserted-Identity
  800. headers. Since this changed long time expected behaviors, we
  801. decided to pull that patch when that was pointed out by the
  802. community. Instead, this patch provides a trust_id_outbound
  803. setting which will expose the data per RFC-3325 if set to 'yes'
  804. and simply not send the PAI/RPID headers at all if set to 'no'.
  805. By default trust_id_outbound will be set to 'legacy' which will
  806. preserve the behavior prior to these patches. Extra special
  807. thanks to Walter Doekes for providing advice and feedback.
  808. (closes issue AST-1301) (closes issue ASTERISK-19465) Reported
  809. by: Krzysztof Chmielewski Review:
  810. https://reviewboard.asterisk.org/r/3447/ ........ Merged
  811. revisions 412744 from
  812. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  813. revisions 412746 from
  814. http://svn.asterisk.org/svn/asterisk/branches/11
  815. 2014-04-21 14:57 +0000 [r412728-412730] Kinsey Moore <kmoore@digium.com>
  816. * apps/app_confbridge.c: Confbridge: Fix ConfbridgeKick AMI
  817. documentation This adds documentation for the "all" channel
  818. option for the ConfbridgeKick AMI action and adjusts AMI
  819. responses accordingly. (issue ASTERISK-23282) Reported by: Dorian
  820. Logan
  821. * apps/app_confbridge.c: Confbridge: Add references for kick all
  822. option After the ability to kick all attendees from a conference
  823. was added, a rework removed the comment about that feature from
  824. the CLI documentation. This adds that documentation and adds
  825. "all" to the participant tab completion list for the confbridge
  826. kick command. (closes issue ASTERISK-23282) Reported by: Dorian
  827. Logan
  828. 2014-04-21 08:31 +0000 [r412713] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
  829. * channels/chan_unistim.c, /: Fix wrong dialtone. The "modulation"
  830. should not be referenced for tone+tone as it refers to the on-off
  831. characteristic - this often resulted in a single tone rather than
  832. the multitone as in the UK. ........ Merged revisions 412712 from
  833. http://svn.asterisk.org/svn/asterisk/branches/11
  834. 2014-04-19 02:13 +0000 [r412657-412698] Matthew Jordan <mjordan@digium.com>
  835. * main/asterisk.c: main/asterisk: Fix startup sequence for realtime
  836. features When ASTERISK-23265/ASTERISK-23320 was fixed, it
  837. inadvertently led to realtime features breaking. This was due to
  838. features loading prior to realtime. This patch fixes this by
  839. loading features after loading dynamic modules. ASTERISK-23487
  840. #close Reported by: Denis Tested by: Denis
  841. * /, apps/app_sms.c: app_sms: Fix uninitialized values; hangup
  842. channel when REL is sent successfully This patch fixes two issues
  843. in app_sms: (1) Firstly, the 'flags' field on the stack in
  844. sms_exec() is uninitialised, causing it to use the wrong protocol
  845. in some cases. This patch correctly initializes the flags fields.
  846. (2) Secondly, when disconnect supervision is not working or
  847. inbanddisconnect=yes is set in chan_dahdi.conf, app_sms was
  848. failing to terminate the call after it sent the REL(ease) message
  849. and the peer stopped talking to it. This patch fixes the code to
  850. handle the 'bad stop bit' message more gracefully in that case,
  851. and hang up the call. Review:
  852. https://reviewboard.asterisk.org/r/1392/ ASTERISK-18331 #close
  853. Reported by: David Woodhouse patches: asterisk-fix-sms.patch
  854. uploaded by David Woodhouse (License 5754) ........ Merged
  855. revisions 412655 from
  856. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  857. revisions 412656 from
  858. http://svn.asterisk.org/svn/asterisk/branches/11
  859. 2014-04-18 20:26 +0000 [r412639-412653] Jonathan Rose <jrose@digium.com>
  860. * res/ari/resource_bridges.h, res/ari/resource_recordings.h,
  861. rest-api-templates/ari_resource.h.mustache,
  862. res/ari/resource_device_states.h, res/ari/resource_endpoints.h,
  863. res/ari/resource_mailboxes.h, res/ari/resource_events.h,
  864. res/ari/resource_asterisk.h, res/ari/resource_applications.h,
  865. res/ari/resource_playbacks.h, res/ari/resource_channels.h,
  866. res/ari/resource_sounds.h: ARI: Remove unnecessary \briefs from
  867. automatically generated documentation Review:
  868. https://reviewboard.asterisk.org/r/3440/
  869. * include/asterisk/stasis_app.h, res/stasis/control.h,
  870. res/ari/resource_channels.c, CHANGES, res/res_stasis.c,
  871. rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
  872. res/res_ari_bridges.c, res/res_stasis_playback.c,
  873. res/ari/resource_bridges.h, res/stasis/control.c: ARI: Make
  874. bridges/{bridgeID}/play queue sound files Previously multiple
  875. play actions against a bridge at one time would cause the sounds
  876. to play simultaneously on the bridge. Now if a sound is already
  877. playing, the play action will queue playback to occur after the
  878. completion of other sounds currently on the queue. (closes issue
  879. ASTERISK-22677) Reported by: John Bigelow Review:
  880. https://reviewboard.asterisk.org/r/3379/
  881. 2014-04-18 17:16 +0000 [r412587] Rusty Newton <rnewton@digium.com>
  882. * /, sounds/sounds.xml, sounds/Makefile: sounds: Fix Sounds
  883. Makefile and XML that didn't support new sound prompt sets In
  884. sounds/Makefile 1 Adds and moves some lines necessary for the
  885. en_GB core set. I'm just following how the other sets are defined
  886. here. 2 removes the ES extra sounds related lines as we don't
  887. have ES extra sound sets. In sounds/sounds.xml 3 Adds member
  888. definitons for EN_AU, EN_GB, IT for core sound sets, and EN_GB in
  889. extra sound sets ASTERISK-23550 #close Review:
  890. https://reviewboard.asterisk.org/r/3464/ ........ Merged
  891. revisions 412586 from
  892. http://svn.asterisk.org/svn/asterisk/branches/11
  893. 2014-04-18 16:39 +0000 [r412582] Mark Michelson <mmichelson@digium.com>
  894. * res/res_pjsip/location.c: Allow for multiple contacts to be
  895. configured in a single contact= line. This is useful for
  896. configuring multiple permanent contacts for an AOR when using
  897. realtime AORs. Review: https://reviewboard.asterisk.org/r/3462
  898. 2014-04-18 16:38 +0000 [r412579-412581] Richard Mudgett <rmudgett@digium.com>
  899. * apps/app_originate.c, include/asterisk/pbx.h, main/dial.c,
  900. main/pbx.c: Originated calls: Fix several originate call
  901. problems. * Restore the reason value set by
  902. pbx_outgoing_attempt() to use AST_CONTROL_xxx values as all the
  903. consumers were expecting rather than cause codes. * Fixed the
  904. dial routines to set cause codes for more than just ast_request()
  905. so pbx_outgoing_attempt() reason codes will function. * Fix
  906. inconsistent locked_channel return status in
  907. pbx_outgoing_attempt(). The chanel may not have been locked or
  908. the channel may have been a stale pointer. * Fixed the
  909. OutgoingSpoolFailed channel to run dialplan whenever the dialing
  910. fails for an originate exten and 1 < synchronous. * Fix incorrect
  911. ast_cond_wait() usage in pbx_outgoing_attempt(). Indroduced by
  912. issue ASTERISK-22212 patch. * Made struct pbx_outgoing use the
  913. ao2 lock instead of its own lock for the cond wait mutex. No
  914. sense in having two locks associated with the same struct when
  915. only one is needed. Review:
  916. https://reviewboard.asterisk.org/r/3421/
  917. * main/stasis_channels.c, apps/app_queue.c, apps/app_dial.c:
  918. app_dial and app_queue: Make lock the forwarding channel while
  919. taking the channel snapshot. * Fixed
  920. ast_channel_publish_dial_forward() not locking the forwarded
  921. channel when taking the channel snapshot. * Fixed
  922. app_dial.c:do_forward() using the wrong channel to get the
  923. original call forwarding string. * Removed unnecessary locking
  924. when calling ast_channel_publish_dial() and
  925. ast_channel_publish_dial_forward() in app_dial and app_queue.
  926. Holding channel locks when calling
  927. ast_channel_publish_dial_forward() with a forwarded channel could
  928. result in pausing the system while the stasis bus completes
  929. processsing a forwarded channel subscription. Review:
  930. https://reviewboard.asterisk.org/r/3451/
  931. 2014-04-18 14:21 +0000 [r412565] Kinsey Moore <kmoore@digium.com>
  932. * res/ari/ari_websockets.c, res/res_ari.c, main/manager.c: ARI: Add
  933. debug logging for events and responses This adds DEBUG level
  934. logging for ARI websocket events and HTTP responses similar to
  935. what is available for AMI. Logging for ARI HTTP requests is
  936. already adequate for debugging purposes.
  937. 2014-04-17 22:49 +0000 [r412551] Joshua Colp <jcolp@digium.com>
  938. * res/res_pjsip/pjsip_options.c, res/res_pjsip.c,
  939. res/res_pjsip_registrar.c, res/res_pjsip/location.c,
  940. res/res_pjsip/pjsip_configuration.c: res_pjsip: Handle reloading
  941. when permanent contacts exist and qualify is configured. This
  942. change fixes a problem where permanent contacts being qualified
  943. were not being updated. This was caused by the permanent contacts
  944. getting a uuid and not a known identifier, causing an inability
  945. to look them up when updating in the qualify code. A bug also
  946. existed where the new configuration may not be available
  947. immediately when updating qualifies. (closes issue
  948. ASTERISK-23514) Reported by: Richard Mudgett Review:
  949. https://reviewboard.asterisk.org/r/3448/
  950. 2014-04-17 22:42 +0000 [r412535-412549] Jonathan Rose <jrose@digium.com>
  951. * main/app.c: Fix a silly shadowed variable mistake that was missed
  952. from play tones patch
  953. * main/app.c, rest-api/api-docs/channels.json, CHANGES,
  954. rest-api/api-docs/bridges.json, res/ari/resource_channels.h,
  955. include/asterisk/app.h, res/res_stasis_playback.c,
  956. res/ari/resource_bridges.h: ARI: Add tones playback resource Adds
  957. a tones URI type to the playback resource. The tone can be
  958. specified by name (from indications.conf) or by a tone pattern.
  959. In addition, tonezone can be specified in the URI (by appending
  960. ;tonezone=<zone>). Tones must be stopped manually in order for a
  961. stasis control to move on from playback of the tone. Tones may be
  962. paused, resumed, restarted, and stopped. They may not be rewound
  963. or fast forwarded (tones can't be controlled in a way that lets
  964. you skip around from note to note and pausing and resuming will
  965. also restart the tone from the beginning). Tests are currently in
  966. development for this feature
  967. (https://reviewboard.asterisk.org/r/3428/). (closes issue
  968. ASTERISK-23433) Reported by: Matt Jordan Review:
  969. https://reviewboard.asterisk.org/r/3427/
  970. 2014-04-17 20:24 +0000 [r412483] Matthew Jordan <mjordan@digium.com>
  971. * channels/chan_oss.c, /, main/Makefile: main/Makefile: Fix build
  972. failure on SmartOS/Illumos/SunOS This patch fixes two issues when
  973. building on SmartOS: - channels/chan_oss.c: it makes sure
  974. soundcard.h is found - main/Makefile: only use
  975. "-Wl,--version-script" when GNU LD is used as the Sun Linker
  976. doesn't support that. Similar checks are already used elswhere in
  977. the Makefile Review: https://reviewboard.asterisk.org/r/3426
  978. ASTERISK-23576 #close Reported by: Sebastian Wiedenroth patches:
  979. fix-sunos.diff uploaded by Sebastian Wiedenroth (License 6597)
  980. ........ Merged revisions 412468 from
  981. http://svn.asterisk.org/svn/asterisk/branches/11
  982. 2014-04-17 15:16 +0000 [r412453] Kevin Harwell <kharwell@digium.com>
  983. * res/res_pjsip_refer.c: res_pjsip_refer: Channel variable
  984. SIPREFERTOHDR not being set during blind transfer The
  985. SIPREFERTOHDR channel variable is not being set on any channel
  986. when performing a blind transfer using PJSIP. The
  987. 'refer->refer_to' was not being set during a blind transfer.
  988. Updated so the 'refer_to' is set to the target uri on a blind
  989. transfer. (closes issue ASTERISK-23502) Reported by: John Bigelow
  990. Review: https://reviewboard.asterisk.org/r/3445/
  991. 2014-04-16 19:13 +0000 [r412439] Kinsey Moore <kmoore@digium.com>
  992. * include/asterisk/stasis_app.h: Stasis: Add a usage note on
  993. stasis_app_get_bridge This function returns an ast_bridge without
  994. a refcount bump and the caller must increment the count if it
  995. intends to hold the pointer. (closes issue ASTERISK-23588)
  996. Review: https://reviewboard.asterisk.org/r/3450/ Reported by:
  997. Matt Jordan
  998. 2014-04-15 18:27 +0000 [r412383-412413] Richard Mudgett <rmudgett@digium.com>
  999. * res/res_parking.c, main/rtp_engine.c, main/stasis_channels.c,
  1000. main/features_config.c: Eliminate some more unnecessary
  1001. RAII_VAR() uses. RAII_VAR() is not a hammer appropriate to pound
  1002. all nails.
  1003. * res/res_pjsip/security_events.c,
  1004. res/parking/parking_applications.c, channels/chan_oss.c,
  1005. main/stasis_bridges.c, res/res_pjsip_session.c,
  1006. res/stasis_recording/stored.c, main/cdr.c, res/res_parking.c,
  1007. channels/chan_skinny.c, res/res_pjsip/location.c,
  1008. res/res_stasis_recording.c, main/stasis_channels.c,
  1009. res/ari/resource_channels.c, res/parking/parking_manager.c,
  1010. res/ari/resource_recordings.c, res/res_pjsip_refer.c, main/pbx.c,
  1011. res/res_ari.c, res/res_stasis_playback.c, res/stasis/app.c,
  1012. res/res_fax.c: Remove unused RAII_VAR() declarations. * Remove
  1013. unused RAII_VAR() declarations. The compiler cannot catch these
  1014. because the cleanup function "references" the unused variable.
  1015. Some actually allocated and released resources that were never
  1016. used. * Fixed some whitespace issues in stasis_bridges.c.
  1017. * include/asterisk/rtp_engine.h, main/rtp_engine.c,
  1018. channels/chan_sip.c: chan_sip.c: Fix channel staging assertion
  1019. failure. The failing assertion ensures that the final snapshot
  1020. gets generated so CDR records can get finalized. The only place
  1021. where a channel staging snapshot flag could be left set is in
  1022. chan_sip.c:handle_request_bye(). The function could return before
  1023. clearing the flag because the channel could dissappear while the
  1024. function had to have the channel unlocked. * Fixed
  1025. handle_request_bye() channel snapshot staging coverage area to
  1026. not have a return in the middle of it and be unable to clear the
  1027. staging flag. * Pushed the channel snapshot staging coverage area
  1028. into ast_rtp_instance_set_stats_vars() to ensure that the staging
  1029. is not interrutped. * Made callers of
  1030. ast_rtp_instance_set_stats_vars() not call it with any channels
  1031. or channel driver private locks held to eliminate the deadlock
  1032. potential. The callers must hold references to the passed in
  1033. channel and rtp objects. * Eliminated sip_hangup() trying to get
  1034. the bridge peer. It is futile at this point because the channel
  1035. could never be in a bridge. Review:
  1036. https://reviewboard.asterisk.org/r/3431/
  1037. * /, channels/chan_sip.c: chan_sip.c: Moved some sip_pvt unrefs
  1038. after their last use. * Moved sip_pvt unref in ast_hangup() and
  1039. handle_request_do() to the end of the function. The unref needs
  1040. to happen after the last use of the pointer. ........ Merged
  1041. revisions 412348 from
  1042. http://svn.asterisk.org/svn/asterisk/branches/11
  1043. 2014-04-15 15:58 +0000 [r412330] Jonathan Rose <jrose@digium.com>
  1044. * /, channels/chan_sip.c, configs/sip.conf.sample: Reverting
  1045. r411189 so that it can be put up for public review --- r411189 |
  1046. jrose | 2014-03-26 10:50:48 -0500 (Wed, 26 Mar 2014) | 12 lines
  1047. chan_sip: Send real CallerID information with
  1048. P-Assserted-Identity (RFC-3325) Prior to this patch, the
  1049. P-Asserted-Identity header would include anonymous caller id
  1050. information which seems to go against the point of the
  1051. P-Asserted-Identity header. Now the real caller ID information
  1052. will be included in this header. Also, no privacy header would be
  1053. included. This patch adds 'Privacy: id' to outgoing SIP messages
  1054. that include the P-Asserted-Identity header. (closes issue
  1055. AST-1301) --- ........ Merged revisions 412328 from
  1056. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1057. revisions 412329 from
  1058. http://svn.asterisk.org/svn/asterisk/branches/11
  1059. 2014-04-14 15:53 +0000 [r412306] Corey Farrell <git@cfware.com>
  1060. * /, main/autoservice.c: autoservice: fix reference leak of logger
  1061. callid. autoservice acquires a local reference to the logger
  1062. callid of each channel in a loop. This local reference was not
  1063. released, causing the callid of every channel in autoservice to
  1064. leak. This change moves the callid unref inside the loop.
  1065. ASTERISK-23616 #close Reported by: ibercom ........ Merged
  1066. revisions 412305 from
  1067. http://svn.asterisk.org/svn/asterisk/branches/11
  1068. 2014-04-11 21:41 +0000 [r412227] Richard Mudgett <rmudgett@digium.com>
  1069. * apps/app_stack.c, /: app_stack: Add missing unlock in off-nominal
  1070. path of STACK_PEEK function. ASTERISK-23620 #close Reported by:
  1071. Bradley Watkins Patches: ASTERISK-23620_unlock_oldlist.patch
  1072. (license #5021) patch uploaded by Bradley Watkins ........ Merged
  1073. revisions 412225 from
  1074. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1075. revisions 412226 from
  1076. http://svn.asterisk.org/svn/asterisk/branches/11
  1077. 2014-04-11 12:35 +0000 [r412193] Kinsey Moore <kmoore@digium.com>
  1078. * res/ari/resource_bridges.c, main/bridge.c, main/bridge_basic.c,
  1079. include/asterisk/stasis_bridges.h, tests/test_cel.c,
  1080. apps/app_confbridge.c: bridging: Ensure locking during snapshot
  1081. creation While the vast majority of bridge snapshot creation is
  1082. locked properly, there are currently some instances that are not.
  1083. This adds the missing locking to ensure bridge state is not
  1084. malleable during snapshot creation. (closes issue ASTERISK-22904)
  1085. Review: https://reviewboard.asterisk.org/r/3415/ Reported by:
  1086. Matt Jordan
  1087. 2014-04-11 02:48 +0000 [r412088-412153] Matthew Jordan <mjordan@digium.com>
  1088. * build_tools/cflags.xml, /, channels/chan_sip.c,
  1089. channels/sip/security_events.c, include/asterisk/astobj2.h,
  1090. main/astobj2.c, contrib/scripts/refcounter.py (added),
  1091. main/asterisk.c: main/astobj2: Make REF_DEBUG a menuselect item;
  1092. improve REF_DEBUG output This patch does the following: (1) It
  1093. makes REF_DEBUG a meneselect item. Enabling REF_DEBUG now enables
  1094. REF_DEBUG globally throughout Asterisk. (2) The ref debug log
  1095. file is now created in the AST_LOG_DIR directory. Every run will
  1096. now blow away the previous run (as large ref files sometimes
  1097. caused issues). We now also no longer open/close the file on each
  1098. write, instead relying on fflush to make sure data gets written
  1099. to the file (in case the ao2 call being performed is about to
  1100. cause a crash) (3) It goes with a comma delineated format for the
  1101. ref debug file. This makes parsing much easier. This also now
  1102. includes the thread ID of the thread that caused ref change. (4)
  1103. A new python script instead for refcounting has been added in the
  1104. contrib/scripts folder. Review:
  1105. https://reviewboard.asterisk.org/r/3377/ ........ Merged
  1106. revisions 412114 from
  1107. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1108. revisions 412115 from
  1109. http://svn.asterisk.org/svn/asterisk/branches/11
  1110. * res/res_hep_pjsip.c: res_hep_pjsip: Use the channel name instead
  1111. of the call ID when it is available During discussions with
  1112. Alexandr Dubovikov at Kamailio World, it became apparent that
  1113. while the SIP call ID is a useful identifier prior to an Asterisk
  1114. channel being created, it is far more preferable to use the
  1115. channel name (or some channel based identifier) when the channel
  1116. is available. Homer is smart enough to tie the various messages
  1117. together. This patch opts to use the channel name when it is
  1118. available, falling back to the call ID otherwise.
  1119. 2014-04-10 21:07 +0000 [r412074] Kevin Harwell <kharwell@digium.com>
  1120. * res/res_pjsip_pubsub.c: res_pjsip_pubsub: Set the body generation
  1121. result to 0 for a valid path The result of the
  1122. "ast_sip_pubsub_generate_body_content" was not set/initialized.
  1123. Consequently, the nominal path potentially returned an invalid
  1124. value, thus not sending mwi notifications.
  1125. 2014-04-09 20:32 +0000 [r412048] Mark Michelson <mmichelson@digium.com>
  1126. * CHANGES, apps/app_mixmonitor.c: Add a Command header to the AMI
  1127. Mixmonitor action. This fixes a parsing error that occurred
  1128. during the processing of the AMI action. The error did not result
  1129. in MixMonitor itself misbehaving, but it could result in the AMI
  1130. response not giving correct information back. The new header
  1131. allows for one to specify a post-process command to run when
  1132. recording finishes. Previously, in order to do this, the
  1133. post-process command would have to be placed at the end of the
  1134. Options: header. Patches: mixmonitor_command_2.patch by jhardin
  1135. (License #6512)
  1136. 2014-04-09 18:16 +0000 [r412034] Kinsey Moore <kmoore@digium.com>
  1137. * res/res_stasis_answer.c: res_stasis_answer: Add missing newlines
  1138. 2014-04-08 21:23 +0000 [r411945-411985] Richard Mudgett <rmudgett@digium.com>
  1139. * /, main/asterisk.c: Internal timing: Add notice that the -I and
  1140. internal_timing option are no longer needed. Add notice messages
  1141. during execution that the -I command line option and the
  1142. astersik.conf internal_timing option are no longer needed. The
  1143. internal timing functionality is now always enabled if there is a
  1144. timing module loaded. NOTE: Since the command line options and
  1145. the asterisk.conf config file are processed before the logging
  1146. system is initialized, the messages are output to stderr. Change
  1147. requested as a result of asterisk-dev list comments about the
  1148. commit for ASTERISK-22846 that removed the -I and internal_timing
  1149. options. Review: https://reviewboard.asterisk.org/r/3423/
  1150. ........ Merged revisions 411964 from
  1151. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1152. revisions 411974 from
  1153. http://svn.asterisk.org/svn/asterisk/branches/11
  1154. * main/config.c, /: config: Fix CB_ADD_LEN() to work as originally
  1155. intended. Fix a long standing bug in CB_ADD_LEN() behaving like
  1156. CB_ADD(). ASTERISK-23546 #close Reported by: Walter Doekes
  1157. ........ Merged revisions 411960 from
  1158. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1159. revisions 411961 from
  1160. http://svn.asterisk.org/svn/asterisk/branches/11
  1161. * apps/confbridge/conf_config_parser.c, /: app_confbridge: Fix
  1162. confbridge.conf dsp_talking_threshold option setting wrong
  1163. parameter. Fixed copy pasta error. ASTERISK-23545 #close Reported
  1164. by: John Knott ........ Merged revisions 411944 from
  1165. http://svn.asterisk.org/svn/asterisk/branches/11
  1166. 2014-04-08 14:48 +0000 [r411927] Joshua Colp <jcolp@digium.com>
  1167. * res/res_pjsip.c: res_pjsip: Ignore explicit transport
  1168. configuration if a WebSocket transport is specified. This change
  1169. makes it so if a transport is configured on an endpoint that is a
  1170. WebSocket type the option will be ignored. In practice this is
  1171. fine because the WebSocket transport can not create outgoing
  1172. connections, it can only reuse existing ones. By ignoring the
  1173. option the existing PJSIP logic for using the existing connection
  1174. will be invoked and stuff will proceed. (closes issue
  1175. ASTERISK-23584) Reported by: Rusty Newton
  1176. 2014-04-07 20:39 +0000 [r411883] Kinsey Moore <kmoore@digium.com>
  1177. * res/res_pjsip_pubsub.c: PJSIP: Ensure test event has new state
  1178. The change that fixed the pubsub test event's use of a dangling
  1179. pointer also changed when it was processed relative to the pjsip
  1180. subscription state change processing. This change corrects the
  1181. order of events while holding a reference to the pointer that was
  1182. previously dangling.
  1183. 2014-04-07 16:02 +0000 [r411868] Jonathan Rose <jrose@digium.com>
  1184. * main/manager_channels.c: AGI/Manager: Prevent multiple NewExten
  1185. events during AGI application changes AGI applications would
  1186. trigger NewExten events every time the state of the AGI
  1187. application changed. This has historically not been the behavior
  1188. and this behavior was introduced with a CDR patch. This patch
  1189. corrects that. (closes issue ASTERISK-23390) Reported by:
  1190. Benjamin Keith Ford Review:
  1191. https://reviewboard.asterisk.org/r/3406/
  1192. 2014-04-07 14:55 +0000 [r411809-411811] Walter Doekes <walter+asterisk@wjd.nu>
  1193. * apps/app_queue.c: app_queue: Re-add HoldTime to
  1194. QueueCallerAbandon event (simple typo during ast12 refactor).
  1195. Reported by: Ibrahim22 (on IRC) Tested by: Ibrahim22
  1196. * configs/res_odbc.conf.sample, /, UPGRADE.txt: configs: Clean up
  1197. long line and typo in res_odbc.conf.sample. ........ Merged
  1198. revisions 411807 from
  1199. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1200. revisions 411808 from
  1201. http://svn.asterisk.org/svn/asterisk/branches/11
  1202. 2014-04-07 14:28 +0000 [r411790-411804] Kinsey Moore <kmoore@digium.com>
  1203. * res/res_stasis.c: Stasis: Fix Stasis() bridge refcount issue The
  1204. Stasis() dialplan application monitors what bridge a channel is
  1205. in and so necessarily holds on to a bridge pointer. This change
  1206. ensures that it also holds on to a reference for that bridge to
  1207. prevent the bridge pointer from becoming a dangling pointer.
  1208. * res/res_pjsip_pubsub.c: PJSIP: Fix crash introduced in r411671
  1209. The test event introduced in revision 411671 uses a dangling
  1210. pointer to access information about pubsub state changes. This
  1211. moves the event to within the lifetime of the pointer.
  1212. 2014-04-04 19:02 +0000 [r411701-411717] Richard Mudgett <rmudgett@digium.com>
  1213. * include/asterisk/options.h, main/asterisk.c, main/channel.c, /,
  1214. channels/chan_sip.c, configs/asterisk.conf.sample, UPGRADE.txt:
  1215. internal_timing: Remove the option and always make it enabled if
  1216. a timing module is loaded. The masquerade supertest frequently
  1217. fails because either the local channel chain doesn't completely
  1218. optimize out or the DTMF handshake doesn't completely get
  1219. accross. Local channel optimization requires frames flowing to
  1220. trigger when optimization can happen. When optimization happens
  1221. the media frame that triggered the optimization is dropped.
  1222. Sending DTMF requires frames to flow in the other direction for
  1223. timing purposes while sending nothing. If internal timing is not
  1224. enabled when MOH is playing, Asterisk switches to received timing
  1225. when an audio frame is received. With optimization dropping media
  1226. frames and MOH not sending frames unless it receives frames,
  1227. occasionaly there are no more frames being passed and the test
  1228. fails. * The asterisk command line -I option and the
  1229. asterisk.conf internal_timing option are removed. Asterisk now
  1230. always uses internal timing when needed if any timing module is
  1231. loaded. The issue ASTERISK-14861 did this quite awhile ago in
  1232. v1.4 but effectively is broken if other internal timing modules
  1233. besides DAHDI are used. The ast_read_generator_actions() now only
  1234. does received timing if it has no choice for frame generators
  1235. like MOH, silence, and playback streaming. * Cleaned up some code
  1236. dealing with frame generators in ast_deactivate_generator(),
  1237. generator_write_format_change(), ast_activate_generator(), and
  1238. ast_channel_stop_silence_generator(). ASTERISK-22846 #close
  1239. Reported by: Matt Jordan Review:
  1240. https://reviewboard.asterisk.org/r/3414/ ........ Merged
  1241. revisions 411715 from
  1242. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1243. revisions 411716 from
  1244. http://svn.asterisk.org/svn/asterisk/branches/11
  1245. * main/stasis_cache.c, main/utils.c, res/res_musiconhold.c,
  1246. main/channel.c: Add some asserts that were handy when looking for
  1247. a stasis cache problem. * Assert if a channel is destroyed but
  1248. has the snapshot staging flag set. In this case the final channel
  1249. destruction snapshot would never get taken. * Assert if what we
  1250. just got out of the stasis cache is not what we were looking for.
  1251. This assert would have saved several days searching for a bug and
  1252. a lot of my hair. * Assert if the music on hold message posts
  1253. could not find the associated channel. A crash will happen later
  1254. when manager tries to send the MOH AMI message. This assert
  1255. catches the problem when the stasis message is posted instead of
  1256. by the thread processing the defective message. * Always generate
  1257. a backtrace when an ast_assert() fails. Review:
  1258. https://reviewboard.asterisk.org/r/3411/
  1259. 2014-04-04 15:11 +0000 [r411687] Matthew Jordan <mjordan@digium.com>
  1260. * main/http.c: http: Fix spurious ERROR message in responses with
  1261. no content When a response has a content length of 0, fwrite
  1262. would be called to write a buffer with no data in it. This
  1263. resulted in the following classic error message: [Apr 3 11:49:17]
  1264. ERROR[26421] http.c: fwrite() failed: Success This patch makes it
  1265. so that we only attempt to write out the content if the
  1266. calculated content_length is non-zero.
  1267. 2014-04-03 11:57 +0000 [r411670] Kinsey Moore <kmoore@digium.com>
  1268. * res/res_pjsip_pubsub.c: res_pjsip_pubsub: Add test event for
  1269. state change This adds a test event when subscription state
  1270. changes so that integration tests may trigger new actions at the
  1271. appropriate times. Review:
  1272. https://reviewboard.asterisk.org/r/3383/
  1273. 2014-04-03 11:43 +0000 [r411668] Matthew Jordan <mjordan@digium.com>
  1274. * res/res_hep.c: res_hep: Fix crash when hep.conf not available
  1275. Parts of res_hep properly checked for a valid configuration
  1276. object before attempting to access the configuration. A check,
  1277. however, was missed when a packet is sent. This patch fixes the
  1278. crash caused by not checking if the configuration object is
  1279. valid.
  1280. 2014-04-01 22:41 +0000 [r411636-411638] Richard Mudgett <rmudgett@digium.com>
  1281. * res/parking/parking_bridge.c: res_parking: Minor tweaks. * Use
  1282. ast_bridge_channel_lock()/ast_bridge_channel_unlock() instead of
  1283. ao2_lock()/ao2_unlock() for struct ast_bridge_channel variables.
  1284. * Use ast_copy_string() instead of inlining it. * Remove an
  1285. already done TODO comment. * Some whitespace tweaks.
  1286. * main/stasis_channels.c: stasis_channels.c: Eliminate another
  1287. overuse of RAII_VAR().
  1288. 2014-04-01 16:51 +0000 [r411586] Joshua Colp <jcolp@digium.com>
  1289. * /, apps/app_queue.c: app_queue: Fix a bug where realtime members
  1290. would be deleted during reload causing waiting callers to get
  1291. ejected. This patch causes realtime queue members to remain in
  1292. queues during the reload process. Previously these members would
  1293. be removed causing any waiting callers to be ejected from the
  1294. queue with a reason of "EXITEMPTY". ASTERISK-23547 #close
  1295. ASTERISK-23547 #comment Patch
  1296. app_queue_fix_realtime_reload_1.8_trunk.patch submitted by Italo
  1297. Rossi (license 6409) Review:
  1298. https://reviewboard.asterisk.org/r/3404/ ........ Merged
  1299. revisions 411584 from
  1300. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1301. revisions 411585 from
  1302. http://svn.asterisk.org/svn/asterisk/branches/11
  1303. 2014-04-23 Asterisk Development Team <asteriskteam@digium.com>
  1304. * Asterisk 12.2.0 Released.
  1305. 2014-04-21 Asterisk Development Team <asteriskteam@digium.com>
  1306. * Asterisk 12.2.0-rc3 Released.
  1307. * chan_sip: Add sendrpid trust options
  1308. In r411189, some behavior was changed which made sendrpid behavior
  1309. act in a more trusting manner by sending full user data for peers
  1310. set with private caller presence in P-Asserted-Identity headers.
  1311. Since this changed long time expected behaviors, we decided to pull
  1312. that patch when that was pointed out by the community. Instead, this
  1313. patch provides a trust_id_outbound setting which will expose the data
  1314. per RFC-3325 if set to 'yes' and simply not send the PAI/RPID headers
  1315. at all if set to 'no'. By default trust_id_outbound will be set to
  1316. 'legacy' which will preserve the behavior prior to these patches.
  1317. Extra special thanks to Walter Doekes for providing advice and
  1318. feedback.
  1319. * main/asterisk: Fix startup sequence for realtime features
  1320. When ASTERISK-23265/ASTERISK-23320 was fixed, it inadvertently led to
  1321. realtime features breaking. This was due to features loading prior to
  1322. realtime. This patch fixes this by loading features after loading
  1323. dynamic modules.
  1324. 2014-04-14 Asterisk Development Team <asteriskteam@digium.com>
  1325. * Asterisk 12.2.0-rc2 Released.
  1326. * autoservice: fix reference leak of logger callid.
  1327. autoservice acquires a local reference to the logger callid of each
  1328. channel in a loop. This local reference was not released, causing the
  1329. callid of every channel in autoservice to leak. This change moves the
  1330. callid unref inside the loop.
  1331. ASTERISK-23616 #close
  1332. Reported by: ibercom
  1333. * res_hep_pjsip: Use the channel name instead of the call ID when it is
  1334. available
  1335. During discussions with Alexandr Dubovikov at Kamailio World, it
  1336. became apparent that while the SIP call ID is a useful identifier
  1337. prior to an Asterisk channel being created, it is far more preferable
  1338. to use the channel name (or some channel based identifier) when the
  1339. channel is available. Homer is smart enough to tie the various
  1340. messages together. This patch opts to use the channel name when it
  1341. is available, falling back to the call ID otherwise.
  1342. * res_pjsip_pubsub: Set the body generation result to 0 for a valid
  1343. path
  1344. The result of the "ast_sip_pubsub_generate_body_content" was not
  1345. set/initialized. Consequently, the nominal path potentially returned
  1346. an invalid value, thus not sending mwi notifications.
  1347. * Stasis: Fix Stasis() bridge refcount issue
  1348. The Stasis() dialplan application monitors what bridge a channel is
  1349. in and so necessarily holds on to a bridge pointer. This change
  1350. ensures that it also holds on to a reference for that bridge to
  1351. prevent the bridge pointer from becoming a dangling pointer.
  1352. * http: Fix spurious ERROR message in responses with no content
  1353. When a response has a content length of 0, fwrite would be called
  1354. to write a buffer with no data in it. This resulted in the following
  1355. classic error message:
  1356. [Apr 3 11:49:17] ERROR[26421] http.c: fwrite() failed: Success
  1357. This patch makes it so that we only attempt to write out the content
  1358. if the calculated content_length is non-zero.
  1359. * res_hep: Fix crash when hep.conf not available
  1360. Parts of res_hep properly checked for a valid configuration object
  1361. before attempting to access the configuration. A check, however,
  1362. was missed when a packet is sent. This patch fixes the crash caused
  1363. by not checking if the configuration object is valid.
  1364. 2014-03-28 Asterisk Development Team <asteriskteam@digium.com>
  1365. * Asterisk 12.2.0-rc1 Released.
  1366. 2014-03-28 18:09 +0000 [r411534] Matthew Jordan <mjordan@digium.com>
  1367. * include/asterisk/res_hep.h (added), res/res_hep_pjsip.c (added),
  1368. res/res_hep.exports.in (added), CHANGES, configs/hep.conf.sample
  1369. (added), res/res_hep.c (added): res_hep/res_hep_pjsip: Add a
  1370. HEPv3 capture agent module and a logger for PJSIP This patch adds
  1371. the following: (1) A new module, res_hep, which implements a
  1372. generic packet capture agent for the Homer Encapsulation Protocol
  1373. (HEP) version 3. Note that this code is based on a patch provided
  1374. by Alexandr Dubovikov; I basically just wrapped it up, added
  1375. configuration via the configuration framework, and threw in a
  1376. taskprocessor. (2) A new module, res_hep_pjsip, which forwards
  1377. all SIP message traffic that passes through the res_pjsip stack
  1378. over to res_hep for encapsulation and transmission to a HEPv3
  1379. capture server. Much thanks to Alexandr for his Asterisk patch
  1380. for this code and for a *lot* of patience waiting for me to port
  1381. it to 12/trunk. Due to some dithering on my part, this has taken
  1382. the better part of a year to port forward (I still blame CDRs for
  1383. the delay). ASTERISK-23557 #close Review:
  1384. https://reviewboard.asterisk.org/r/3207/
  1385. 2014-03-28 17:52 +0000 [r411532] Alexandr Anikin <may@telecom-service.ru>
  1386. * addons/ooh323c/src/oochannels.c,
  1387. addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooq931.c,
  1388. addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooGkClient.c,
  1389. addons/chan_ooh323.c, /: process stack command even if gatekeeper
  1390. client isn't register don't destroy gatekeeper client if it is
  1391. not started don't destroy gatekeeper client in some sort of
  1392. gatekeeper errors signal rtp create condition when call cleared
  1393. before rtp structure created (closes issue ASTERISK-23460)
  1394. Reported by: Dmitry Melekhov Patches: ASTERISK-23460-2.patch
  1395. Tested by: Dmitry Melekhov ........ Merged revisions 411531 from
  1396. http://svn.asterisk.org/svn/asterisk/branches/11
  1397. 2014-03-28 17:35 +0000 [r411529] Matthew Jordan <mjordan@digium.com>
  1398. * rest-api/api-docs/applications.json,
  1399. rest-api/api-docs/playbacks.json, UPGRADE.txt,
  1400. rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
  1401. rest-api/resources.json, CHANGES, include/asterisk/manager.h,
  1402. rest-api/api-docs/bridges.json,
  1403. rest-api/api-docs/recordings.json,
  1404. rest-api/api-docs/deviceStates.json,
  1405. rest-api/api-docs/endpoints.json,
  1406. rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
  1407. rest-api/api-docs/asterisk.json: Update API versions and
  1408. UPGRADE/CHANGES for 12.2.0 This patch does the following: * It
  1409. updates the AMI version to 2.2.0 to indicate backwards compatible
  1410. changes have been made since the last release * It updates the
  1411. ARI version to 1.2.0 to indicate backwards compatible changes
  1412. have been made since the last release * It updates the
  1413. UPGRADE/CHANGES files with changes that were not mentioned
  1414. 2014-03-28 17:08 +0000 [r411514] Mark Michelson <mmichelson@digium.com>
  1415. * contrib/ast-db-manage/config/versions/3855ee4e5f85_add_missing_pjsip_options.py
  1416. (added): Add alembic script that adds contact user_agent and
  1417. endpoint message_context.
  1418. 2014-03-28 16:48 +0000 [r411512] Matthew Jordan <mjordan@digium.com>
  1419. * /, res/res_odbc.exports.in, UPGRADE.txt, res/res_odbc.c,
  1420. configs/res_odbc.conf.sample, include/asterisk/res_odbc.h,
  1421. res/res_config_odbc.c: res_config_odbc/res_odbc: Fix handling of
  1422. non-text columns updates with empty values. This patch fixes
  1423. setting nullable integer columns to NULL instead of an empty
  1424. string, which fails for PostgreSQL, for example. The current code
  1425. is supposed to do so, but the check is broken. The patch also
  1426. allows the first column in the list to be a nullable integer.
  1427. This patch also adds a compatibility setting in res_odbc.conf,
  1428. allow_empty_string_in_nontext. It is enabled by default. It
  1429. should be disabled for database backends (such as PostgreSQL)
  1430. that require NULL instead of an empty string for Integer columns.
  1431. Review: https://reviewboard.asterisk.org/r/3375 (issue
  1432. ASTERISK-23459) Reported by: zvision patches:
  1433. res_config_odbc.diff uploaded by zvision (License 5755) ........
  1434. Merged revisions 411399 from
  1435. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1436. revisions 411408 from
  1437. http://svn.asterisk.org/svn/asterisk/branches/11
  1438. 2014-03-28 16:17 +0000 [r411465] Scott Griepentrog <sgriepentrog@digium.com>
  1439. * main/tcptls.c, main/manager.c, /, main/http.c: http: response
  1440. body often missing after specific request This patch works around
  1441. a problem with the HTTP body being dropped from the response to a
  1442. specific client and under specific circumstances: a) Client
  1443. request comes from node.js user agent "Shred" via use of
  1444. swagger-client library. b) Asterisk and Client are *not* on the
  1445. same host or TCP/IP stack In testing this problem, it has been
  1446. determined that the write of the HTTP body is lost, even if the
  1447. data is written using low level write function. The only solution
  1448. found is to instruct the TCP stack with the shutdown function to
  1449. flush the last write and finish the transmission. See review for
  1450. more details. ASTERISK-23548 #close (closes issue ASTERISK-23548)
  1451. Reported by: Sam Galarneau Review:
  1452. https://reviewboard.asterisk.org/r/3402/ ........ Merged
  1453. revisions 411462 from
  1454. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1455. revisions 411463 from
  1456. http://svn.asterisk.org/svn/asterisk/branches/11
  1457. 2014-03-28 16:00 +0000 [r411374-411461] Matthew Jordan <mjordan@digium.com>
  1458. * /: Remove block on 411408
  1459. * /, UPGRADE.txt: UPGRADE: Note IAX2 compatibility issue between
  1460. 1.4 and 1.8+ systems. ........ Merged revisions 411457 from
  1461. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1462. revisions 411458 from
  1463. http://svn.asterisk.org/svn/asterisk/branches/11
  1464. * contrib/realtime/mysql/voicemail_messages.sql (removed),
  1465. contrib/realtime/postgresql/realtime.sql (removed),
  1466. contrib/realtime/mysql/voicemail_data.sql (removed),
  1467. contrib/realtime/mysql/musiconhold.sql (removed),
  1468. contrib/realtime/mysql/queue_log.sql (removed),
  1469. contrib/realtime/mysql/voicemail.sql (removed),
  1470. contrib/realtime/mysql/sippeers.sql (removed),
  1471. contrib/realtime/mysql/iaxfriends.sql (removed),
  1472. contrib/realtime/mysql/meetme.sql (removed): contrib/realtime:
  1473. Remove empty SQL script files Since the relatime scripts are now
  1474. managed by Alembic, the previous realtime scripts were previously
  1475. removed. However, the removal process messed up, as the files
  1476. were still in the repository. The contents were just empty. This
  1477. removes the files from the tree.
  1478. * channels/sip/include/sip.h, /: chan_sip: Add MESSAGE request to
  1479. allowed methods The allowed methods advertised by chan_sip did
  1480. not previously note the MESSAGE request. Even in Asterisk 1.8, we
  1481. do accept in-dialog MESSAGE requests; we should advertise that we
  1482. support MESSAGE requests. ASTERISK-23504 #close ASTERISK-23504
  1483. #comment Reported by: Martin Kontsek ASTERISK-23504 #comment
  1484. Patch sip.h_patch.diff uploaded by Martin Kontsek (license 6587)
  1485. Review: https://reviewboard.asterisk.org/r/3396/ ........ Merged
  1486. revisions 411372 from
  1487. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1488. revisions 411373 from
  1489. http://svn.asterisk.org/svn/asterisk/branches/11
  1490. 2014-03-27 19:15 +0000 [r411311-411315] Corey Farrell <git@cfware.com>
  1491. * main/message.c, apps/app_jack.c, funcs/func_dialplan.c,
  1492. channels/chan_sip.c, funcs/func_math.c,
  1493. funcs/func_jitterbuffer.c, res/res_mutestream.c,
  1494. funcs/func_global.c, apps/app_speech_utils.c,
  1495. res/res_pjsip_header_funcs.c, funcs/func_callcompletion.c,
  1496. funcs/func_blacklist.c, funcs/func_cdr.c, funcs/func_channel.c,
  1497. apps/app_stack.c, funcs/func_callerid.c, res/res_calendar.c,
  1498. apps/app_voicemail.c, funcs/func_speex.c, /,
  1499. funcs/func_strings.c, res/res_xmpp.c, res/res_jabber.c,
  1500. main/features_config.c, channels/chan_iax2.c,
  1501. apps/confbridge/conf_config_parser.c,
  1502. channels/pjsip/dialplan_functions.c, funcs/func_groupcount.c,
  1503. funcs/func_pitchshift.c, funcs/func_odbc.c, funcs/func_volume.c,
  1504. funcs/func_frame_trace.c: Fix dialplan function NULL channel
  1505. safety issues (closes issue ASTERISK-23391) Reported by: Corey
  1506. Farrell Review: https://reviewboard.asterisk.org/r/3386/ ........
  1507. Merged revisions 411313 from
  1508. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1509. revisions 411314 from
  1510. http://svn.asterisk.org/svn/asterisk/branches/11
  1511. * include/asterisk.h, /, main/format.c: main/formats: Fix crash in
  1512. ast_format_cmp during non-clean shutdown. * Update asterisk.h to
  1513. reflect availability of ast_register_cleanup in 11.9. * Use
  1514. ast_register_cleanup for format_attr_shutdown. (closes issue
  1515. ASTERISK-23103) Reported by: JoshE ........ Merged revisions
  1516. 411310 from http://svn.asterisk.org/svn/asterisk/branches/11
  1517. 2014-03-27 14:20 +0000 [r411295] Mark Michelson <mmichelson@digium.com>
  1518. * main/sorcery.c: Give sorcery instances a reference to their
  1519. wizards. On graceful shutdown, sorcery wizards are all killed
  1520. off, but it is possible for sorcery instances to still have
  1521. dangling pointers after this, possibly causing a crash. Giving
  1522. the sorcery instances a reference to their wizards ensures that
  1523. the wizard reference will remain valid for the lifetime of the
  1524. sorcery instance. Review: https://reviewboard.asterisk.org/r/3401
  1525. 2014-03-26 22:44 +0000 [r411245] Joshua Colp <jcolp@digium.com>
  1526. * /, main/say.c: say: Fix a bug where SayNumber in Polish tries to
  1527. play incorrect sound. This change fixes a bug where calling
  1528. SayNumber with a number divisible by 100 using the Polish
  1529. language would cause the code to attempt to play a sound file
  1530. with an empty name. (closes issue ASTERISK-23509) Reported by:
  1531. zvision Review: https://reviewboard.asterisk.org/r/3378/ ........
  1532. Merged revisions 411243 from
  1533. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1534. revisions 411244 from
  1535. http://svn.asterisk.org/svn/asterisk/branches/11
  1536. 2014-03-26 16:07 +0000 [r411193] Jonathan Rose <jrose@digium.com>
  1537. * configs/sip.conf.sample, /, channels/chan_sip.c: chan_sip: Send
  1538. real CallerID information with P-Assserted-Identity (RFC-3325)
  1539. Prior too this patch, the P-Asserted-Identity header would
  1540. include anonymous caller id information which seems to go against
  1541. the point of the P-Asserted-Identity header. Now the real caller
  1542. ID information will be included in this header. Also, no privacy
  1543. header would be included. This patch adds 'Privacy: id' to
  1544. outgoing SIP messages that include the P-Asserted-Identity
  1545. header. (closes issue AST-1301) ........ Merged revisions 411189
  1546. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  1547. Merged revisions 411190 from
  1548. http://svn.asterisk.org/svn/asterisk/branches/11
  1549. 2014-03-26 16:03 +0000 [r411191] Richard Mudgett <rmudgett@digium.com>
  1550. * contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py:
  1551. Fix 'alembic branches' merge conflict as described by the web
  1552. page.
  1553. 2014-03-25 18:43 +0000 [r411173] Sean Bright <sean@malleable.com>
  1554. * res/ari/config.c: ARI: Don't complain about missing ARI users
  1555. when we aren't enabled Currently, if ARI is not enabled it will
  1556. still complain that there are no configured users. This patch
  1557. checks to see if ARI is enabled before logging and error or
  1558. iterating the container to validate the users. Review:
  1559. https://reviewboard.asterisk.org/r/3391/
  1560. 2014-03-25 17:52 +0000 [r411157-411159] Mark Michelson <mmichelson@digium.com>
  1561. * tests/test_sorcery.c, tests/test_sorcery_realtime.c,
  1562. main/sorcery.c, res/res_mwi_external.c,
  1563. res/res_pjsip/config_system.c, configs/sorcery.conf.sample,
  1564. main/bucket.c, include/asterisk/sorcery.h,
  1565. res/res_pjsip/pjsip_configuration.c, tests/test_sorcery_astdb.c:
  1566. Prevent duplicate sorcery wizards from being applied to sorcery
  1567. object types. This commit contains several changes to sorcery: 1)
  1568. Application of sorcery configuration based on module name is
  1569. automatically performed when sorcery is opened for a module. 2)
  1570. Sorcery will not attempt to apply the same wizard to an object
  1571. type more than once. 3) Sorcery gives more exact results when
  1572. attempting to apply a wizard, whether as the default or based on
  1573. configuration. Sorcery unit tests still pass for me after making
  1574. these changes. Review: https://reviewboard.asterisk.org/r/3326
  1575. * res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
  1576. res/res_pjsip_messaging.c, res/res_pjsip.c,
  1577. include/asterisk/res_pjsip.h: Add a "message_context" option for
  1578. PJSIP endpoints.
  1579. 2014-03-25 16:55 +0000 [r411141] Richard Mudgett <rmudgett@digium.com>
  1580. * include/asterisk/res_pjsip.h, res/res_pjsip/pjsip_options.c,
  1581. res/res_pjsip.c: res_pjsip: Fix contact authenticate_qualify
  1582. endpoint lookup when qualifing a contact. * Fixed bad use of
  1583. ao2_find() in on_endpoint(). * Replaced use of find_endpoints()
  1584. with find_an_endpoint() since only the first found endpoint is
  1585. ever needed. * Fixed qualify_contact_cb() to update the contact
  1586. with the aor authenticate_qualify setting. Otherwise, permanent
  1587. contacts in the aor type sections would have a config line order
  1588. dependancy. * Fixed off nominal path contact ref leak in
  1589. qualify_contact(). The comment saying the unref is not needed was
  1590. wrong. * Fixed off nominal path use of the endpoint parameter if
  1591. it is NULL in send_out_of_dialog_request(). * Added missing off
  1592. nominal path unref of pjsip tdata in
  1593. send_out_of_dialog_request(). * Fixed off nominal path failing to
  1594. call the callback in send_request_cb() when the request is
  1595. challenged for authentication. * Eliminated silly RAII_VAR() use
  1596. in qualify_contact_cb(). * Updated ast_sip_send_request() doxygen
  1597. to better reflect reality. (closes issue ASTERISK-23254) Reported
  1598. by: rmudgett Review: https://reviewboard.asterisk.org/r/3381/
  1599. 2014-03-25 16:04 +0000 [r411091] Kinsey Moore <kmoore@digium.com>
  1600. * /, channels/chan_sip.c: chan_sip: Fix incorrect use of timers If
  1601. update_provisional_keepalive() is called while
  1602. send_provisional_keepalive_full() is waiting on the PVT lock,
  1603. then pvt->provisional_keepalive_sched_id will be changed to a new
  1604. sched_id value by update_provisional_keepalive(), but that new
  1605. sched_id then may be overwritten with -1 by
  1606. send_provisional_keepalive_full(), killing the pvt's reference to
  1607. a schedule and "leaking" the reference. (closes issue
  1608. ASTERISK-22079) Review: https://reviewboard.asterisk.org/r/3368/
  1609. Reported by: Jamuel Starkey, Matteo, Leif Madsen, Steve Davies
  1610. Patches: provisional_keepalive_fix.diff uploaded by Steve Davies
  1611. (license 5012) ........ Merged revisions 411088 from
  1612. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1613. revisions 411089 from
  1614. http://svn.asterisk.org/svn/asterisk/branches/11
  1615. 2014-03-25 15:44 +0000 [r411086] Jonathan Rose <jrose@digium.com>
  1616. * res/res_stasis.c: ARI: Resolve a subscription leak against
  1617. implicit bridge subscriptions When a channel in a stasis
  1618. application is joined to a bridge, a subscription for that bridge
  1619. is created implicitly for the stasis application serving the
  1620. channel. Prior to this patch, subsequent removals of the channel
  1621. from the bridge would leave the subscription open. Review:
  1622. https://reviewboard.asterisk.org/r/3380/
  1623. 2014-03-24 21:38 +0000 [r411023] Joshua Colp <jcolp@digium.com>
  1624. * /, channels/chan_sip.c: chan_sip: Always use fromdomain if set
  1625. for domain, even if callerid is set to restricted. (closes issue
  1626. ASTERISK-20841) Reported by: Kelly Goedert ........ Merged
  1627. revisions 411021 from
  1628. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1629. revisions 411022 from
  1630. http://svn.asterisk.org/svn/asterisk/branches/11
  1631. 2014-03-21 16:01 +0000 [r410995] Richard Mudgett <rmudgett@digium.com>
  1632. * res/res_pjsip_registrar.c: res_pjsip_registrar.c: Miscellaneous
  1633. cleanup in rx_task(). * Fix variable shadowing of 'updated' by
  1634. renaming it to 'contact_update'. * Checked 'contact_update' for
  1635. ast_sorcery_copy() failure. * Removed silly use of RAII_VAR() for
  1636. 'contact_update'.
  1637. 2014-03-20 22:54 +0000 [r410966] Jonathan Rose <jrose@digium.com>
  1638. * /, apps/app_confbridge.c: app_confbridge: Fix bug - users with
  1639. startmuted set don't start muted (closes issue ASTERISK-23461)
  1640. Reported by: Chico Manobela Review:
  1641. https://reviewboard.asterisk.org/r/3373/ ........ Merged
  1642. revisions 410965 from
  1643. http://svn.asterisk.org/svn/asterisk/branches/11
  1644. 2014-03-20 16:27 +0000 [r410949] Richard Mudgett <rmudgett@digium.com>
  1645. * include/asterisk/channel.h, res/ari/resource_channels.c,
  1646. res/res_stasis_snoop.c, include/asterisk/rtp_engine.h,
  1647. main/dial.c, main/manager.c, main/channel_internal_api.c,
  1648. main/core_unreal.c: assigned-uniqueids: Miscellaneous cleanup and
  1649. fixes. * Fix memory leak in ast_unreal_new_channels(). Made it
  1650. generate the ;2 uniqueid on a stack variable instead of mallocing
  1651. it. * Made send error response to ARI and AMI requests instead of
  1652. just logging excessive uniqueid length and allowing truncation.
  1653. action_originate() and ari_channels_handle_originate_with_id(). *
  1654. Fixed minor truncating uniqueid hole when generating the ;2
  1655. uniqueid string length. Created public and internal lengths of
  1656. uniqueid. The internal length can handle a max public uniqueid
  1657. plus an appended ;2. * free() and ast_free() are NULL tolerant so
  1658. they don't need a NULL test before calling. * Made use better
  1659. struct initialization format instead of the position dependent
  1660. initialization format. Also anything not explicitly initialized
  1661. in the struct is initialized to zero by the compiler. * Made
  1662. ast_channel_internal_set_fake_ids() use the safer
  1663. ast_copy_string() instead of strncpy(). Review:
  1664. https://reviewboard.asterisk.org/r/3371/
  1665. 2014-03-19 17:26 +0000 [r410933] Mark Michelson <mmichelson@digium.com>
  1666. * res/res_pjsip_endpoint_identifier_ip.c: PJSIP: Allow for identify
  1667. sections to be specified in sorcery.conf. "identify" is a special
  1668. type of configuration object in PJSIP because unlike the other
  1669. objects, it is not provided by the base res_pjsip module.
  1670. Instead, it is provided by the res_pjsip_endpoint_identifier_ip
  1671. module. If using the default sorcery wizard
  1672. (config,criteria=type=identify) then things work because the
  1673. module that applies the default wizard is the correct module.
  1674. However, if attempting to use sorcery.conf to apply an alternate
  1675. wizard, it was not possible. If you attempted to specify the
  1676. identify object type in the res_pjsip section, then the object
  1677. could not be registered since the object was undocumented for the
  1678. res_pjsip module. There was no alternate configuration section
  1679. defined for it, so you were out of luck if you wanted to override
  1680. the default wizard. With this change, the identify section will
  1681. properly have a sorcery.conf-based wizard applied when the
  1682. identify definition is within the
  1683. res_pjsip_endpoint_identifier_ip section.
  1684. 2014-03-19 14:24 +0000 [r410904-410918] Joshua Colp <jcolp@digium.com>
  1685. * res/res_stasis.c: res_stasis: Fix a bug where the default bridge
  1686. type was not set.
  1687. * CHANGES, res/res_stasis.c, rest-api/api-docs/bridges.json,
  1688. res/ari/resource_bridges.h: res_stasis: Extend bridge type to be
  1689. a comma separated list of bridge attributes. This change turns
  1690. the bridge type field into a comma separated list of attributes.
  1691. These attributes include: mixing, holding, dtmf_events, and
  1692. proxy_media. By setting the various attributes a user can control
  1693. the type of bridge created with the behavior they need for their
  1694. application. (closes issue ASTERISK-23437) Reported by: Matt
  1695. Jordan Review: https://reviewboard.asterisk.org/r/3359/
  1696. 2014-03-19 02:29 +0000 [r410890] Matthew Jordan <mjordan@digium.com>
  1697. * res/res_ari.c: res_ari: Fix documentation schema error
  1698. 2014-03-18 23:31 +0000 [r410876] Rusty Newton <rnewton@digium.com>
  1699. * res/res_ari.c: res_ari: Add notes about Asterisk HTTP server to
  1700. the "enabled" config option for the res_ari general section Added
  1701. note and see-also reminding user to enable the HTTP server.
  1702. (closes issue ASTERISK-22499) Reported by: Rusty Newton
  1703. 2014-03-18 15:28 +0000 [r410861] Matthew Jordan <mjordan@digium.com>
  1704. * main/cdr.c: cdr: Add asserts for when we don't know about a CDR
  1705. for a channel In the CDR core, every channel should either be
  1706. filtered out (due to being an 'internal' channel used as an
  1707. implementation detail, such as playing media back into a bridge)
  1708. or it should get a CDR. Even if that CDR ends up being discarded,
  1709. we still give the channel a CDR in case we end up needing it. If
  1710. we hit a situation where a channel does not have a CDR, we should
  1711. blow up in -dev-mode. Asserts are appropriate for that. This
  1712. patch adds those asserts, as they would have quickly caught the
  1713. error fixed by r410814.
  1714. 2014-03-18 14:51 +0000 [r410858] Scott Griepentrog <sgriepentrog@digium.com>
  1715. * main/http.c: ARI: allow json content type with zero length body
  1716. When a request was received with a Content-type of json, the body
  1717. was sent for json parsing - even if it was zero length. This
  1718. resulted in ARI requests failing that were valid, such as a
  1719. channel DELETE with no parameters. The code has now been changed
  1720. to skip json parsing with zero content length. (closes issue
  1721. SWP-6748) Reported by: Samuel Galarneau Review:
  1722. https://reviewboard.asterisk.org/r/3360/
  1723. 2014-03-18 12:45 +0000 [r410844] Joshua Colp <jcolp@digium.com>
  1724. * res/res_pjsip/config_system.c: res_pjsip: Fix memory leak of
  1725. nameservers in off-nominal resolver creation failure. Thanks
  1726. Walter Doekes!
  1727. 2014-03-18 11:51 +0000 [r410830] Sean Bright <sean@malleable.com>
  1728. * res/res_fax_spandsp.c, /: res_fax_spandsp: Use g711_free() when
  1729. available. Per Johann Steinwendtner on the asterisk-dev mailing
  1730. list:
  1731. http://lists.digium.com/pipermail/asterisk-dev/2014-March/066102.html
  1732. g711_free() was introduced in spandsp 0.0.6pre4 and
  1733. g711_release() became a noop. I opted not to remove the call to
  1734. g711_release() since it is harmless and to call g711_free() if we
  1735. have a sufficiently recent version of spandsp. (issue
  1736. ASTERISK-20149) Reported by: Alexandr Gordeev ........ Merged
  1737. revisions 410829 from
  1738. http://svn.asterisk.org/svn/asterisk/branches/11
  1739. 2014-03-18 02:02 +0000 [r410813] Richard Mudgett <rmudgett@digium.com>
  1740. * main/stasis_cache.c: stasis_cache: Use the right variable in the
  1741. cache entry ao2 cmp function.
  1742. 2014-03-17 22:53 +0000 [r410793-410795] Joshua Colp <jcolp@digium.com>
  1743. * CHANGES, res/res_pjsip/include/res_pjsip_private.h,
  1744. res/res_pjsip.c, main/dns.c, res/res_pjsip/config_system.c,
  1745. include/asterisk/dns.h: res_pjsip: Enable PJSIP DNS client
  1746. support. This change enables DNS client support within PJSIP.
  1747. System nameservers are automatically discovered using res_init or
  1748. res_ninit. If this fails then PJSIP will resort to using
  1749. gethostbyname for resolution. By enabling this support we gain
  1750. SRV support, failover, and weight support. (closes issue
  1751. ASTERISK-23435) Reported by: Matt Jordan Review:
  1752. https://reviewboard.asterisk.org/r/3343/
  1753. * res/res_pjsip_multihomed.c: res_pjsip_multihomed: Make address
  1754. replacement less aggressive. This change makes the
  1755. res_pjsip_multihomed module less aggressive when changing the
  1756. address in messages. It will now only occur if the transport in
  1757. use is bound to the any address OR if the system determined
  1758. source address matches the bound address of the transport in use.
  1759. Review: https://reviewboard.asterisk.org/r/3369/
  1760. 2014-03-17 21:56 +0000 [r410747-410750] Russ Meyerriecks <rmeyerreicks@digium.com>
  1761. * /, main/callerid.c: !fixup: callerid: Logic error in checksum
  1762. processing Fixes syntax error in previous commit :-( ........
  1763. Merged revisions 410748 from
  1764. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  1765. revisions 410749 from
  1766. http://svn.asterisk.org/svn/asterisk/branches/11
  1767. * main/callerid.c, /: callerid: Logic error in checksum processing
  1768. Callerid checksum-ing was being handled incorrectly here. When
  1769. the checksum is calculated to be 0x00, it will perform 0x100-0x00
  1770. which results in 0x100. This value will then fail the otherwise
  1771. correct callerid message. This patch changes the logic to simply
  1772. add the calculated checksum to the transmitted 2's compliment
  1773. checksum. Review: https://reviewboard.asterisk.org/r/3356/
  1774. (closes issue ASTERISK-23488) ........ Merged revisions 410710
  1775. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  1776. Merged revisions 410717 from
  1777. http://svn.asterisk.org/svn/asterisk/branches/11
  1778. 2014-03-17 18:36 +0000 [r410673-410696] Mark Michelson <mmichelson@digium.com>
  1779. * res/res_mwi_external.c, res/res_pjsip/config_system.c,
  1780. configs/sorcery.conf.sample, include/asterisk/sorcery.h,
  1781. res/res_pjsip/pjsip_configuration.c, tests/test_sorcery_astdb.c,
  1782. tests/test_sorcery.c, tests/test_sorcery_realtime.c,
  1783. main/sorcery.c: Revert changes to sorcery that accidentally got
  1784. committed. These changes were still up for review and have not
  1785. been approved yet. I must have had the changes in my working copy
  1786. when making a different change.
  1787. * tests/test_sorcery.c, main/channel.c,
  1788. res/res_pjsip/config_system.c, res/res_mwi_external.c,
  1789. include/asterisk/bridge_channel.h, funcs/func_frame_trace.c,
  1790. configs/sorcery.conf.sample, res/res_pjsip/pjsip_configuration.c,
  1791. include/asterisk/sorcery.h, tests/test_sorcery_astdb.c,
  1792. include/asterisk/frame.h, main/bridge_channel.c,
  1793. tests/test_sorcery_realtime.c, main/sorcery.c,
  1794. res/res_stasis_playback.c, main/frame.c,
  1795. bridges/bridge_softmix.c: Fix stuck channel in ARI through the
  1796. introduction of synchronous bridge actions. Playing back a file
  1797. to a channel in an ARI bridge would attempt to wait until the
  1798. playback concluded before returning. The method used involved
  1799. signaling the waiting thread in the ARI custom playback function.
  1800. The problem with this is that there were some corner cases that
  1801. were not accounted for: * If a bridge channel could not be found,
  1802. then we never would attempt the playback but would still attempt
  1803. to wait for the playback to complete. * If the bridge playfile
  1804. action failed to queue, we would still attempt to wait for the
  1805. playback to complete. * If the bridge playfile action were queued
  1806. but some circumstance caused the playback not to occur (the
  1807. bridge dies, the channel is removed from the bridge), then we
  1808. would never be notified. The solution to this is to move the
  1809. waiting logic into the bridge code. A new bridge API function is
  1810. added to queue a synchronous action on a bridge. The waiting
  1811. thread is notified when the queued frame has been freed, either
  1812. due to an error occurring or due to successful playback. As a
  1813. failsafe, the waiting thread has a 10 minute timeout just in case
  1814. there is a frame leak somewhere. Review:
  1815. https://reviewboard.asterisk.org/r/3338
  1816. 2014-03-17 16:42 +0000 [r410671] Richard Mudgett <rmudgett@digium.com>
  1817. * apps/confbridge/conf_chan_announce.c: app_confbridge: Add missing
  1818. destructor call to announcer channel destructor.
  1819. 2014-03-16 20:20 +0000 [r410650] Matthew Jordan <mjordan@digium.com>
  1820. * res/stasis/app.c: stasis/app.c: Add some extra debugging for
  1821. subscription counts Events are sent to a connected ARI
  1822. application based on the things that ARI application cares about.
  1823. These subscriptions can be set up implicitly - such as when that
  1824. ARI application creates a new object - or explicitly, via the
  1825. application resource's subscription operations. Debugging *why*
  1826. something was being sent to an application - or why something was
  1827. not being sent to an application - was a bit tricky, as there was
  1828. no debug information for the subscriptions. This patch adds some
  1829. debug level 3 statements that show the subscription counts for
  1830. applications. (Level 3 was chosen as it matches the verbose level
  1831. 3 statements elsewhere)
  1832. 2014-03-14 21:55 +0000 [r410625] Mark Michelson <mmichelson@digium.com>
  1833. * tests/test_sorcery_realtime.c: Fix failing realtime sorcery
  1834. tests. The store realtime callback needs to return a positive
  1835. value for sorcery to treat the store as a success.
  1836. 2014-03-14 21:28 +0000 [r410623] Jonathan Rose <jrose@digium.com>
  1837. * main/manager.c, /: manager: fix memory leak in manager_add_filter
  1838. function (closes issue ASTERISK-23420) Reported by: Etienne
  1839. Lessard Patches: manager_eventfilter_leak uploaded by Etienne
  1840. Lessard (license 6394) ........ Merged revisions 410609 from
  1841. http://svn.asterisk.org/svn/asterisk/branches/11
  1842. 2014-03-14 20:53 +0000 [r410590-410607] Mark Michelson <mmichelson@digium.com>
  1843. * main/db.c, /: Remove an extra ast_cond_wait() that slipped
  1844. through the patch. ........ Merged revisions 410606 from
  1845. http://svn.asterisk.org/svn/asterisk/branches/11
  1846. * main/config.c, res/res_sorcery_realtime.c: Handle the return
  1847. values of realtime updates and stores more accurately. Realtime
  1848. backends' update and store callbacks return the number of rows
  1849. affected, or -1 if there was a failure. There were a couple of
  1850. issues: * The config API was treating 0 as a successful return,
  1851. and positive values as a failure. Now the config API treats
  1852. anything >= 0 as a success. * res_sorcery_realtime was treating 0
  1853. as a successful return from the store procedure, and any positive
  1854. values as a failure. Now sorcery treats anything > 0 as a
  1855. success. It still considers 0 a "failure" since there is no
  1856. change to report to observers. Review:
  1857. https://reviewboard.asterisk.org/r/3341
  1858. * res/res_pjsip_mwi.c: Prevent conflicts regarding unsolicited and
  1859. solicited MWI to an endpoint. If an endpoint is receiving
  1860. unsolicited MWI for a mailbox and then attempts to subscribe to
  1861. an AOR that provides MWI for the same mailbox, then the SUBSCRIBE
  1862. is rejected with a 500 response. Review:
  1863. https://reviewboard.asterisk.org/r/3345
  1864. 2014-03-14 17:56 +0000 [r410588] Scott Griepentrog <sgriepentrog@digium.com>
  1865. * CHANGES: uniqueid: Update CHANGES to reflect new features Note
  1866. the new features provided by uniqueid in the CHANGES file. (issue
  1867. ASTERISK-23120) Review: https://reviewboard.asterisk.org/r/3316/
  1868. 2014-03-14 16:26 +0000 [r410574] Jonathan Rose <jrose@digium.com>
  1869. * CHANGES, res/res_pjsip/config_transport.c,
  1870. include/asterisk/acl.h, main/acl.c,
  1871. res/res_pjsip/pjsip_configuration.c: PJSIP: TOS values should be
  1872. represented as decimals in sorcery objects (closes issue
  1873. ASTERISK-23235) Reported by: George Joseph Review:
  1874. https://reviewboard.asterisk.org/r/3324/
  1875. 2014-03-14 16:11 +0000 [r410559] Mark Michelson <mmichelson@digium.com>
  1876. * main/db.c, /: Prevent delayed astdb syncs. The syncing thread
  1877. sleeps for a second before waiting to be told to attempt to sync
  1878. again. If a signal were sent during this sleeping period, we
  1879. would end up having to wait until the next sync signal occurred
  1880. in order to sync up the astdb. This code rearrangement also
  1881. ensures that any pending transactions will be synced prior to
  1882. Asterisk shutting down. Patches: db_sync.patch by John Hardin
  1883. (License #6512) ........ Merged revisions 410556 from
  1884. http://svn.asterisk.org/svn/asterisk/branches/11
  1885. 2014-03-14 16:05 +0000 [r410558] Jonathan Rose <jrose@digium.com>
  1886. * res/ari/resource_bridges.c: ARI/bridges: Forward
  1887. Playback/Recording Started/Finished to bridge topic (closes issue
  1888. ASTERISK-23444) Reported by: Ben Merrills Review:
  1889. https://reviewboard.asterisk.org/r/3340/
  1890. 2014-03-14 15:55 +0000 [r410541-410555] Richard Mudgett <rmudgett@digium.com>
  1891. * include/asterisk/app.h, res/res_mwi_external.c, main/app.c:
  1892. res_mwi_external: Clear the stasis cache entry when the external
  1893. MWI is deleted. One of the things missing when external MWI
  1894. support was added was the ability to clear the stasis cache entry
  1895. of deleted external MWI mailboxes. Review:
  1896. https://reviewboard.asterisk.org/r/3325/
  1897. * main/cdr.c: cdr.c: Add missing aow_unlock(cdr) in off nominal
  1898. path of handle_dial_message(). * Trivial common code hoisting in
  1899. handle_bridge_leave_message(). * Some whitespace fixing.
  1900. 2014-03-13 19:30 +0000 [r410527] Kinsey Moore <kmoore@digium.com>
  1901. * res/stasis/control.c, res/stasis/control.h, res/res_stasis.c:
  1902. ARI: Ensure managing application receives ChannelEnteredBridge
  1903. messages This fixes an issue where a Stasis application running
  1904. over ARI and subscribed to ari/events could miss the
  1905. ChannelEnteredBridge event because it did not subscribe to the
  1906. new bridge fast enough. To accomplish this, it subscribes the
  1907. application controlling the channel to the new bridge before
  1908. adding it to that bridge which required the stasis_app_control
  1909. structure to maintain a reference to the stasis_app. (closes
  1910. issue ASTERISK-23295) Review:
  1911. https://reviewboard.asterisk.org/r/3336/
  1912. 2014-03-13 13:24 +0000 [r410509-410510] Joshua Colp <jcolp@digium.com>
  1913. * res/res_pjsip_multihomed.c: res_pjsip_multihomed: Remove change
  1914. for testing fix.
  1915. * res/res_pjsip_multihomed.c: res_pjsip_multihomed: Fix a bug where
  1916. the 200 OK for a REGISTER would contain the wrong contact.
  1917. 2014-03-12 19:05 +0000 [r410491-410493] Richard Mudgett <rmudgett@digium.com>
  1918. * res/res_musiconhold.c, main/channel.c: res_musiconhold.c:
  1919. Generate MOH start/stop events whenever the MOH stream is
  1920. started/stopped. * Made res_musiconhold.c always post the
  1921. MusicOnHoldStart/MusicOnHoldStop events when it actually
  1922. starts/stops the music streams. This allows the events to always
  1923. happen when MOH starts/stops. The event posting code was moved to
  1924. the MOH alloc/release routines. * Made channel_do_masquerade()
  1925. stop any MOH on the original channel before masquerading so the
  1926. original channel will get a stop event with correct information.
  1927. * Cleaned up a couple odd codings in moh_files_alloc() and
  1928. moh_alloc() dealing with the music state variable. (issue
  1929. ASTERISK-23311) Reported by: Benjamin Keith Ford Review:
  1930. https://reviewboard.asterisk.org/r/3306/
  1931. * apps/confbridge/conf_state.c,
  1932. apps/confbridge/conf_state_single.c,
  1933. apps/confbridge/conf_state_inactive.c,
  1934. apps/confbridge/conf_state_single_marked.c, /: app_confbridge:
  1935. Make explicitly stop MOH if a user is kicked or hangs up while
  1936. MOH is playing. When MOH is playing to a user in a conference and
  1937. the user is kicked or hangs up from the conference then the AMI
  1938. MusicOnHoldStop events didn't happen. (Asterisk v11 AMI event:
  1939. MusicOnHold, state:Stop) (closes issue ASTERISK-23311) Reported
  1940. by: Benjamin Keith Ford Review:
  1941. https://reviewboard.asterisk.org/r/3306/ ........ Merged
  1942. revisions 410490 from
  1943. http://svn.asterisk.org/svn/asterisk/branches/11
  1944. 2014-03-12 12:50 +0000 [r410451-410471] Joshua Colp <jcolp@digium.com>
  1945. * res/res_pjsip_multihomed.c: res_pjsip_multihomed: Fix a bug where
  1946. outgoing messages for TCP would go out using UDP. This change
  1947. fixes a bug where the code which changes the transport did not
  1948. check whether the message is going out over UDP or not before
  1949. changing it. For TCP and TLS transports we don't need to change
  1950. the transport as the correct one is already chosen.
  1951. * res/res_pjsip_multihomed.c (added): res_pjsip_multihomed: Add
  1952. module which places the correct address within messages. Due to
  1953. how messages are handled within PJSIP it is not until a message
  1954. is actually sent that the destination is reliably known. This
  1955. means that the addresses placed within the message may not be of
  1956. the interface the message is being sent out on. This module
  1957. determines what interface a message is being sent on and updates
  1958. the message to contain the correct address if applicable. This
  1959. module was tested by myself in a virtualized environment with
  1960. multiple interfaces and also by Kinsey Moore in the following
  1961. configuration: Networks: * 10.24.16.0/21 ** hard phone ** default
  1962. gateway * 10.24.64.0/21 ** softphone with pjsip-based stack
  1963. Transport details: bind address: 0.0.0.0 protocol: UDP All
  1964. endpoints were tested with explicitly configured transports and
  1965. unconfigured transports. This was tested with inbound and
  1966. outbound calls, both of which were experiencing detrimental
  1967. effects from incorrect IP addresses in SIP messages. These
  1968. effects were only experienced by the soft phone on the 10.24.64.0
  1969. network since the messages to the hard phone on the 10.24.16.0
  1970. network had the correct IP address. (closes issue ASTERISK-23020)
  1971. Reported by: xrobau Review:
  1972. https://reviewboard.asterisk.org/r/3102/
  1973. 2014-03-10 17:16 +0000 [r410383] Richard Mudgett <rmudgett@digium.com>
  1974. * main/http.c, /: AST-2014-001: Stack overflow in HTTP processing
  1975. of Cookie headers. Sending a HTTP request that is handled by
  1976. Asterisk with a large number of Cookie headers could overflow the
  1977. stack. Another vulnerability along similar lines is any HTTP
  1978. request with a ridiculous number of headers in the request could
  1979. exhaust system memory. (closes issue ASTERISK-23340) Reported by:
  1980. Lucas Molas, researcher at Programa STIC, Fundacion; and Dr.
  1981. Manuel Sadosky, Buenos Aires, Argentina ........ Merged revisions
  1982. 410380 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  1983. ........ Merged revisions 410381 from
  1984. http://svn.asterisk.org/svn/asterisk/branches/11
  1985. 2014-03-10 16:32 +0000 [r410368] Scott Griepentrog <sgriepentrog@digium.com>
  1986. * main/manager.c, res/ari/resource_channels.c: unqiueid: correct
  1987. max uniqueid length test This patch adds null string test prior
  1988. to checking for a max uniqueid value that was added in r410157.
  1989. 2014-03-10 13:25 +0000 [r410329] Kinsey Moore <kmoore@digium.com>
  1990. * /, channels/chan_sip.c: AST-2014-002: chan_sip: Exit early on bad
  1991. session timers request This change allows chan_sip to avoid
  1992. creation of the channel and consumption of associated file
  1993. descriptors altogether if the inbound request is going to be
  1994. rejected anyway. (closes issue ASTERISK-23373) Reported by: Corey
  1995. Farrell Patches: chan_sip-earlier-st-1.8.patch uploaded by Corey
  1996. Farrell (license 5909) chan_sip-earlier-st-11.patch uploaded by
  1997. Corey Farrell (license 5909) ........ Merged revisions 410308
  1998. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  1999. Merged revisions 410311 from
  2000. http://svn.asterisk.org/svn/asterisk/branches/11
  2001. 2014-03-10 12:52 +0000 [r410306] Joshua Colp <jcolp@digium.com>
  2002. * res/res_pjsip/pjsip_options.c, res/res_pjsip.c: AST-2014-003:
  2003. res_pjsip: When handling 401/407 responses don't assume a request
  2004. will have an endpoint. This change removes the assumption that an
  2005. outgoing request will always have an endpoint and makes the
  2006. authenticate_qualify option work once again. (closes issue
  2007. ASTERISK-23210) Reported by: Joshua Colp
  2008. 2014-03-08 16:41 +0000 [r410287] George Joseph <george.joseph@fairview5.com>
  2009. * res/res_pjsip/config_transport.c, main/sorcery.c,
  2010. include/asterisk/res_pjsip.h, res/res_pjsip/config_auth.c,
  2011. res/res_pjsip/location.c, res/res_pjsip_outbound_registration.c,
  2012. res/res_pjsip_endpoint_identifier_ip.c,
  2013. include/asterisk/res_pjsip_cli.h, include/asterisk/sorcery.h,
  2014. res/res_pjsip/pjsip_cli.c, res/res_pjsip/pjsip_configuration.c:
  2015. pjsip_cli: Create pjsip show channel and contact, and general cli
  2016. code cleanup. Created the 'pjsip show channel' and 'pjsip show
  2017. contact' commands. Refactored out the hated ast_hashtab. Replaced
  2018. with ao2_container. Cleaned up function naming. Internal only, no
  2019. public name changes. Cleaned up whitespace and brace formatting
  2020. in cli code. Changed some NULL checking from "if"s to
  2021. ast_asserts. Fixed some register/unregister ordering to reduce
  2022. deadlock potential. Fixed ast_sip_location_add_contact where the
  2023. 'name' buffer was too short. Fixed some self-assignment issues in
  2024. res_pjsip_outbound_registration. (closes issue ASTERISK-23276)
  2025. Review: http://reviewboard.asterisk.org/r/3283/
  2026. 2014-03-08 15:43 +0000 [r410274] Matthew Jordan <mjordan@digium.com>
  2027. * res/ari/resource_channels.c: resource_channels: Check if a passed
  2028. in ID is NULL before checking its length Calling strlen on a NULL
  2029. string is explosive. This patch checks whether or not the passed
  2030. in string is NULL or zero length before checking to see if the
  2031. string is too long.
  2032. 2014-03-07 22:53 +0000 [r410226] Corey Farrell <git@cfware.com>
  2033. * /, channels/chan_sip.c: chan_sip: Fix deadlock of monlock between
  2034. unload_module and do_monitor Release monlock before calling
  2035. pthread_join. This ensures do_monitor cannot freeze by locking
  2036. monlock during module unload. (closes issue ASTERISK-21406)
  2037. Reported by: Corey Farrell Review:
  2038. https://reviewboard.asterisk.org/r/3284/ ........ Merged
  2039. revisions 410224 from
  2040. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2041. revisions 410225 from
  2042. http://svn.asterisk.org/svn/asterisk/branches/11
  2043. 2014-03-07 22:07 +0000 [r410211] Scott Griepentrog <sgriepentrog@digium.com>
  2044. * include/asterisk/sorcery.h: sorcery: correct field register
  2045. argument list This fixes mistakes I previously made in merging
  2046. gtjoseph's changes with mine.
  2047. 2014-03-07 21:53 +0000 [r410194-410209] Matthew Jordan <mjordan@digium.com>
  2048. * main/config_options.c: config_options: Display the see-also
  2049. information for CLI config option help The config option help
  2050. information has always parsed the <see-also> tags in the XML
  2051. documentation. Unfortunately, it just never bothered displaying
  2052. them on the CLI. With this patch, when you execute 'config show
  2053. help [module] [obj] [option]', it will display what other options
  2054. are useful to you. (closes issue ASTERISK-22008) Reported by:
  2055. Richard Mudgett
  2056. * res/res_pjsip.c: res_pjsip: Fix documentation for one touch
  2057. recording see-also links The one touch recording options have
  2058. several see-also links between the various configuration options.
  2059. These were 'broken' by the snake casing of those options. This
  2060. patch corrects the see-also links such that they reference the
  2061. correct option names.
  2062. 2014-03-07 21:10 +0000 [r410190] Scott Griepentrog <sgriepentrog@digium.com>
  2063. * main/sorcery.c, include/asterisk/sorcery.h,
  2064. res/res_pjsip/pjsip_configuration.c: pjsip: allow and disallow
  2065. show same codecs In order to prevent confusion over the allow and
  2066. disallow list of codecs being the same an option for registering
  2067. a field as an alias is added. The alias field will be read from
  2068. the configuration file, but afterwards is not listed as a known
  2069. field. With disallow set as an alias, the CLI command pjsip show
  2070. endpoint # will list the allow= field, but not the disallow
  2071. field. (closes issue ASTERISK-23092) Review:
  2072. https://reviewboard.asterisk.org/r/3193/
  2073. 2014-03-07 21:03 +0000 [r410187] Mark Michelson <mmichelson@digium.com>
  2074. * tests/test_sorcery_realtime.c, main/sorcery.c,
  2075. res/res_sorcery_realtime.c, include/asterisk/sorcery.h: Make
  2076. res_sorcery_realtime filter unknown retrieved results. When
  2077. retrieving data from a database or other realtime backend, it's
  2078. quite possible to retrieve variables that Asterisk does not care
  2079. about but that are legitimate to exist. Asterisk does not need to
  2080. throw a hissy fit when these variables are encountered but rather
  2081. just filter them out. Review:
  2082. https://reviewboard.asterisk.org/r/3305
  2083. 2014-03-07 20:28 +0000 [r410171-410184] Richard Mudgett <rmudgett@digium.com>
  2084. * include/asterisk/devicestate.h, main/stasis_cache.c,
  2085. main/stasis_message.c, tests/test_devicestate.c,
  2086. include/asterisk/stasis.h, main/app.c, main/devicestate.c,
  2087. tests/test_stasis.c: stasis cache: Enhance to keep track of an
  2088. item from different entities. A stasis cache entry now contains
  2089. more than a single message/snapshot. It contains
  2090. messages/snapshots for the local entity as well as any remote
  2091. entities that post to the cached item. In addition callbacks can
  2092. be supplied when the cache is created to compute and post the
  2093. aggregate message/snapshot representing all entities stored in
  2094. the cache entry. * All stasis messages now have an eid to
  2095. indicate what entity posted it. * The stasis cache enhancements
  2096. allow device state to cache and aggregate the device states from
  2097. local and remote entities in a single operation. The cached
  2098. aggregate device state is available immediately after it is
  2099. posted to the stasis bus. This improves performance by
  2100. eliminating a cache dump and associated ao2 container traversals
  2101. to calculate the aggregate state. (closes issue ASTERISK-23204)
  2102. Reported by: Mark Michelson Review:
  2103. https://reviewboard.asterisk.org/r/3281/
  2104. * tests/test_cel.c, channels/sig_pri.c, channels/sig_ss7.c,
  2105. include/asterisk/bridge.h, tests/test_cdr.c, channels/sig_pri.h,
  2106. channels/chan_dahdi.c, channels/sig_ss7.h: uniqueid: Fix
  2107. chan_dahdi, sig_pri, sig_ss7, test_cdr, and test_cel compiler
  2108. errors. (issue ASTERISK-23120)
  2109. 2014-03-07 15:46 +0000 [r410157] Scott Griepentrog <sgriepentrog@digium.com>
  2110. * addons/chan_mobile.c, main/bridge_channel.c,
  2111. channels/chan_pjsip.c, channels/chan_mgcp.c,
  2112. channels/chan_unistim.c, res/res_calendar_icalendar.c,
  2113. main/pbx.c, channels/chan_bridge_media.c, main/ccss.c,
  2114. main/bridge.c, tests/test_stasis_channels.c,
  2115. apps/app_originate.c, apps/app_bridgewait.c,
  2116. res/parking/parking_applications.c, include/asterisk/channel.h,
  2117. res/res_calendar_caldav.c, apps/app_queue.c, apps/app_followme.c,
  2118. main/cel.c, res/res_ari_channels.c,
  2119. rest-api/api-docs/bridges.json, res/res_calendar_ews.c,
  2120. main/dial.c, channels/chan_dahdi.c, channels/chan_h323.c,
  2121. tests/test_cel.c, rest-api/api-docs/channels.json,
  2122. include/asterisk/bridge_internal.h,
  2123. apps/confbridge/conf_chan_announce.c,
  2124. include/asterisk/core_unreal.h, res/res_calendar.c,
  2125. addons/chan_ooh323.c, channels/chan_sip.c, res/stasis/control.c,
  2126. main/channel_internal_api.c, include/asterisk/stasis_app.h,
  2127. channels/chan_console.c, res/res_stasis_snoop.c,
  2128. channels/chan_iax2.c, channels/chan_oss.c, apps/app_agent_pool.c,
  2129. main/channel.c, main/manager.c, channels/chan_misdn.c,
  2130. tests/test_voicemail_api.c, channels/chan_alsa.c,
  2131. channels/chan_nbs.c, main/message.c, tests/test_cdr.c,
  2132. res/res_clioriginate.c, res/res_ari_bridges.c,
  2133. tests/test_substitution.c, channels/chan_multicast_rtp.c,
  2134. res/res_stasis_playback.c, apps/app_meetme.c,
  2135. apps/confbridge/conf_chan_record.c, tests/test_app.c,
  2136. include/asterisk/channel_internal.h, main/bridge_basic.c,
  2137. main/core_unreal.c, channels/chan_gtalk.c,
  2138. include/asterisk/stasis_app_playback.h,
  2139. res/ari/resource_bridges.c, channels/chan_jingle.c,
  2140. channels/chan_phone.c, pbx/pbx_spool.c,
  2141. res/ari/resource_bridges.h, res/parking/parking_tests.c,
  2142. channels/chan_motif.c, apps/app_confbridge.c,
  2143. include/asterisk/pbx.h, res/ari/resource_channels.c,
  2144. res/res_stasis.c, include/asterisk/bridge.h,
  2145. res/ari/resource_channels.h, apps/app_voicemail.c,
  2146. apps/app_dial.c, res/res_calendar_exchange.c,
  2147. channels/chan_vpb.cc, apps/app_page.c, apps/app_chanisavail.c,
  2148. main/core_local.c, include/asterisk/dial.h,
  2149. res/parking/parking_bridge_features.c,
  2150. tests/test_stasis_endpoints.c, res/parking/parking_bridge.c,
  2151. channels/chan_skinny.c, include/asterisk/stasis_app_snoop.h:
  2152. uniqueid: channel linkedid, ami, ari object creation with id's
  2153. Much needed was a way to assign id to objects on creation, and
  2154. much change was necessary to accomplish it. Channel uniqueids and
  2155. linkedids are split into separate string and creation time
  2156. components without breaking linkedid propgation. This allowed the
  2157. uniqueid to be specified by the user interface - and those values
  2158. are now carried through to channel creation, adding the
  2159. assignedids value to every function in the chain including the
  2160. channel drivers. For local channels, the second channel can be
  2161. specified or left to default to a ;2 suffix of first. In ARI,
  2162. bridge, playback, and snoop objects can also be created with a
  2163. specified uniqueid. Along the way, the args order to allocating
  2164. channels was fixed in chan_mgcp and chan_gtalk, and linkedid is
  2165. no longer lost as masquerade occurs. (closes issue
  2166. ASTERISK-23120) Review: https://reviewboard.asterisk.org/r/3191/
  2167. 2014-03-07 04:51 +0000 [r410107] Matthew Jordan <mjordan@digium.com>
  2168. * /, channels/chan_sip.c: chan_sip: Allow static realtime members
  2169. to be qualified during module load. When a static realtime peer
  2170. with qualify=yes is loaded, Asterisk will fail to send an OPTIONS
  2171. request due to the lastms being equal to 0. This results in the
  2172. peer being unable to receive calls from Asterisk because the
  2173. status is permanently UNKNOWN. This patch allows an OPTIONS
  2174. request to be sent during module load by ignoring the lastms
  2175. value on startup only. Review:
  2176. https://reviewboard.asterisk.org/r/3294/ (closes issue
  2177. ASTERISK-17523) Reported by: Maciej Krajewski Tested by:
  2178. wushumasters patches: realtime_fix_11.7.0.txt uploaded by Trevor
  2179. Peirce (license 6112) ........ Merged revisions 410105 from
  2180. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2181. revisions 410106 from
  2182. http://svn.asterisk.org/svn/asterisk/branches/11
  2183. 2014-03-06 23:40 +0000 [r410090] Russell Bryant <russell@russellbryant.com>
  2184. * res/res_musiconhold.c, /: moh: fix a refcount error with realtime
  2185. MOH I observed a crash in res_musiconhold on an Asterisk 11
  2186. system using realtime MOH. Investigation of the backtrace showed
  2187. a corrupt mohclass, implying that it got destroyed before the
  2188. code expected it to. I went looking for reference counting errors
  2189. that could have caused this crash and this patch this result. It
  2190. contains 2 changes. 1) Remove a usless block of code that was
  2191. impossible to reach. There was even a comment indicating that it
  2192. was impossible to reach. The conditional includes
  2193. "!ast_test_flag(global_flags, MOH_CACHERTCLASSES)" and it's
  2194. inside of an if block with the opposite check
  2195. "ast_test_flag(global_flags, MOH_CACHERTCLASSES)". There's no
  2196. good reason to keep it around. 2) A similar block to #1 contained
  2197. a reference counting error. It stores state->class in the local
  2198. variable mohclass without increasing its reference count. The
  2199. reference count on mohclass is decremented at the end of the
  2200. function. This block of code probably very rarely runs, which
  2201. would help explain why this system was working fine for many
  2202. months before experiencing a crash. Review:
  2203. https://reviewboard.asterisk.org/r/3282/ ........ Merged
  2204. revisions 410043 from
  2205. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2206. revisions 410044 from
  2207. http://svn.asterisk.org/svn/asterisk/branches/11
  2208. 2014-03-06 23:35 +0000 [r410089] Richard Mudgett <rmudgett@digium.com>
  2209. * main/sorcery.c: sorcery.c: Fix off-nominal path ref and memory
  2210. leak in ast_sorcery_objectset_json_create(). * Made exit a loop
  2211. early on error in ast_sorcery_objectset_json_create(). * Removed
  2212. some dead code in ast_sorcery_objectset_create2().
  2213. 2014-03-06 18:50 +0000 [r410028] Jonathan Rose <jrose@digium.com>
  2214. * main/acl.c, res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
  2215. contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py
  2216. (added), res/res_pjsip/config_transport.c,
  2217. include/asterisk/acl.h: pjsip configuration: Make transport TOS
  2218. values consistent with endpoints Transport TOS values were
  2219. interpreted as DSCP values without being documented as such.
  2220. Endpoint TOS values (tos_audio/tos_video) behaved normally as TOS
  2221. values have historically. This patch makes the transport TOS
  2222. values behave as TOS values and makes all TOS values readable as
  2223. string values (e.g. AF11). In addition, alembic scripts have been
  2224. updated to use the proper field types for all TOS/COS values.
  2225. (issue ASTERISK-23235) Reported by: George Joseph Review:
  2226. https://reviewboard.asterisk.org/r/3304/
  2227. 2014-03-06 18:18 +0000 [r410025] Joshua Colp <jcolp@digium.com>
  2228. * res/res_stasis_recording.c, res/ari/resource_channels.c, CHANGES,
  2229. res/ari/ari_model_validators.c,
  2230. rest-api/api-docs/recordings.json, res/ari/resource_bridges.c,
  2231. res/ari/ari_model_validators.h,
  2232. include/asterisk/stasis_app_recording.h: res_stasis_recording:
  2233. Add a "target_uri" field to recording events. This change adds a
  2234. target_uri field to the live recording object. It contains the
  2235. URI of what is being recorded. (closes issue ASTERISK-23258)
  2236. Reported by: Ben Merrills Review:
  2237. https://reviewboard.asterisk.org/r/3299/
  2238. 2014-03-06 15:43 +0000 [r410011] Mark Michelson <mmichelson@digium.com>
  2239. * res/res_pjsip_mwi.c: Don't attempt to link in an aggregate MWI
  2240. subscription if an endpoint does not aggregate MWI. Attempting to
  2241. link a NULL object into an ao2 container had been benign
  2242. previously, but since enabling DO_CRASH in the testsuite, this is
  2243. now causing a crash. It's better to be right here anyway.
  2244. 2014-03-06 15:13 +0000 [r410006] George Joseph <george.joseph@fairview5.com>
  2245. * res/res_pjsip_outbound_registration.c, main/bucket.c,
  2246. res/res_pjsip_endpoint_identifier_ip.c,
  2247. include/asterisk/config.h, include/asterisk/sorcery.h,
  2248. res/res_pjsip/pjsip_configuration.c, res/res_pjsip_acl.c,
  2249. CHANGES, tests/test_sorcery.c, res/res_pjsip/config_transport.c,
  2250. main/config.c, main/sorcery.c, res/res_pjsip/config_auth.c,
  2251. funcs/func_sorcery.c (added), res/res_pjsip/location.c: sorcery:
  2252. Create AST_SORCERY dialplan function. This patch creates the
  2253. AST_SORCERY dialplan function which allows someone to retrieve
  2254. any value from a sorcery-based config file. It's similar to
  2255. AST_CONFIG. The creation of the function itself was fairly
  2256. straightforward but it required changes to the underlying sorcery
  2257. infrastructure that rippled into individual sorcery objects. The
  2258. changes stemmed from inconsistencies in how sorcery created
  2259. ast_variable objectsets from sorcery objects and the
  2260. inconsistency in how individual objects used that feature
  2261. especially when it came to parameters that can be specified
  2262. multiple times like contact in aor and match in identify. You can
  2263. read more here...
  2264. http://lists.digium.com/pipermail/asterisk-dev/2014-February/065202.html
  2265. So, what this patch does, besides actually creating the
  2266. AST_SORCERY function, is the following... * Creates
  2267. ast_variable_list_append which is a helper to append one
  2268. ast_variable list to another. * Modifies the
  2269. ast_sorcery_object_field_register functions to accept the
  2270. already-defined sorcery_fields_handler callback. * Modifies
  2271. ast_sorcery_objectset_create to accept a parameter indicating
  2272. return type preference...a single ast_variable with all values
  2273. concatenated or an ast_variable list with multiple entries. Also
  2274. fixed a few bugs. * Modifies individual sorcery object
  2275. implementations to use the new function definition of the
  2276. ast_sorcery_object_field_register functions. * Modifies
  2277. location.c and res_pjsip_endpoint_identifier_ip.c to implement
  2278. sorcery_fields_handler handlers so they return multiple
  2279. occurrences as an ast_variable_list. * Added a whole bunch of
  2280. tests to test_sorcery. (closes issue ASTERISK-22537) Review:
  2281. http://reviewboard.asterisk.org/r/3254/
  2282. 2014-03-06 02:05 +0000 [r409991] Matthew Jordan <mjordan@digium.com>
  2283. * res/res_fax_spandsp.c, /: res_fax_spandsp: Fix crash when passing
  2284. ulaw/alaw data to spandsp When acting as a T.38 fax gateway,
  2285. res_fax_spandsp would at times cause a crash in libspandsp. This
  2286. would occur when, during fax tone detection, a ulaw/alaw frame
  2287. would be passed to modem_connect_tones_rx. That particular
  2288. routine expects the data to be in slin format. This patch looks
  2289. at the frame type and, if the data is ulaw/alaw, converts the
  2290. format to slin before passing it to modem_connect_tones_rx.
  2291. Review: https://reviewboard.asterisk.org/r/3296 (closes issue
  2292. ASTERISK-20149) Reported by: Alexandr Gordeev Tested by: Michal
  2293. Rybarik patches: spandsp_g711decode.diff uploaded by Michal
  2294. Rybarik (license 6578) ........ Merged revisions 409990 from
  2295. http://svn.asterisk.org/svn/asterisk/branches/11
  2296. 2014-03-06 00:32 +0000 [r409967-409976] Richard Mudgett <rmudgett@digium.com>
  2297. * apps/confbridge/conf_state_inactive.c,
  2298. apps/confbridge/conf_state_multi.c: app_confbridge: Remove some
  2299. noop code.
  2300. * res/res_musiconhold.c: res_musiconhold.c: Remove some unnecessary
  2301. RAII_VAR() usage. * Made the moh_register() define use useful
  2302. parameter names.
  2303. 2014-03-05 20:40 +0000 [r409900-409918] Kinsey Moore <kmoore@digium.com>
  2304. * main/config.c, /: config: Fix inverted test The test of the
  2305. result of the stat() call was inverted such that its output was
  2306. only used if the call failed. This inverts the test so that the
  2307. output of stat() is used correctly. This was causing full reloads
  2308. on unchanged files. (closes issue ASTERISK-23383) Reported by:
  2309. David Woolley ........ Merged revisions 409916 from
  2310. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2311. revisions 409917 from
  2312. http://svn.asterisk.org/svn/asterisk/branches/11
  2313. * bridges/bridge_native_rtp.c: bridge_native_rtp: Fix crash
  2314. involving masquerade It is possible for a channel to be
  2315. masqueraded out of a bridge which means it may no longer have RTP
  2316. glue to check upon leaving said bridge. If this situation
  2317. occurred (it's possible at least during dial and call pickup)
  2318. then Asterisk would crash. This change makes sure the glue is
  2319. checked before use. (closes issue AST-1290) Reported by: John
  2320. Bigelow
  2321. 2014-03-05 18:46 +0000 [r409887] Mark Michelson <mmichelson@digium.com>
  2322. * funcs/func_presencestate.c, /: Fix documentation for
  2323. PRESENCE_STATE to properly illustrate how to create a presence
  2324. hint. There was a missing comma. This was discovered by Dan
  2325. Kaplan. ........ Merged revisions 409886 from
  2326. http://svn.asterisk.org/svn/asterisk/branches/11
  2327. 2014-03-05 18:40 +0000 [r409885] Richard Mudgett <rmudgett@digium.com>
  2328. * contrib/ast-db-manage/cdr/versions (added),
  2329. contrib/ast-db-manage/cdr/versions/210693f3123d_create_cdr_table.py
  2330. (added),
  2331. contrib/ast-db-manage/config/versions/28887f25a46f_create_queue_tables.py
  2332. (added), contrib/ast-db-manage/cdr.ini.sample (added),
  2333. contrib/ast-db-manage/cdr/env.py (added),
  2334. contrib/ast-db-manage/cdr (added),
  2335. contrib/ast-db-manage/cdr/script.py.mako (added): alembic: Add
  2336. missing queue and CDR table creation scripts. * Added the queues
  2337. and queue_members tables to the config alembic scripts. * Added
  2338. the CDR table alembic creation script. The CDR table is more of
  2339. an example for new setups since the actual table can be fully
  2340. customized in cdr_adaptive_odbc.conf. (closes issue
  2341. ASTERISK-23233) Reported by: jmls Review:
  2342. https://reviewboard.asterisk.org/r/3227/
  2343. 2014-03-05 16:57 +0000 [r409835] David M. Lee <dlee@digium.com>
  2344. * /, configure, include/asterisk/autoconfig.h.in, configure.ac,
  2345. main/config.c: Corrected cross-platform stat nanosecond code When
  2346. nanosecond time resolution was added for identifying config file
  2347. changes, it didn't cover all of the myriad of ways that one might
  2348. obtain nanosecond time resolution off of struct stat. Rather than
  2349. complicate the #if even further figuring out one system from the
  2350. next, this patch directly tests for the three struct members I
  2351. know about today, and #ifdef's accordingly. Review:
  2352. https://reviewboard.asterisk.org/r/3273/ ........ Merged
  2353. revisions 409833 from
  2354. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2355. revisions 409834 from
  2356. http://svn.asterisk.org/svn/asterisk/branches/11
  2357. 2014-03-05 12:05 +0000 [r409779] Sean Bright <sean@malleable.com>
  2358. * /, contrib/scripts/astgenkey, contrib/scripts/astgenkey.8: Fix
  2359. references to 'keys' CLI commands in astgenkey ........ Merged
  2360. revisions 409777 from
  2361. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2362. revisions 409778 from
  2363. http://svn.asterisk.org/svn/asterisk/branches/11
  2364. 2014-03-05 06:30 +0000 [r409746-409762] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
  2365. * channels/chan_unistim.c, /: Correct RTP handling in chan_unistim
  2366. and fix transfer process broken in previous fix: - Fixed too
  2367. early RTP setup with phone, that cause no ringback tone on caller
  2368. side - Handle call transfer cancel only in STATE_CALL case
  2369. (related to ASTERISK-23073) (Reported by: Németh Tamás, niurkin
  2370. sil) ........ Merged revisions 409761 from
  2371. http://svn.asterisk.org/svn/asterisk/branches/11
  2372. * channels/chan_unistim.c, /: Add update_peer function to
  2373. unistim_rtp_glue, improve other unistim_rtp_glue functions
  2374. conforming to other channel drivers. Do not forget auto-detected
  2375. and user-selected phone settings on 'unistim reload' ........
  2376. Merged revisions 409705 from
  2377. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2378. revisions 409745 from
  2379. http://svn.asterisk.org/svn/asterisk/branches/11
  2380. 2014-03-05 04:59 +0000 [r409697-409704] Moises Silva <moises.silva@gmail.com>
  2381. * /, res/res_http_websocket.c: Fix res/res_http_websocket.c build
  2382. failure in 32bit due to incorrect print format for uint64_t
  2383. ........ Merged revisions 409703 from
  2384. http://svn.asterisk.org/svn/asterisk/branches/11
  2385. * res/res_http_websocket.c, /: Fix WebRTC over WSS not working
  2386. Several fixes for the WebSockets implementation in
  2387. res/res_http_websocket.c * Flush the websocket session FILE* as
  2388. fwrite() may not actually guarantee sending the data to the
  2389. network. If we do not flush, it seems that buffering on the SSL
  2390. socket for outbound messages causes issues * Refactored
  2391. ast_websocket_read to take into account that SSL file descriptors
  2392. may be ready to read via fread() but poll() will not actually say
  2393. so because the data was already read from the network buffers and
  2394. is now in the libc buffers (closes issue ASTERISK-23099) (closes
  2395. issue ASTERISK-21930) Review:
  2396. https://reviewboard.asterisk.org/r/3248/ ........ Merged
  2397. revisions 409681 from
  2398. http://svn.asterisk.org/svn/asterisk/branches/11
  2399. 2014-03-05 00:55 +0000 [r409682] Richard Mudgett <rmudgett@digium.com>
  2400. * include/asterisk/stasis_internal.h: stasis: Made
  2401. internal_stasis_subscribe() prototype and definition match
  2402. exactly.
  2403. 2014-03-04 19:34 +0000 [r409626] Michael L. Young <elgueromexicano@gmail.com>
  2404. * funcs/func_audiohookinherit.c, /: func_audiohookinheritance:
  2405. Check If A Channel Was Specified This patch prevents a crash when
  2406. using the function audiohookinheritance without setting the
  2407. channel. (closes issue ASTERISK-23104) Reported by: Joel Vandal
  2408. Tested by: Joel Vandal Patches:
  2409. asterisk-23104_audiohook_inherit_no_channel-11.diff uploaded by
  2410. Michael L. Young (license 5026) Review:
  2411. https://reviewboard.asterisk.org/r/3272/ ........ Merged
  2412. revisions 409623 from
  2413. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2414. revisions 409625 from
  2415. http://svn.asterisk.org/svn/asterisk/branches/11
  2416. 2014-03-04 17:07 +0000 [r409570] Jonathan Rose <jrose@digium.com>
  2417. * /, res/res_rtp_asterisk.c: res_rtp_asterisk: Fix one way audio
  2418. problems with hold/unhold when using ICE ICE sessions will now be
  2419. restarted if sessions are changed to use new sets of remote
  2420. candidates. (closes issue ASTERISK-22911) Reported by: Vytis
  2421. Valentinavičius Review: https://reviewboard.asterisk.org/r/3275/
  2422. ........ Merged revisions 409565 from
  2423. http://svn.asterisk.org/svn/asterisk/branches/11
  2424. 2014-03-04 16:53 +0000 [r409568] Kinsey Moore <kmoore@digium.com>
  2425. * /, main/astobj2.c: AO2: Add an assert for bad objects This adds
  2426. an assert that will only be active if Asterisk is compiled with
  2427. DO_CRASH and allows the testsuite to fail tests that would
  2428. otherwise require log file parsing. ........ Merged revisions
  2429. 409566 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  2430. ........ Merged revisions 409567 from
  2431. http://svn.asterisk.org/svn/asterisk/branches/11
  2432. 2014-03-04 14:54 +0000 [r409474] Sean Bright <sean@malleable.com>
  2433. * /, channels/chan_sip.c: Minor whitespace change to 'sip show
  2434. peers' output. (closes issue ASTERISK-23406) Reported by: ibercom
  2435. Tested by: ibercom Patches: asterisk-11.patch uploaded by ibercom
  2436. ........ Merged revisions 409472 from
  2437. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2438. revisions 409473 from
  2439. http://svn.asterisk.org/svn/asterisk/branches/11
  2440. 2014-03-03 19:44 +0000 [r409422] Joshua Colp <jcolp@digium.com>
  2441. * res/res_stasis_recording.c: res_stasis_recording: Fix memory leak
  2442. of the absolute name.
  2443. 2014-03-03 02:08 +0000 [r409363] Matthew Jordan <mjordan@digium.com>
  2444. * main/asterisk.c, /: doxygen: Tweak the link back to ye olde
  2445. Digium website ........ Merged revisions 409361 from
  2446. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2447. revisions 409362 from
  2448. http://svn.asterisk.org/svn/asterisk/branches/11
  2449. 2014-03-02 15:14 +0000 [r409346] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
  2450. * /, Makefile.rules: Makefile: replace -O6 with -O3 -O6 is not a
  2451. legal option of gcc. Unofficially gcc considers it to be
  2452. equivalent of -O3. clang chalks on it, though. This commit sets
  2453. the default optimization flag to be -O3, like gcc actually
  2454. considered it. Review: https://reviewboard.asterisk.org/r/3280/
  2455. ........ Merged revisions 409308 from
  2456. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2457. revisions 409344 from
  2458. http://svn.asterisk.org/svn/asterisk/branches/11
  2459. 2014-03-01 20:27 +0000 [r409287] Joshua Colp <jcolp@digium.com>
  2460. * res/res_pjsip_session.c: res_pjsip_session: Set options (100rel,
  2461. timers) on incoming sessions. This change passes options to the
  2462. UAS creation function. This in turn sets up 100rel and session
  2463. timer properties on the incoming session. Reported by Julian
  2464. Russell on asterisk-users mailing list.
  2465. 2014-03-01 00:04 +0000 [r409256-409274] Richard Mudgett <rmudgett@digium.com>
  2466. * main/devicestate.c: devicestate.c: Simplified some logic in
  2467. _ast_device_state().
  2468. * main/stasis_cache.c: stasis_cache.c: Remove some unnecessary
  2469. RAII_VAR() usage.
  2470. * main/stasis.c: stasis.c: Misc code cleanups. * Remove some
  2471. unnecessary RAII_VAR() usage. * Made the struct
  2472. stasis_subscription ao2 object use the ao2 lock instead of a
  2473. redundant join_lock in the struct for ast_cond_wait(). * Removed
  2474. locks on some ao2 objects that don't need the lock. * Made the
  2475. topic pool entries container use the ao2 template functions. *
  2476. Add some missing allocation failure checks. * Add missing cleanup
  2477. in off nominal path of dispatch_message().
  2478. * /, channels/chan_sip.c: chan_sip: Add precautionary p->owner
  2479. checks. * Add precautionary p->owner checks in sip_hangup(),
  2480. get_refer_info(), get_also_info(), and
  2481. interpret_t38_parameters(). * Simplify some tangled logic in
  2482. get_refer_info(), get_also_info(), and add_rpid(). * Removed some
  2483. dead code in handle_request_invite(). (closes issue
  2484. ASTERISK-23323) Reported by: Walter Doekes Patches:
  2485. issueA23323-more_p_owner_checks-1.8.x.patch (license #5674)
  2486. uploaded by wdoekes (modified)
  2487. issueA23323-more_p_owner_checks-11.x.patch (license #5674)
  2488. uploaded by wdoekes (modified)
  2489. issueA23323-more_p_owner_checks-12.x.patch (license #5674)
  2490. uploaded by wdoekes (modified)
  2491. issueA23323-more_p_owner_checks-trunk.patch (license #5674)
  2492. uploaded by wdoekes (modified) ........ Merged revisions 409207
  2493. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  2494. Merged revisions 409255 from
  2495. http://svn.asterisk.org/svn/asterisk/branches/11
  2496. 2014-02-28 21:24 +0000 [r409234] Kinsey Moore <kmoore@digium.com>
  2497. * apps/app_queue.c: app_queue: Fix documented AMI event name During
  2498. the rewrite of AMI events to use the Stasis bus, the name of the
  2499. QueueMemberPaused event was changed to QueueMemberPause. This
  2500. corrects documentation to reflect that.
  2501. 2014-02-28 18:02 +0000 [r409158] Richard Mudgett <rmudgett@digium.com>
  2502. * /, channels/chan_sip.c: chan_sip: Fix crash in
  2503. ast_channel_hangupcause_set(). * Fix crash in
  2504. ast_channel_hangupcause_set() because p->owner not checked before
  2505. calling. Regression introduced by the fix for ASTERISK-22621.
  2506. (closes issue ASTERISK-23135) Reported by: OK (issue
  2507. ASTERISK-23323) Reported by: Walter Doekes ........ Merged
  2508. revisions 409156 from
  2509. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2510. revisions 409157 from
  2511. http://svn.asterisk.org/svn/asterisk/branches/11
  2512. 2014-02-27 19:42 +0000 [r409131] Jonathan Rose <jrose@digium.com>
  2513. * /, res/res_rtp_asterisk.c: Multiple revisions 409129-409130
  2514. ........ r409129 | jrose | 2014-02-27 13:19:02 -0600 (Thu, 27 Feb
  2515. 2014) | 15 lines res_rtp_asterisk: Fix checklist creating
  2516. problems in ICE sessions Prior to this patch, local candidate
  2517. lists including SRFLX would fail to start properly when building
  2518. ICE candidate check lists. This patch fixes that problem by
  2519. making sure that each SRFLX candidate is associated with the
  2520. proper base address so that the check list can create matches
  2521. properly. This patch was written by jcolp. The issue will be left
  2522. open to await testing by the issue participants. (issue
  2523. ASTERISK-23213) Reported by: Andrea Suisani Review:
  2524. https://reviewboard.asterisk.org/r/3256/ ........ r409130 | jrose
  2525. | 2014-02-27 13:38:10 -0600 (Thu, 27 Feb 2014) | 8 lines
  2526. res_rtp_asterisk: correct build error from r409129 Accidentally
  2527. placed a declaration below functional code (issue ASTERISK-23213)
  2528. Reported by: Andrea Suisani Review:
  2529. https://reviewboard.asterisk.org/r/3256/ ........ Merged
  2530. revisions 409129-409130 from
  2531. http://svn.asterisk.org/svn/asterisk/branches/11
  2532. 2014-02-27 16:25 +0000 [r409087] David M. Lee <dlee@digium.com>
  2533. * /, utils/astman.c: Fix memory stomping bug in astman. This memset
  2534. complained in dev mod on my Ubuntu box. The memset is both
  2535. unnecessary and dangerous. At this point, m hasn't been
  2536. initialized yet, so the memset will write off to whatever address
  2537. happens to be on the stack at the time. ........ Merged revisions
  2538. 409077 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  2539. ........ Merged revisions 409083 from
  2540. http://svn.asterisk.org/svn/asterisk/branches/11
  2541. 2014-02-27 16:05 +0000 [r409054] Corey Farrell <git@cfware.com>
  2542. * res/res_fax.c, configs/res_fax.conf.sample, /: res_fax: Warn that
  2543. minrate=2400 is not valid for V.27 instead of failing load.
  2544. Change minrate from 2400 to 4800 on config reload in response to
  2545. changes from ASTERISK-22790 only. Any config with minrate of 2400
  2546. that would fail before r405693 will still fail. Comment out many
  2547. settings in res_fax.conf.sample. The defaults are set in
  2548. res_fax.c, so setting the same value in sample config does
  2549. nothing but make the sample config more fragile. (closes issue
  2550. ASTERISK-23231) Reported by: David Brillert Review:
  2551. https://reviewboard.asterisk.org/r/3261/ ........ Merged
  2552. revisions 409052 from
  2553. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2554. revisions 409053 from
  2555. http://svn.asterisk.org/svn/asterisk/branches/11
  2556. 2014-02-27 12:28 +0000 [r408999] Matthew Jordan <mjordan@digium.com>
  2557. * res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Apply packetization
  2558. rules on inbound SDP handling The setting 'use_ptime' is supposed
  2559. to tell Asterisk to honour the ptime attribute in an offer,
  2560. preferring it to whatever packetization preferences have been set
  2561. internally. Currently, however, something rather quirky will
  2562. happen: (1) The SDP answer will be constructed in
  2563. create_outgoing_sdp_stream. This will use the preferences from
  2564. the endpoint, such that the 200 OK response will add the
  2565. packetization preferences from the endpoint, and not what was
  2566. offered. (2) When the 200 response is issued,
  2567. apply_negotiated_sdp_stream is called. This will call
  2568. apply_packetization, which will use the ptime attribute from the
  2569. offer internally. We end up telling the offerer to use the
  2570. internal ptime attribute, but we end up using the offered ptime
  2571. attribute. Hilarity ensues. This patch modifies the behaviour by
  2572. calling apply_packetization from negotiate_incoming_sdp_stream,
  2573. which is called prior to create_outgoing_sdp_stream. This causes
  2574. the format preferences on the session's media object to be set to
  2575. the inbound ptime value (if 'use_ptime' is enabled), such that
  2576. the construction of the answer gets the right value immediately.
  2577. Review: https://reviewboard.asterisk.org/r/3244/
  2578. 2014-02-26 23:33 +0000 [r408983] Richard Mudgett <rmudgett@digium.com>
  2579. * tests/test_stasis.c: test_stasis.c: Misc cleanups. * Make the
  2580. consumer ao2 object use the ao2 lock instead of a redundant lock
  2581. in the struct for ast_cond_wait(). * Fixed some curly brace
  2582. placements. * Fixed use of malloc(0). malloc(0) has variant
  2583. behavior. It is up to the implementation to determine if it
  2584. returns NULL or a valid pointer that can be later passed to
  2585. free().
  2586. 2014-02-26 19:00 +0000 [r408970] Scott Griepentrog <sgriepentrog@digium.com>
  2587. * channels/chan_pjsip.c: pjsip: avoid edge case potential crash in
  2588. answer() When accidentally compiling against a wrong version of
  2589. pjsip headers with a different pjsip_inv_session size, the
  2590. invite_tsx structure could be null in the answer() function. This
  2591. led to a crash because it attempted to send the session response
  2592. with an uninitialized packet pointer. This patch presets packet
  2593. to null and adds a diagnostic log message to explain why the call
  2594. fails. Review: https://reviewboard.asterisk.org/r/3267/
  2595. 2014-02-26 17:03 +0000 [r408957] Joshua Colp <jcolp@digium.com>
  2596. * res/res_ari.c: res_ari: Make some additional error responses
  2597. consistent with the rest of the system. This change makes some
  2598. error cases use ast_ari_response_error to construct their error
  2599. responses instead of manually doing it. This ensures they are
  2600. consistent with the other error responses. Based on the original
  2601. patch as done by Paul Belanger on the associated review. Review:
  2602. https://reviewboard.asterisk.org/r/2904/
  2603. 2014-02-26 13:46 +0000 [r408941-408943] Kinsey Moore <kmoore@digium.com>
  2604. * include/asterisk/res_pjsip_session.h: PJSIP: Fix some bad spacing
  2605. * res/res_pjsip_refer.c: PJSIP: Prevent crash if channel has gone
  2606. away It is currently possible for an ast_sip_session to exist
  2607. without an associated channel as is the case when a new invite is
  2608. coming in or just after a hangup is issued on a chan_pjsip
  2609. channel. Part of the attended transfer code assumed the channel
  2610. would be non-NULL and used it as such causing a crash. This bug
  2611. was exposed thanks to the attended transfer ARI test in the test
  2612. suite. (closes issue ASTERISK-23287) Reported by: Matt Jordan
  2613. 2014-02-25 17:50 +0000 [r408880-408882] Kevin Harwell <kharwell@digium.com>
  2614. * res/res_pjsip_exten_state.c,
  2615. res/res_pjsip_pidf_digium_body_supplement.c (added),
  2616. include/asterisk/res_pjsip_body_generator_types.h:
  2617. res_pjsip_exten_state: Presence for digium phones Added presence
  2618. support for digium phones. Review:
  2619. https://reviewboard.asterisk.org/r/3239/
  2620. * res/res_pjsip_send_to_voicemail.c (added),
  2621. res/res_pjsip_header_funcs.c: res_pjsip_send_to_voicemail:
  2622. transferring to voicemail for digium phones Added the ability for
  2623. transferring directly to voicemail on digium phones. Added a new
  2624. module that checks for the presence of a custom header and/or
  2625. diversion header within a sip REFER. If either is found and they
  2626. specify a sending to voicemail action then variables are added to
  2627. the channel allowing the user access to them in the dialplan.
  2628. Dialplan can then be written that branches based upon these
  2629. values allowing, for instace, for a single number to be used for
  2630. dialing and/or accessing voicemail directly. Also fixed a problem
  2631. where the PJSIP_HEADER function was allowing non pjsip channels
  2632. through (checked to make sure it has the correct channel type
  2633. before proceeding). Review:
  2634. https://reviewboard.asterisk.org/r/3245/
  2635. 2014-02-25 17:43 +0000 [r408878] Rusty Newton <rnewton@digium.com>
  2636. * configs/voicemail.conf.sample, /: configs/voicemail.conf.sample -
  2637. Make mailcmd sample text more explicit Made the wording a bit
  2638. more explicit. Didn't really change the meaning. ........ Merged
  2639. revisions 408876 from
  2640. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2641. revisions 408877 from
  2642. http://svn.asterisk.org/svn/asterisk/branches/11
  2643. 2014-02-22 19:56 +0000 [r408855] Matthew Jordan <mjordan@digium.com>
  2644. * main/asterisk.c: main: Initialize dialplan providing core
  2645. components prior to module pre-load It is possible to pre-load
  2646. pbx_config. As a result, pbx_config - which will load and parse
  2647. the dialplan - will attempt to use various dialplan components,
  2648. such as device state providers and presence state providers,
  2649. prior to them being initialized by the core. This would lead to a
  2650. crash, as the components had not created their Stasis cache
  2651. entries. This patch moves a number of core component
  2652. initializations before the module pre-load. This guarantees that
  2653. if someone does pre-load pbx_config - or other pbx modules - that
  2654. the Stasis caches for the various core components are created.
  2655. (closes issue ASTERISK-23320) Reported by: xrobau (closes issue
  2656. ASTERISK-23265) Reported by: Andrew Nagy Tested by: Andrew Nagy,
  2657. Rusty Newton
  2658. 2014-02-22 17:57 +0000 [r408839] Alexandr Anikin <may@telecom-service.ru>
  2659. * addons/chan_ooh323.c, /: ignore AST_CONTROL_PVT_CAUSE_CODE
  2660. without any messages (closes issue ASTERISK-23336) Reported by:
  2661. Alexander Semych ........ Merged revisions 408838 from
  2662. http://svn.asterisk.org/svn/asterisk/branches/11
  2663. 2014-02-22 02:29 +0000 [r408787] Corey Farrell <git@cfware.com>
  2664. * /, utils/extconf.c, utils/conf2ael.c, res/ael/pval.c, main/pbx.c:
  2665. Remove extra defines of AST_PBX_MAX_STACK. * Ensure
  2666. AST_PBX_MAX_STACK is only defined in extconf.h and pbx.h. * Fix
  2667. incorrect function parameters in utils/extconf.c. (closes issue
  2668. ASTERISK-23141) Reported by: Maxim Review:
  2669. https://reviewboard.asterisk.org/r/3241/ ........ Merged
  2670. revisions 408785 from
  2671. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2672. revisions 408786 from
  2673. http://svn.asterisk.org/svn/asterisk/branches/11
  2674. 2014-02-21 18:34 +0000 [r408730] Kevin Harwell <kharwell@digium.com>
  2675. * main/rtp_engine.c, /: rtp_engine: Dynamic payload change in rtp
  2676. mapping not supported Asterisk didn't support the dynamic payload
  2677. change in rtp mapping in the 200 OK response. Scenario: Asterisk
  2678. sends the INVITE proposing alaw and telephone-event, it proposes
  2679. rtpmap:101 for telephone-event. Peer responds with 2xx, it
  2680. answers with alaw and telephone-event also, but it proposes a
  2681. different rtpmap number (rtpmap:103) for telephone-event.
  2682. Expected Behaviour: Asterisk should honour the rtpmapping in the
  2683. response and send DTMF packets using 103 as payload type for
  2684. DTMF. Actual Behaviour: Asterisk sends DTMF packets using payload
  2685. type 101. With this patch asterisk now supports changes that can
  2686. occur in the rtp mapping in the response. (closes issue
  2687. ASTERISK-23279) Reported by: NITESH BANSAL Review:
  2688. https://reviewboard.asterisk.org/r/3225/ Patches:
  2689. dynamic_payload_change.patch uploaded by nbansal (license 6418)
  2690. ........ Merged revisions 408729 from
  2691. http://svn.asterisk.org/svn/asterisk/branches/11
  2692. 2014-02-21 18:17 +0000 [r408711-408715] Richard Mudgett <rmudgett@digium.com>
  2693. * main/manager.c: manager: Fix AMI Status action of a single
  2694. channel. Fixed use of uninitialized ao2 container iterator in an
  2695. off-nominal condition. Either a memory allocation error or the
  2696. requested channel is an internal channel not exposed to the
  2697. outside.
  2698. * res/res_stasis_recording.c, main/stasis_channels.c,
  2699. res/res_sorcery_astdb.c, include/asterisk/json.h, main/sorcery.c,
  2700. res/ari/resource_endpoints.c, apps/app_meetme.c, res/res_fax.c:
  2701. json: Fix off-nominal json ref counting issues. * Fixed
  2702. off-nominal json ref counting issue with using the following API
  2703. calls: ast_json_object_set() and ast_json_array_append(). * Fixed
  2704. off-nominal error reporting in ast_ari_endpoints_list(). * Fixed
  2705. some miscellaneous off-nominal json ref counting issues in
  2706. report_receive_fax_status() and dial_to_json().
  2707. * main/json.c: json: Fix json API wrapper code for json library
  2708. versions earlier than 2.3.0. * Fixed json ref counting issue with
  2709. json API wrapper code for ast_json_object_update_existing() and
  2710. ast_json_object_update_missing() when the json library is earlier
  2711. than version 2.3.0.
  2712. 2014-02-21 16:20 +0000 [r408644-408649] Kevin Harwell <kharwell@digium.com>
  2713. * main/rtp_engine.c, /: rtp_engine: Output mixup in
  2714. ${CHANNEL(rtpqos,audio,all)} Fixed the output of
  2715. CHANNEL(rtpqos,audio,all) to use txjitter instead of rxjitter.
  2716. (closes issue ASTERISK-23261) Reported by: rsw686 Patches:
  2717. rtpqos.patch uploaded by rsw686 (license 5887) ........ Merged
  2718. revisions 408646 from
  2719. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2720. revisions 408647 from
  2721. http://svn.asterisk.org/svn/asterisk/branches/11
  2722. * main/channel.c, /: channel.c: MOH is not working for transferee
  2723. after attended transfer Updated the code to check to see if MOH
  2724. is playing on the transferor and if so then start it on the
  2725. channel that replaces it during a masquerade. Example scenario of
  2726. the problem: Alice calls Bob and then Bob begins the attended
  2727. transfer process into a queue. Upon going on hold Alice hears
  2728. music and so does Bob once he is in the queue. Bob then transfers
  2729. Alice into the queue and then music for Alice stops even though
  2730. she should be hearing it since has now replaced Bob in the queue.
  2731. The problem that was occurring is that once the channel was
  2732. masqueraded the app (queues, confbridge, etc...) had no way of
  2733. knowing that the channel had just been swapped out thus it did
  2734. not start music for the present channel. Credit to Olle Johansson
  2735. for pointing me in the right direction on this issue. (closes
  2736. issue ASTERISK-19499) Reported by: Timo Teräs Review:
  2737. https://reviewboard.asterisk.org/r/3226/ ........ Merged
  2738. revisions 408642 from
  2739. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2740. revisions 408643 from
  2741. http://svn.asterisk.org/svn/asterisk/branches/11
  2742. 2014-02-21 10:42 +0000 [r408591] Alexandr Anikin <may@telecom-service.ru>
  2743. * /, addons/ooh323c/src/ooCalls.h: Fix type of roundTripDelay
  2744. variables ........ Merged revisions 408589 from
  2745. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2746. revisions 408590 from
  2747. http://svn.asterisk.org/svn/asterisk/branches/11
  2748. 2014-02-21 00:49 +0000 [r408538] Michael L. Young <elgueromexicano@gmail.com>
  2749. * /, apps/app_chanspy.c: app_chanspy: Documentation Update To
  2750. Clarify "x" Option When using the "x" option (specify a DTMF
  2751. digit to exit the application), it is not obvious in the
  2752. documentation that this only works when spying on a channel. If a
  2753. channel being used to spy on other channels is waiting to connect
  2754. to a channel or is no longer attached to a channel, the DTMF is
  2755. ignored. As noted on the issue tracker, since there are
  2756. workarounds available and this is a rarely used option we are
  2757. opting for a documentation change here. (closes issue
  2758. ASTERISK-22661) Reported by: Chris Hillman Patches:
  2759. asterisk-22661-doc-clarify-chan_spy.diff uploaded by Michael L.
  2760. Young (license 5026) Review:
  2761. https://reviewboard.asterisk.org/r/2990/ ........ Merged
  2762. revisions 408536 from
  2763. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2764. revisions 408537 from
  2765. http://svn.asterisk.org/svn/asterisk/branches/11
  2766. 2014-02-20 21:09 +0000 [r408518-408522] George Joseph <george.joseph@fairview5.com>
  2767. * res/res_pjsip/location.c, res/res_pjsip_outbound_registration.c:
  2768. pjsip_cli: Add pjsip commands 'show registrations' and 'show
  2769. contacts'. Added 'show registrations' and 'show contacts' to
  2770. pjsip cli to make things a little more consistent. The output is
  2771. exactly the same as the list command. Just needed to add entries
  2772. to their respective ast_cli_entry structures. (closes issue
  2773. ASTERISK-23275) Review: http://reviewboard.asterisk.org/r/3210/
  2774. * res/res_pjsip/pjsip_cli.c, main/config.c: pjsip_cli: Fix memory
  2775. leak in ast_sip_cli_print_sorcery_objectset. Fixed memory leaks
  2776. in ast_sip_cli_print_sorcery_objectset and
  2777. ast_variable_list_sort. (closes issue ASTERISK-23266) Review:
  2778. http://reviewboard.asterisk.org/r/3200/
  2779. * res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
  2780. tests/test_sorcery.c, main/sorcery.c,
  2781. res/res_pjsip/config_system.c, include/asterisk/sorcery.h:
  2782. sorcery: Create sorcery instance registry. In order to retrieve
  2783. an arbitrary sorcery instance from a dialplan function (or any
  2784. place else) there needs to be a registry of sorcery instances.
  2785. ast_sorcery_init now creates a hashtab as a registry.
  2786. ast_sorcery_open now checks the hashtab for an existing sorcery
  2787. instance matching the caller's module name. If it finds one, it
  2788. bumps the refcount and returns it. If not, it creates a new
  2789. sorcery instance, adds it to the hashtab, then returns it.
  2790. ast_sorcery_retrieve_by_module_name is a new function that does a
  2791. hashtab lookup by module name. It can be called by the future
  2792. dialplan function. res_pjsip/config_system needed a small change
  2793. to share the main res_pjsip sorcery instance. tests/test_sorcery
  2794. was updated to include a test for the registry. (closes issue
  2795. ASTERISK-22537) Review: http://reviewboard.asterisk.org/r/3184/
  2796. 2014-02-20 19:02 +0000 [r408502] Matthew Jordan <mjordan@digium.com>
  2797. * res/res_pjsip.c: res_pjsip: Update documentation for 'use_avpf'
  2798. option When 'use_avpf' is set to True, inbound offers must use
  2799. the AVPF/SAVPF RTP profile. However, when 'use_avpf' is set to
  2800. False, Asterisk will accept both AVP/SAVP or AVPF/SAVPF RTP
  2801. profiles in inbound offers. The documentation previously implied
  2802. that Asterisk would reject AVPF/SAVPF if 'use_avpf' was set to
  2803. False and a UA offered said profile in an INVITE request.
  2804. 2014-02-20 02:43 +0000 [r408449] Rusty Newton <rnewton@digium.com>
  2805. * apps/app_queue.c, /: apps/app_queue - Fix incorrect Macro
  2806. parameter documentation Macro is executed on the called channel,
  2807. not the calling channel. (closes issue ASTERISK-23069) Reported
  2808. By: Bryan Anderson ........ Merged revisions 408447 from
  2809. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2810. revisions 408448 from
  2811. http://svn.asterisk.org/svn/asterisk/branches/11
  2812. 2014-02-19 19:07 +0000 [r408385-408389] Richard Mudgett <rmudgett@digium.com>
  2813. * /, main/config.c: config: Add file size and nanosecond resolution
  2814. fields to the cached modified config file information. Repeatedly
  2815. modifying config files and reloading too fast sometimes fails to
  2816. reload the configuration because the cached modification
  2817. timestamp has one second resolution. * Added file size and
  2818. nanosecond resolution fields to the cached config file
  2819. modification timestamp information. Now if the file size changes
  2820. or the file system supports nanosecond resolution the modified
  2821. file has a better chance of being detected for reload. * Added a
  2822. missing unlock in an off-nominal code path. (closes issue
  2823. AST-1303) Review: https://reviewboard.asterisk.org/r/3235/
  2824. ........ Merged revisions 408387 from
  2825. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2826. revisions 408388 from
  2827. http://svn.asterisk.org/svn/asterisk/branches/11
  2828. * res/res_sorcery_astdb.c: res_sorcery_astdb.c: Fix regex handling
  2829. and keep simple prefix matching performance. The sorcery astDB
  2830. wizzard does not handle regex correctly if the pattern begins
  2831. with an anchor character. This patch attempts to convert the
  2832. anchored regex pattern to a prefix pattern supported by astDB for
  2833. performance reasons. If it is not able to convert the pattern it
  2834. falls back to getting all astDB members of the family and doing a
  2835. normal regex pattern matching on the retrieved records. Review:
  2836. https://reviewboard.asterisk.org/r/3161/
  2837. 2014-02-19 12:00 +0000 [r408314-408331] Alexandr Anikin <may@telecom-service.ru>
  2838. * addons/ooh323c/src/ooCapability.c, /,
  2839. addons/ooh323c/src/ooh245.c: process receiveAndTransmit user
  2840. input remote caps instead of receive only send receiveAndTransmit
  2841. user input our caps instead of receive only ........ Merged
  2842. revisions 408328 from
  2843. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2844. revisions 408330 from
  2845. http://svn.asterisk.org/svn/asterisk/branches/11
  2846. * addons/ooh323c/src/ooh323.c, /: Allow different socket and
  2847. signalling ip on h.323 connection if gk mode is active Reported
  2848. by: Gabriele Odone Patches: ASTERISK-22738-1.patch Tested by:
  2849. Gabriele Odone (closes issue ASTERISK-22738) ........ Merged
  2850. revisions 408312 from
  2851. http://svn.asterisk.org/svn/asterisk/branches/11
  2852. 2014-02-18 19:18 +0000 [r408297] Richard Mudgett <rmudgett@digium.com>
  2853. * contrib/ast-db-manage/config/versions/21e526ad3040_add_pjsip_debug_option.py,
  2854. contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py,
  2855. contrib/ast-db-manage/voicemail/versions, contrib/ast-db-manage,
  2856. contrib/ast-db-manage/config/env.py,
  2857. contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
  2858. contrib/ast-db-manage/config,
  2859. contrib/ast-db-manage/voicemail/env.py,
  2860. contrib/ast-db-manage/voicemail,
  2861. contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py,
  2862. contrib/ast-db-manage/config/versions: alembic: Add svn:ignore
  2863. *.pyc to directories and svn:executable to *.py files.
  2864. 2014-02-17 15:21 +0000 [r408270] Mark Michelson <mmichelson@digium.com>
  2865. * res/res_pjsip/location.c, UPGRADE.txt, res/res_pjsip.c,
  2866. res/res_pjsip_registrar.c, include/asterisk/res_pjsip.h: Store
  2867. SIP User-Agent information in contacts. When an endpoint sends a
  2868. REGISTER request to Asterisk, we now will associate the
  2869. User-Agent header with all contacts that were bound in that
  2870. REGISTER request.
  2871. 2014-02-16 03:23 +0000 [r408194-408220] Matthew Jordan <mjordan@digium.com>
  2872. * main/pbx.c, /: pbx: Handle a completely empty dialplan during a
  2873. context merge It is highly unlikely, but - at least in Asterisk
  2874. 12 - theoretically possible to load Asterisk with no dialplan
  2875. whatsoever. If that occurs, and some other module (that is not a
  2876. pbx module) attempts to merge its contexts into the dialplan, the
  2877. existing merge routine will crash. This is because it is not
  2878. insane, and rightly believes that you provided some sort of
  2879. dialplan, somewhere. This patch will gracefully merge the
  2880. contexts in such a case. Note that this is highly unlikely to
  2881. occur in 1.8/11, as features will most likely provide some
  2882. dialplan via parking. However, in Asterisk 12, parking is now
  2883. provided by res_parking, and hence may create its dialplan later.
  2884. (closes issue ASTERISK-23297) Reported by: CJ Oster Review:
  2885. https://reviewboard.asterisk.org/r/3222 ........ Merged revisions
  2886. 408200 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  2887. ........ Merged revisions 408201 from
  2888. http://svn.asterisk.org/svn/asterisk/branches/11
  2889. * Makefile, /: buildsystem: Unbreak the build (infloop) on Asterisk
  2890. 11+ Apparently r408084 ( https://reviewboard.asterisk.org/r/3212/
  2891. ) broke the build. This patch fixes it by ignoring the .lastclean
  2892. dependencies if the MENUSELECT_EMBED variable is not defined.
  2893. patches: tmp.diff uploaded by wdoekes (License 5674) Review:
  2894. https://reviewboard.asterisk.org/r/3228/ ........ Merged
  2895. revisions 408193 from
  2896. http://svn.asterisk.org/svn/asterisk/branches/11
  2897. 2014-02-14 21:44 +0000 [r408138-408140] Scott Griepentrog <sgriepentrog@digium.com>
  2898. * main/stasis_endpoints.c: ARI: correct upper/lower case URI
  2899. discrepancies URI's are supposed to be case sensitive and all
  2900. lower case. In practice some portions of URI's in ARI are case
  2901. insensitive and others are not, such as TECH, which in one
  2902. instance would match a lower case name and in another would not.
  2903. In this patch, the ast_endpoint_lastest_snapshot() function is
  2904. modified to change the TECH portion to full upper case before
  2905. lookup. This resolves the discrepancy noted by the reporter.
  2906. However I chose to avoid forcing the /ari prefix of the URI's to
  2907. be lower case for now. Except for the two cases here, all URI's
  2908. should be lower case, unless they are part of a resource name or
  2909. id. Review: https://reviewboard.asterisk.org/r/3211/ Reported by:
  2910. Zane Conkle (closes issue ASTERISK-23125)
  2911. * main/format.c, /: format.c: correct possible null pointer
  2912. dereference In ast_format_sdp_parse and ast_format_sdp_generate
  2913. the check checks for a valid interface and function were
  2914. potentially confusing, and hid an error in the test of the
  2915. presence of the function that is called later. This patch clears
  2916. up and corrects the test. Review:
  2917. https://reviewboard.asterisk.org/r/3208/ (closes issue
  2918. ASTERISK-23098) Reported by: marcelloceschia Patches:
  2919. main_format.patch uploaded by marcelloceschia (license 6036)
  2920. ASTERISK-23098.patch uploaded by coreyfarrell (license 5909)
  2921. ........ Merged revisions 408137 from
  2922. http://svn.asterisk.org/svn/asterisk/branches/11
  2923. 2014-02-14 13:29 +0000 [r408085] Walter Doekes <walter+asterisk@wjd.nu>
  2924. * Makefile, /: buildsystem: Don't force main to depend on
  2925. everything else. Directory 'main' only needs to depend on
  2926. embedded modules. If no module embedding is selected, the
  2927. dependency is dropped. Review:
  2928. https://reviewboard.asterisk.org/r/3212/ ........ Merged
  2929. revisions 408083 from
  2930. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2931. revisions 408084 from
  2932. http://svn.asterisk.org/svn/asterisk/branches/11
  2933. 2014-02-14 12:39 +0000 [r408069] Matthew Jordan <mjordan@digium.com>
  2934. * channels/chan_sip.c: chnan_sip: Set SIP_DEFER_BYE_ON_TRANSFER
  2935. prior to calling bridge blind transfer This patch moves setting
  2936. SIP_DEFER_BY_ON_TRANSFER prior to calling
  2937. ast_bridge_transfer_blind. This prevents a BYE from being sent
  2938. prior to the NOTIFY request that informs the transferor if the
  2939. transfer succeeded or failed. This patch also clears said flag
  2940. from the off nominal NOTIFY paths in the local_attended_transfer
  2941. code, as once we've sent the NOTIFY request it is safe to send by
  2942. the BYE request. This was caught by the
  2943. blind-transfer-accountcode test in the Asterisk Test Suite.
  2944. (closes issue ASTERISK-23290) Reported by: Matt Jordan Review:
  2945. https://reviewboard.asterisk.org/r/3214/
  2946. 2014-02-13 18:50 +0000 [r407988-408005] Mark Michelson <mmichelson@digium.com>
  2947. * res/res_pjsip_mwi.c, res/res_pjsip_pubsub.c: Remove all PJSIP
  2948. MWI-specific use from our MWI code. PJSIP has built-in MWI code
  2949. that could be useful to some degree, but our utilization of the
  2950. API actually made our code a bit more cluttered since we had to
  2951. have special cases peppered throughout. With this change, we move
  2952. to using the pjsip_evsub API instead, which streamlines the code
  2953. by removing special cases. Review:
  2954. https://reviewboard.asterisk.org/r/3205
  2955. * res/res_pjsip/location.c: Fix crash in AMI PJSIPShowEndpoint
  2956. action. If an AOR has no permanent contacts, then the
  2957. permanent_contacts container is never allocated. This makes the
  2958. code safe in the face of NULLs. I also changed the variable that
  2959. counts contacts from "num" to "total_contacts" since there are
  2960. now two variables that are indicate numbers of things.
  2961. 2014-02-12 08:18 +0000 [r407968] Walter Doekes <walter+asterisk@wjd.nu>
  2962. * main/config.c: realtime: Fix ast_update2_realtime() on raspberry
  2963. pi. The old code depended on undefined va_arg behaviour: calling
  2964. a function twice with the same va_list parameter and expecting it
  2965. to continue where it left off. The changed code behaves like the
  2966. manpage says it should. Also added a bunch of early returns to
  2967. trap errors (e.g. OOM) instead of crashing. The problem was found
  2968. by Julian Lyndon-Smith. The deviant behaviour on the raspberry PI
  2969. also uncovered another bug (fixed in r407875) in the
  2970. res_config_pgsql.so driver. Reported by: jmls Tested by: jmls
  2971. Review: https://reviewboard.asterisk.org/r/3201/
  2972. 2014-02-11 03:16 +0000 [r407937] Matthew Jordan <mjordan@digium.com>
  2973. * res/ari/resource_channels.c: ari/resource_channels: Add channel
  2974. variables earlier in the creation process This patch tweaks the
  2975. behaviour of POST /channels with channel variables such that the
  2976. variables are passed into the pbx.c routines that perform the
  2977. origination. This allows the variables to be assigned to the
  2978. newly created channels immediately upon their construction, as
  2979. opposed to be assigned after the originate has completed. The
  2980. upshot of this is that the variables are available on the
  2981. channels if they execute in the dialplan, as opposed to only
  2982. being available once the channels are answered. Review:
  2983. https://reviewboard.asterisk.org/r/3183/
  2984. 2014-02-10 16:43 +0000 [r407875] Walter Doekes <walter+asterisk@wjd.nu>
  2985. * res/res_config_pgsql.c, /: res_config_pgsql: Fix
  2986. ast_update2_realtime calls. Fix so multiple updates from a single
  2987. call works (add missing ','). Remove bogus ast_free's that
  2988. weren't supposed to be there. Moved a few spaces for readability.
  2989. Review: https://reviewboard.asterisk.org/r/3194/ ........ Merged
  2990. revisions 407873 from
  2991. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  2992. revisions 407874 from
  2993. http://svn.asterisk.org/svn/asterisk/branches/11
  2994. 2014-02-10 15:54 +0000 [r407858] Kinsey Moore <kmoore@digium.com>
  2995. * apps/confbridge/conf_state_multi_marked.c,
  2996. apps/confbridge/conf_state_empty.c,
  2997. apps/confbridge/conf_config_parser.c,
  2998. configs/confbridge.conf.sample, /,
  2999. apps/confbridge/include/confbridge.h, UPGRADE.txt,
  3000. apps/app_confbridge.c: ConfBridge: Correct prompt playback target
  3001. Currently, when the first marked user enters the conference that
  3002. contains waitmarked users, a prompt is played indicating that the
  3003. user is being placed into the conference. Unfortunately, this
  3004. prompt is played to the marked user and not the waitmarked users
  3005. which is not very helpful. This patch changes that behavior to
  3006. play a prompt stating "The conference will now begin" to the
  3007. entire conference after adding and unmuting the waitmarked users
  3008. since the design of confbridge is not conducive to playing a
  3009. prompt to a subset of users in a conference in an asynchronous
  3010. manner. (closes issue PQ-1396) Review:
  3011. https://reviewboard.asterisk.org/r/3155/ Reported by: Steve Pitts
  3012. ........ Merged revisions 407857 from
  3013. http://svn.asterisk.org/svn/asterisk/branches/11
  3014. 2014-02-07 20:48 +0000 [r407766] Richard Mudgett <rmudgett@digium.com>
  3015. * /, channels/chan_iax2.c: chan_iax2: Add some more iaxs[] NULL
  3016. checks to a routine already full of them. ........ Merged
  3017. revisions 407764 from
  3018. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3019. revisions 407765 from
  3020. http://svn.asterisk.org/svn/asterisk/branches/11
  3021. 2014-02-07 20:09 +0000 [r407747-407750] Matthew Jordan <mjordan@digium.com>
  3022. * main/security_events.c: security_events: Fix assertion failure in
  3023. dev-mode on optional IE parsing When formatting an optional IE,
  3024. the value is, of course, optional. As such, it is entirely
  3025. appropriate for ast_json_object_get to return NULL. If that
  3026. occurs, we now simply skip the IE that was requested, as it was
  3027. not provided by the entity that raised the event. Thanks to
  3028. George Joseph (gtjoseph) for catching this and reporting it in
  3029. #asterisk-dev
  3030. * funcs/func_cdr.c: funcs/func_cdr: Handle empty time values when
  3031. extracting parsed values When extracting timestamps that are
  3032. parsed, time stamp values that are not set (time values of
  3033. 0.000000) should not actually result in a parsed string. The
  3034. value should be skipped, and the result of the CDR function
  3035. should be an empty string. Prior to this patch, the result was
  3036. fed to the time formatting, which would result in an output of a
  3037. date/time in 1969.
  3038. 2014-02-07 18:18 +0000 [r407729] Richard Mudgett <rmudgett@digium.com>
  3039. * configs/iax.conf.sample, /, channels/chan_iax2.c,
  3040. include/asterisk/frame.h: chan_iax2: Block unnecessary control
  3041. frames to/from the wire. Establishing an IAX2 call between
  3042. Asterisk v1.4 and v1.8 (or later) results in an unexpected call
  3043. disconnect. The problem happens because newer values in the enum
  3044. ast_control_frame_type are not consistent between the branch
  3045. versions of Asterisk. For example: 1) v1.4 calls v1.8 (or later)
  3046. using IAX2 2) v1.8 answers and sends a connected line update
  3047. control frame. (on v1.8 AST_CONTROL_CONNECTED_LINE = 22) 3) v1.4
  3048. receives the control frame as an end-of-q (on v1.4
  3049. AST_CONTROL_END_OF_Q = 22) 4) v1.4 disconnects the call once the
  3050. receive queue becomes empty. Several things are done by this
  3051. patch to fix the problem and attempt to prevent it from happening
  3052. again in the future: * Added a warning at the definition of enum
  3053. ast_control_frame_type about how to add new control frame values.
  3054. * Made block sending and receiving control frames that have no
  3055. reason to go over the wire. * Extended the connectedline iax.conf
  3056. parameter to also include the redirecting information updates. *
  3057. Updated the connectedline iax.conf parameter documentation to
  3058. include a notice that the parameter must be "no" when the peer is
  3059. an Asterisk v1.4 instance. (closes issue AST-1302) Review:
  3060. https://reviewboard.asterisk.org/r/3174/ ........ Merged
  3061. revisions 407678 from
  3062. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3063. revisions 407727 from
  3064. http://svn.asterisk.org/svn/asterisk/branches/11
  3065. 2014-02-07 16:46 +0000 [r407676] Matthew Jordan <mjordan@digium.com>
  3066. * main/security_events.c: security_events: Fix error caused by DTD
  3067. validation error The appdocsxml.dtd specifies that a "required"
  3068. attribute in a parameter may have a value of yes, no, true, or
  3069. false. On some systems, specifying "False" instead of "false"
  3070. would cause a validation error. This patch fixes the casing to
  3071. explicitly match the DTD.
  3072. 2014-02-07 13:13 +0000 [r407624] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
  3073. * /, configs/indications.conf.sample: indications.conf: add stutter
  3074. tone; end properly * If the "stutter" (voicemail indication) tone
  3075. is indeed a stutter tone, and it ends with a constant tone, make
  3076. sure that it is the dial tone. This was done for India (in),
  3077. Mexico (mx) and the Philippines (ph). * If no "stutter" tone
  3078. exists for a country, provide one. This was done for Spain (es),
  3079. Malaysia (my) and Venezuela (ve). Review:
  3080. https://reviewboard.asterisk.org/r/3158/ ........ Merged
  3081. revisions 407622 from
  3082. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3083. revisions 407623 from
  3084. http://svn.asterisk.org/svn/asterisk/branches/11
  3085. 2014-03-03 Asterisk Development Team <asteriskteam@digium.com>
  3086. * Asterisk 12.1.0 Released.
  3087. 2014-03-01 Asterisk Development Team <asteriskteam@digium.com>
  3088. * Asterisk 12.1.0-rc3 Released.
  3089. * chan_sip: Fix crash in ast_channel_hangupcause_set().
  3090. Fix crash in ast_channel_hangupcause_set() because p->owner not
  3091. checked before calling. Regression introduced by the fix for
  3092. ASTERISK-22621.
  3093. (closes issue ASTERISK-23135)
  3094. Reported by: OK
  3095. (issue ASTERISK-23323)
  3096. Reported by: Walter Doekes
  3097. 2013-02-27 Asterisk Development Team <asteriskteam@digium.com>
  3098. * Asterisk 12.1.0-rc2 Released.
  3099. * res_rtp_asterisk: Fix checklist creating problems in ICE sessions
  3100. Prior to this patch, local candidate lists including SRFLX would
  3101. fail to start properly when building ICE candidate check lists. This
  3102. patch fixes that problem by making sure that each SRFLX candidate is
  3103. associated with the proper base address so that the check list can
  3104. create matches properly.
  3105. This patch was written by jcolp. The issue will be left open to await
  3106. testing by the issue participants.
  3107. (issue ASTERISK-23213)
  3108. Reported by: Andrea Suisani
  3109. Review: https://reviewboard.asterisk.org/r/3256/
  3110. * res_fax: Warn that minrate=2400 is not valid for V.27 instead of
  3111. failing load.
  3112. Change minrate from 2400 to 4800 on config reload in response to
  3113. changes from ASTERISK-22790 only. Any config with minrate of
  3114. 2400 that would fail before r405693 will still fail.
  3115. Comment out many settings in res_fax.conf.sample. The defaults are
  3116. set in res_fax.c, so setting the same value in sample config does
  3117. nothing but make the sample config more fragile.
  3118. (closes issue ASTERISK-23231)
  3119. Reported by: David Brillert
  3120. Review: https://reviewboard.asterisk.org/r/3261/
  3121. * main: Initialize dialplan providing core components prior to module
  3122. pre-load
  3123. It is possible to pre-load pbx_config. As a result, pbx_config -
  3124. which will load and parse the dialplan - will attempt to use various
  3125. dialplan components, such as device state providers and presence
  3126. state providers, prior to them being initialized by the core. This
  3127. would lead to a crash, as the components had not created their Stasis
  3128. cache entries.
  3129. This patch moves a number of core component initializations before
  3130. the module pre-load. This guarantees that if someone does pre-load
  3131. pbx_config - or other pbx modules - that the Stasis caches for the
  3132. various core components are created.
  3133. (closes issue ASTERISK-23320)
  3134. Reported by: xrobau
  3135. (closes issue ASTERISK-23265)
  3136. Reported by: Andrew Nagy
  3137. Tested by: Andrew Nagy, Rusty Newton
  3138. * ari/resource_channels: Add channel variables earlier in the creation
  3139. process
  3140. This patch tweaks the behaviour of POST /channels with channel
  3141. variables such that the variables are passed into the pbx.c routines
  3142. that perform the origination. This allows the variables to be
  3143. assigned to the newly created channels immediately upon their
  3144. construction, as opposed to be assigned after the originate has
  3145. completed.
  3146. The upshot of this is that the variables are available on the
  3147. channels if they execute in the dialplan, as opposed to only being
  3148. available once the channels are answered.
  3149. * security_events: Fix assertion failure in dev-mode on optional IE
  3150. parsing
  3151. When formatting an optional IE, the value is, of course, optional. As
  3152. such, it is entirely appropriate for ast_json_object_get to return
  3153. NULL. If that occurs, we now simply skip the IE that was requested,
  3154. as it was not provided by the entity that raised the event.
  3155. Thanks to George Joseph (gtjoseph) for catching this and reporting it
  3156. in #asterisk-dev
  3157. * funcs/func_cdr: Handle empty time values when extracting parsed
  3158. values
  3159. When extracting timestamps that are parsed, time stamp values that
  3160. are not set (time values of 0.000000) should not actually result in
  3161. a parsed string. The value should be skipped, and the result of the
  3162. CDR function should be an empty string.
  3163. Prior to this patch, the result was fed to the time formatting, which
  3164. would result in an output of a date/time in 1969.
  3165. * security_events: Fix error caused by DTD validation error
  3166. The appdocsxml.dtd specifies that a "required" attribute in a
  3167. parameter may have a value of yes, no, true, or false. On some
  3168. systems, specifying "False" instead of "false" would cause a
  3169. validation error. This patch fixes the casing to explicitly match
  3170. the DTD.
  3171. 2013-02-06 Asterisk Development Team <asteriskteam@digium.com>
  3172. * Asterisk 12.1.0-rc1 Released.
  3173. 2014-02-06 20:06 +0000 [r407589] Matthew Jordan <mjordan@digium.com>
  3174. * main/security_events.c, UPGRADE.txt, CHANGES: security_events:
  3175. Add AMI documentation; output optional fields This patch adds
  3176. documentation for the Security Events that are emited over AMI.
  3177. It also notes these events in the UPGRADE/CHANGES file.
  3178. 2014-02-06 19:57 +0000 [r407587] Rusty Newton <rnewton@digium.com>
  3179. * configs/pjsip.conf.sample: configs/pjsip.conf.sample:
  3180. Configuration section naming in pjsip.conf.sample needs a little
  3181. clarification There is a bit of nuance to how you name things in
  3182. pjsip.conf. This is a documentation patch to at least clear it up
  3183. a little for users. Review:
  3184. https://reviewboard.asterisk.org/r/3180/
  3185. 2014-02-06 17:54 +0000 [r407572] Kevin Harwell <kharwell@digium.com>
  3186. * contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py:
  3187. pjsip realtime: already created enum failure for postgresql If an
  3188. enum had been previously created the alembic script would attempt
  3189. to re-create it and an error would be generated while running
  3190. migrations for a postgresql server. The work around for this is
  3191. to use the ENUM object type for postgres as opposed to the
  3192. generic enum type used by sqlalchemy. Using this type in the
  3193. script seems to work properly for both postgres and mysql.
  3194. 2014-02-06 17:06 +0000 [r407568] Richard Mudgett <rmudgett@digium.com>
  3195. * res/res_pjsip_logger.c,
  3196. res/res_pjsip/include/res_pjsip_private.h,
  3197. res/res_pjsip/pjsip_options.c, res/res_pjsip/config_transport.c,
  3198. include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c,
  3199. res/res_pjsip/config_auth.c, res/res_pjsip/location.c,
  3200. res/res_pjsip_outbound_registration.c,
  3201. res/res_pjsip_endpoint_identifier_ip.c,
  3202. include/asterisk/res_pjsip_cli.h, res/res_pjsip/pjsip_cli.c,
  3203. res/res_pjsip/pjsip_configuration.c,
  3204. res/res_pjsip/config_domain_aliases.c: res_pjsip: Updates and
  3205. adds more PJSIP CLI commands. * Adds identify, transport, and
  3206. registration support to the PJSIP CLI. * Creates three additional
  3207. callbacks, one for an iterator, one for a comparator, and one for
  3208. a container. This eliminates the link dependency from higher
  3209. level modules to lower level ones. * Eliminates duplicate sorting
  3210. in PJSIP CLI commands. * Cleans up PJSIP CLI output formatting. *
  3211. Pushes CLI command registration down to the implementing source
  3212. file. * Adds several ast_sip_destroy_sorcery functions to
  3213. complement existing ast_sip_sorcery_initialize functions. The
  3214. destroy functions unregister PJSIP CLI commands and PJSIP CLI
  3215. formatters. Reported by: George Joseph Review:
  3216. https://reviewboard.asterisk.org/r/3104/
  3217. 2014-02-06 16:53 +0000 [r407567] Mark Michelson <mmichelson@digium.com>
  3218. * contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py:
  3219. Fix alembic script to work properly in offline mode. When run in
  3220. offline mode, this would attempt to check the database for the
  3221. presence of a type it was going to try to create. I now check the
  3222. context to see if we're running in offline mode and change a
  3223. parameter accordingly.
  3224. 2014-02-05 23:03 +0000 [r407513] Rusty Newton <rnewton@digium.com>
  3225. * /, formats/format_wav.c: formats/format_wav: enhancing log
  3226. message "Not a wav file" to be clear on what is supported
  3227. Modifying the log message to be more specific as to what is
  3228. supported. Specifically it seems format_wav supports only PCM
  3229. encoded versions with a lower-case '.wav' extension. (closes
  3230. issues ASTERISK-22310) Reported by: Jim Credland Review:
  3231. https://reviewboard.asterisk.org/r/3188/ ........ Merged
  3232. revisions 407511 from
  3233. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3234. revisions 407512 from
  3235. http://svn.asterisk.org/svn/asterisk/branches/11
  3236. 2014-02-05 20:55 +0000 [r407461] Jonathan Rose <jrose@digium.com>
  3237. * CHANGES: CHANGES: Improved description of Name/Creator changes to
  3238. bridge ARI, adds AMI The changes log was written with language
  3239. that was a little too internal Asterisk specific, so it's been
  3240. changed to be more in the frame of reference of an ARI user.
  3241. Also, previously the AMI event changes were omitted from the
  3242. change log as well as the ability to include a bridge name in the
  3243. ARI post bridges command.
  3244. 2014-02-05 20:43 +0000 [r407458] Kinsey Moore <kmoore@digium.com>
  3245. * main/logger.c, /: Logger: Fix handling of absolute paths This
  3246. fixes path handling for log files so that an extra / is not
  3247. appended to the file path when the path is absolute (begins with
  3248. /). This would previously result in different but functionally
  3249. equivalent paths in the output of 'logger show channels'.
  3250. ........ Merged revisions 407455 from
  3251. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3252. revisions 407456 from
  3253. http://svn.asterisk.org/svn/asterisk/branches/11
  3254. 2014-02-05 19:41 +0000 [r407442] Kevin Harwell <kharwell@digium.com>
  3255. * res/res_pjsip/config_global.c: res_pjsip: When no global type the
  3256. debug option defaults to "yes" If the global section was not
  3257. specified in pjsip.conf then the configuration object does not
  3258. exist in sorcery so when retrieving "debug" option it would
  3259. return NULL. Then the NULL result was passed to ast_false utils
  3260. function which would return false because it wasn't set to some
  3261. representation of false, thus enabling sip debug logging. Made it
  3262. so if the global config object does not exist then it will return
  3263. a default of "no" for sip debugging. (issue ASTERISK-23038)
  3264. Reported by: Rusty Newton
  3265. 2014-02-05 17:27 +0000 [r407423] Kinsey Moore <kmoore@digium.com>
  3266. * UPGRADE.txt: UPGRADE: Note change in behavior for device state
  3267. subscriptions
  3268. 2014-02-05 17:12 +0000 [r407419] Jonathan Rose <jrose@digium.com>
  3269. * CHANGES: CHANGES: Update changes log to include new bridge fields
  3270. added in r404042
  3271. 2014-02-05 14:22 +0000 [r407389-407402] Matthew Jordan <mjordan@digium.com>
  3272. * UPGRADE.txt, rest-api/api-docs/channels.json,
  3273. rest-api/api-docs/sounds.json, rest-api/resources.json, CHANGES,
  3274. include/asterisk/manager.h, rest-api/api-docs/bridges.json,
  3275. rest-api/api-docs/recordings.json,
  3276. rest-api/api-docs/deviceStates.json,
  3277. rest-api/api-docs/endpoints.json,
  3278. rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
  3279. rest-api/api-docs/asterisk.json,
  3280. rest-api/api-docs/applications.json,
  3281. rest-api/api-docs/playbacks.json: ARI/AMI: Update versions;
  3282. update UPGRADE/CHANGES notes for 12.1.0 changes Due to backwards
  3283. compatible changes made to AMI/ARI, the version needs to be
  3284. bumped to 1.1.0/2.1.0, respectively.
  3285. * rest-api-templates/api.wiki.mustache,
  3286. rest-api-templates/swagger_model.py: api.wiki.mustache: Update
  3287. wiki template to support body parameters This patch updates the
  3288. api.wiki.mustache template and the swagger_model python script to
  3289. understand if an operation has a body parameter. If an operation
  3290. does have a body parameter, it will now be displayed in the
  3291. corresponding wiki entry.
  3292. 2014-02-04 20:08 +0000 [r407274-407339] Richard Mudgett <rmudgett@digium.com>
  3293. * include/asterisk/devicestate.h, /, main/devicestate.c:
  3294. devicestate: Make ast_devstate_changed_literal() return value and
  3295. doxygen consistent. Nothing actually cares about the value
  3296. anyway. (closes issue ASTERISK-23178) Reported by: Jonathan Rose
  3297. ........ Merged revisions 407337 from
  3298. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3299. revisions 407338 from
  3300. http://svn.asterisk.org/svn/asterisk/branches/11
  3301. * res/res_pjsip/pjsip_configuration.c: res_pjsip: Fix assertion for
  3302. pjsip.conf authorization list options. (closes issue
  3303. ASTERISK-23168) Reported by: George Joseph Review:
  3304. https://reviewboard.asterisk.org/r/3143/
  3305. * configs/sip.conf.sample, main/tcptls.c, /: tcptls.c: Made TLS
  3306. handle a certificate chain file. Thanks to Guillaume Martres for
  3307. doing the necessary research to validate the change. (closes
  3308. issue ASTERISK-17727) Reported by: LN Patches:
  3309. use_certificate_chain.patch (license #5864) patch uploaded by st
  3310. documente_certificate_chain.patch (license #6576) patch uploaded
  3311. by Guillaume Martres ........ Merged revisions 407272 from
  3312. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3313. revisions 407273 from
  3314. http://svn.asterisk.org/svn/asterisk/branches/11
  3315. 2014-02-04 16:54 +0000 [r407259] Matthew Jordan <mjordan@digium.com>
  3316. * funcs/func_cdr.c: funcs/func_cdr: Fix non-epoch timestamps broken
  3317. by improper char array deref Thanks to snuffy for pointing this
  3318. issue out and fixing it. (closes issue ASTERISK-23250) Reported
  3319. by: snuffy patches: func_cdr-fix.diff uploaded by snuffy (License
  3320. 5024)
  3321. 2014-02-04 02:21 +0000 [r407213] Joshua Colp <jcolp@digium.com>
  3322. * /, res/res_clialiases.c: res_clialiases: Fix crash when reloading
  3323. and re-aliasing an alias that is in use. The code assumed that
  3324. unregistering the alias would always succeed while in practice
  3325. this is not actually true. A common case is the "reload" command
  3326. itself. If the cli_aliases.conf configuration file was changed
  3327. and reload executed the command would fail to unregister and
  3328. ultimately point to freed memory. The reload process now checks
  3329. whether unregistering succeeded or not and if not the old CLI
  3330. alias is retained. (closes issue ASTERISK-19773) Reported by:
  3331. Joel Vandal (closes issue ASTERISK-22757) Reported by: Gareth
  3332. Blades ........ Merged revisions 407205 from
  3333. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3334. revisions 407210 from
  3335. http://svn.asterisk.org/svn/asterisk/branches/11
  3336. 2014-02-04 02:04 +0000 [r407197] Damien Wedhorn <voip@facts.com.au>
  3337. * channels/chan_skinny.c: Skinny - Fix deadlock when pickup of no
  3338. call. Locking issues in skinny when picking up a call that
  3339. doesn't exist. Cleaned up sub locking by fully removing and using
  3340. the chan lock instead. Also changed ast_call_pickup to check
  3341. whether chan was masq'd. (closes issue ASTERISK-23249) Reported
  3342. by: wedhorn Tested by: snuffy, myself Patches:
  3343. skinny-locking01.diff uploaded by wedhorn (license 5019)
  3344. 2014-02-03 01:14 +0000 [r407166] Matthew Jordan <mjordan@digium.com>
  3345. * main/cdr.c: cdrs: Check for applications to lock onto during dial
  3346. begin handling This patch brings CDR processing further in line
  3347. with r407085. During some dial operations, the application would
  3348. not be locked to the Dial application and would instead continue
  3349. to show the previously known application. In particular, this
  3350. would occur when a Parked call would time out. This was due to a
  3351. previous snapshot already locking the application to Park -
  3352. processing this in a Dial Begin allows the Dial application to
  3353. reassert its rightful place. (CDRs. Ugh.) But hooray for the
  3354. Parked Call tests for catching this in the Asterisk Test Suite.
  3355. 2014-02-01 16:23 +0000 [r407153] Joshua Colp <jcolp@digium.com>
  3356. * res/ari/ari_model_validators.c, res/res_stasis.c,
  3357. main/stasis_bridges.c, res/ari/ari_model_validators.h,
  3358. rest-api/api-docs/events.json, res/stasis/app.c: res_stasis:
  3359. Enable transfers and provide events when they occur. This change
  3360. enables transfers within ARI created bridges and adds events for
  3361. when they occur. Unlike other events these will be received if
  3362. *any* subscribed object is involved in the transfer. (closes
  3363. issue ASTERISK-22984) Reported by: David M. Lee Review:
  3364. https://reviewboard.asterisk.org/r/3120/
  3365. 2014-02-01 00:24 +0000 [r407104] coreyfarrell <coreyfarrell@localhost>:
  3366. * /, apps/app_stack.c: app_stack: protect against missing
  3367. parameters to STACK_PEEK and LOCAL_PEEK STACK_PEEK requires 2
  3368. parameters and LOCAL_PEEK requires 1 parameter. This protects
  3369. against situations where those parameters are blank or missing by
  3370. logging an error and returning. (closes issue ASTERISK-23220)
  3371. Reported by: James Sharp ........ Merged revisions 407100 from
  3372. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3373. revisions 407103 from
  3374. http://svn.asterisk.org/svn/asterisk/branches/11
  3375. 2014-01-31 23:40 +0000 [r407082-407084] Matthew Jordan <mjordan@digium.com>
  3376. * main/manager_channels.c, apps/app_dial.c, main/cdr.c, main/pbx.c,
  3377. main/bridge_after.c, UPGRADE.txt: CDRs: fix a variety of dial
  3378. status problems, h/hangup handler creating CDRs This patch fixes
  3379. a number of small-ish problems that were noticed when witnessing
  3380. the records that the FreePBX dialplan produces: (1) Mid-call
  3381. events (as well as privacy options) have the ability to change
  3382. the overall state of the Dial operation after the called party
  3383. answers. This means that publishing the DialEnd event when the
  3384. called party is premature; we have to wait for the execution of
  3385. these subroutines to complete before we can signal the overall
  3386. status of the DialEnd. This patch moves that publication and adds
  3387. handlers for the mid-call events. (2) The AST_FLAG_OUTGOING
  3388. channel flag is cleared if an after bridge goto datastore is
  3389. detected. This flag was preventing CDRs from being recorded for
  3390. all outbound channels that had a 'continue' option enabled on
  3391. them by the Dial application. (3) The CDR engine now locks the
  3392. 'Dial' application as being the CDR application if it detects
  3393. that the current CDR has entered that app. This is similar to the
  3394. logic that is done for Parking. In general, if we entered into
  3395. Dial, then we want that CDR to record the application as such -
  3396. this prevents pre-dial handlers, mid-call handlers, and other
  3397. shenaniganry from changing the application value. (4) The CDR
  3398. engine now checks for the AST_SOFTHANGUP_HANGUP_EXEC in more
  3399. places to determine if the channel is in hangup logic or dead. In
  3400. either case, we don't want to record changes in the channel. (5)
  3401. The default option for "endbeforehexten" has been changed to
  3402. "yes". In general, you don't want to see CDRs in the 'h' exten or
  3403. in hangup logic. Since the semantics of that option changed in
  3404. 12, it made sense to update the default value as well. (6)
  3405. Finally, because we now have the ability to synchronize on the
  3406. messages published to the CDR topic, on shutdown the CDR engine
  3407. will now synchronize to the messages currently in flight. This
  3408. helps to ensure that all in-flight CDRs are written before
  3409. shutting down. (closes issue ASTERISK-23164) Reported by: Matt
  3410. Jordan Review: https://reviewboard.asterisk.org/r/3154
  3411. * apps/app_dial.c, /: app_dial: Allow macro/gosub pre-bridge
  3412. execution to occur on priorities The parsing for the destination
  3413. of the macro/gosub uses the '^' character to separate out
  3414. context, extension, and priority. However, the logic for the
  3415. macro/gosub execution was written such that it would only do the
  3416. actual macro/gosub jump if a '^' character existed. This doesn't
  3417. apply when the macro/gosub jump occurs in a priority/priority
  3418. label. This patch changes the logic so that the parsing still
  3419. occurs, but the jump will occur even for priorities/priority
  3420. labels. (issue ASTERISK-23164) Review:
  3421. https://reviewboard.asterisk.org/r/3154 ........ Merged revisions
  3422. 407041 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  3423. ........ Merged revisions 407074 from
  3424. http://svn.asterisk.org/svn/asterisk/branches/11
  3425. 2014-01-31 23:14 +0000 [r407034-407036] Kevin Harwell <kharwell@digium.com>
  3426. * contrib/ast-db-manage/config/versions/21e526ad3040_add_pjsip_debug_option.py
  3427. (added), configs/pjsip.conf.sample, UPGRADE.txt,
  3428. res/res_pjsip_logger.c, CHANGES, res/res_pjsip.c,
  3429. include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c:
  3430. res_pjsip: Config option to enable PJSIP logger at load time.
  3431. Added a "debug" configuration option for res_pjsip that when set
  3432. to "yes" enables SIP messages to be logged. It is specified under
  3433. the "system" type. Also added an alembic script to add the option
  3434. to realtime. (closes issue ASTERISK-23038) Reported by: Rusty
  3435. Newton Review: https://reviewboard.asterisk.org/r/3148/
  3436. * res/res_pjsip_exten_state.c: res_pjsip_exten_state: Exporting
  3437. global symbols caused load order issues Removed the exportation
  3438. of global symbols from the module as it is no longer needed and
  3439. it could potentially cause load problems as on some systems it
  3440. would try to load before res_pjsip_pubsub
  3441. 2014-01-31 22:38 +0000 [r407031] Mark Michelson <mmichelson@digium.com>
  3442. * include/asterisk/res_pjsip_presence_xml.h (added): Add file that
  3443. apparently got missed in the merge.
  3444. 2014-01-31 22:17 +0000 [r407019] Kevin Harwell <kharwell@digium.com>
  3445. * UPGRADE.txt,
  3446. contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py,
  3447. contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py:
  3448. alembic: script modifications due to errors A couple of the
  3449. scripts had errors that would not allow a full migration to take
  3450. place. The extensions table needed to make its 'id' column a
  3451. primary key in order to work with mysql. The other script
  3452. ...add_endpoints... was missing tables that it was trying to add
  3453. columns to. Added the primary key on id for extensions and added
  3454. the tables in for the missing pjsip configuration options. While
  3455. it is not ideal to modify already released scripts this was a
  3456. case where it had to be done due to errors in the script and
  3457. lacking a better alternative. Review:
  3458. https://reviewboard.asterisk.org/r/3167/
  3459. 2014-01-31 22:11 +0000 [r407016] Mark Michelson <mmichelson@digium.com>
  3460. * res/res_pjsip_xpidf_body_generator.c (added),
  3461. res/res_pjsip_mwi_body_generator.c (added),
  3462. res/res_pjsip_pubsub.c, res/res_pjsip_pidf.c (removed),
  3463. res/res_pjsip_pidf_eyebeam_body_supplement.c (added),
  3464. res/res_pjsip_exten_state.c, res/res_pjsip/presence_xml.c
  3465. (added), include/asterisk/res_pjsip_pubsub.h,
  3466. res/res_pjsip_pidf_body_generator.c (added),
  3467. include/asterisk/res_pjsip_exten_state.h (removed),
  3468. res/res_pjsip_pubsub.exports.in,
  3469. include/asterisk/res_pjsip_body_generator_types.h (added),
  3470. res/res_pjsip_mwi.c: Decouple subscription handling from
  3471. NOTIFY/PUBLISH body generation. When the PJSIP pubsub framework
  3472. was created, subscription handlers were required to state what
  3473. event they handled along with what body types they knew how to
  3474. generate. While this serves well when implementing a base RFC, it
  3475. has problems when trying to extend the body to support
  3476. non-standard or proprietary body elements. The code also was
  3477. NOTIFY-specific, meaning that when the time comes that we start
  3478. writing code to send out PUBLISH requests with MWI or presence
  3479. bodies, we would likely find ourselves duplicating code that had
  3480. previously been written. This changeset introduces the concept of
  3481. body generators and body supplements. A body generator is
  3482. responsible for allocating a native structure for a given body
  3483. type, providing the primary body content, converting the native
  3484. structure to a string, and deallocating resources. A body
  3485. supplement takes the primary body content (the native structure,
  3486. not a string) generated by the body generator and adds
  3487. nonstandard elements to the body. With these elements living in
  3488. their own module, it becomes easy to extend our support for body
  3489. types and to re-use resources when sending a PUBLISH request.
  3490. Body generators and body supplements register themselves with the
  3491. pubsub core, similar to how subscription and publish handlers had
  3492. done. Now, subscription handlers do not need to know what type of
  3493. body content they generate, but they still need to inform the
  3494. pubsub core about what the default body type for a given event
  3495. package is. The pubsub core keeps track of what body generators
  3496. and body supplements have been registered. When a SUBSCRIBE
  3497. arrives, the pubsub core will check that there is a subscription
  3498. handler for the event in the SUBSCRIBE, then it will check that
  3499. there is a body generator that can provide the content specified
  3500. in the Accept header(s). Because of the nature of body generators
  3501. and supplements, it means res_pjsip_exten_state and res_pjsip_mwi
  3502. have been completely gutted. They no longer worry about body
  3503. types, instead calling ast_sip_pubsub_generate_body_content()
  3504. when they need to generate a NOTIFY body. Review:
  3505. https://reviewboard.asterisk.org/r/3150
  3506. 2014-01-31 22:05 +0000 [r407014] Kevin Harwell <kharwell@digium.com>
  3507. * res/res_pjsip_mwi.c: res_pjsip_mwi: Subscribe fails when missing
  3508. aor name When subscribing to MWI (res_pjsip_mwi) and the sip uri
  3509. did not contain a name (ex: sip:<ip address>) then the
  3510. subscription would fail since it would be unable to locate an
  3511. associated aor. This patch makes it so that when a subscribe
  3512. comes with no aor name then it will subscribe to all aors on the
  3513. located endpoint. (closes issue ASTERISK-23072) Reported by: Bob
  3514. M Review: https://reviewboard.asterisk.org/r/3164/
  3515. 2014-01-31 15:01 +0000 [r407000] Kinsey Moore <kmoore@digium.com>
  3516. * res/res_pjsip_nat.c: PJSIP: Fix address for ACK in NAT situations
  3517. In NAT scenarios where a call is placed to a Grandstream phone,
  3518. res_pjsip will sometimes send the ACK to a 200 OK to the private
  3519. address of the device behind the NAT instead of the address of
  3520. the NAT device. This corrects that behavior by rewriting the
  3521. address in the Contact header in the incoming 200 OK and the
  3522. dialog's target address if necessary (since it has already been
  3523. rewritten to the incorrect private address). (closes issue
  3524. ASTERISK-23106) Review: https://reviewboard.asterisk.org/r/3168/
  3525. Reported by: Matt Jordan
  3526. 2014-01-31 05:28 +0000 [r406987] Damien Wedhorn <voip@facts.com.au>
  3527. * channels/chan_skinny.c: Skinny: fix up possible double unlock of
  3528. chan. Return before chan is possibly unlocked a second time when
  3529. hanging up a channel in SUBSTATE_OFFHOOK.
  3530. 2014-01-30 20:34 +0000 [r406935] coreyfarrell <coreyfarrell@localhost>:
  3531. * main/udptl.c, res/res_rtp_asterisk.c, /: res_rtp_asterisk &
  3532. udptl: fix port selection to work with SELinux restrictions
  3533. ast_bind to a port reserved for another program by SELinux causes
  3534. errno == EACCES. This caused random failures when binding rtp or
  3535. udptl sockets. Treat EACCES as a non-fatal error, try next port.
  3536. (closes issue ASTERISK-23134) Reported by: Corey Farrell ........
  3537. Merged revisions 406933 from
  3538. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3539. revisions 406934 from
  3540. http://svn.asterisk.org/svn/asterisk/branches/11
  3541. 2014-01-30 17:33 +0000 [r406919] Sean Bright <sean@malleable.com>
  3542. * main/manager.c, /: Make a NOTICE about an invalid channel name
  3543. more useful. ........ Merged revisions 406918 from
  3544. http://svn.asterisk.org/svn/asterisk/branches/11
  3545. 2014-01-29 00:42 +0000 [r406862] Russell Bryant <russell@russellbryant.com>
  3546. * /, configs/queues.conf.sample: queues.conf.sample Fix documented
  3547. default for persistentmembers Closes issue ASTERISK-22662
  3548. ........ Merged revisions 406860 from
  3549. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3550. revisions 406861 from
  3551. http://svn.asterisk.org/svn/asterisk/branches/11
  3552. 2014-01-28 23:35 +0000 [r406788-406847] Kevin Harwell <kharwell@digium.com>
  3553. * res/res_pjsip_pubsub.c: res_pjsip_pubsub: potential crash on
  3554. timeout What seems to be happening is if a subscription has been
  3555. terminated and the subscription timeout/expires is less than the
  3556. time it takes for all pending transactions (currently on the
  3557. subscription) to end then the subscription timer will not have
  3558. been canceled yet and sub will be null. Since the subscription
  3559. has already been canceled nothing needs to be done so a null
  3560. check in the asterisk code is sufficient in working around this
  3561. problem. (closes issue ASTERISK-23129) Reported by: Dan Jenkins
  3562. * cdr/cdr_radius.c, cel/cel_radius.c, /, configure,
  3563. include/asterisk/autoconfig.h.in, configure.ac: cdr_radius,
  3564. cel_radius: build agains libfreeradius-client Asterisk's RADIUS
  3565. module currently build against libradiusclient-ng, but this
  3566. project has been superseeded by libfreeradius-client. The API is
  3567. 99% compatible except that the header name has changed, the
  3568. library name has changed, and the configuration file location has
  3569. changed. (closes issue ASTERISK-22980) Reported by: Jeremy Lainé
  3570. Patches: freeradius-client.patch uploaded by sharky (license
  3571. 6561) ........ Merged revisions 406801 from
  3572. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3573. revisions 406802 from
  3574. http://svn.asterisk.org/svn/asterisk/branches/11
  3575. * res/res_pjsip/include/res_pjsip_private.h,
  3576. include/asterisk/compat.h: res_pjsip,compat: INFINITY and NAN
  3577. undefined On some systems the values for INFINITY and NAN are not
  3578. defined thus causing a build error on those systems. Added
  3579. definitions for those if they had not previously been defined.
  3580. (closes issue ASTERISK-23056) Reported by: capouch Patches:
  3581. inf-nan-patch.txt uploaded by capouch (license 6564)
  3582. 2014-01-28 19:13 +0000 [r406775] Kinsey Moore <kmoore@digium.com>
  3583. * res/res_stasis_device_state.c: ARI: Make double subscribe respond
  3584. with success Currently, attempting to subscribe an application to
  3585. a device state that it has already subscribed to will generate a
  3586. 500 error response. This will now be treated as a subscription
  3587. refresh even though ARI subscriptions don't currently support
  3588. lifetimes and will respond with the normal response for a
  3589. successful subscription (200 OK). (closes issue ASTERISK-23143)
  3590. Reported by: Matt Jordan
  3591. 2014-01-28 16:41 +0000 [r406723] Scott Griepentrog <sgriepentrog@digium.com>
  3592. * main/rtp_engine.c, /: rtp_engine: improved handling of
  3593. get_rtp_info failure In ast_rtp_instance_make_compatible(), after
  3594. a failure of channel tech call get_rtp_info() to return
  3595. peer_instance, the null pointer would be passed to ao2_ref,
  3596. producing an error that looked like a refernce counting problem
  3597. but is not. This patch corrects that and adds helpful LOG_ERROR
  3598. messages to indicate which failure path occurred. (issue
  3599. AST-1276) Review: https://reviewboard.asterisk.org/r/3156/
  3600. ........ Merged revisions 406721 from
  3601. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3602. revisions 406722 from
  3603. http://svn.asterisk.org/svn/asterisk/branches/11
  3604. 2014-01-28 00:11 +0000 [r406707] Richard Mudgett <rmudgett@digium.com>
  3605. * tests/test_cel.c, tests/test_cdr.c: test_cdr.c, test_cel.c:
  3606. Correctly destroy created bridges. * Fixed the
  3607. test_cel_attended_transfer_bridges_link unit test to also account
  3608. for the local channel link being destroyed now that the bridges
  3609. are actually destroyed. * Made CDR unit test use its own version
  3610. of do_sleep() from the CEL unit tests.
  3611. 2014-01-27 20:36 +0000 [r406574-406645] Russell Bryant <russell@russellbryant.com>
  3612. * /, main/config.c: Allow nested #includes in extconfig.conf
  3613. extconfig.conf was hard-coded to not allow nested includes for
  3614. some reason. The code has been this way since a patch was merged
  3615. for ASTERISK-3333 (revision 4889), which was a significant update
  3616. to this code ("Merge config updates"). I can't figure out any
  3617. good reason why this should be limited. This patch just removes
  3618. the limit and uses the default nesting depth limit. Closes issue
  3619. ASTERISK-17837 Review: https://reviewboard.asterisk.org/r/3159/
  3620. ........ Merged revisions 406643 from
  3621. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3622. revisions 406644 from
  3623. http://svn.asterisk.org/svn/asterisk/branches/11
  3624. * main/channel.c, /, main/file.c, include/asterisk/channel.h:
  3625. Protect ast_filestream object when on a channel The
  3626. ast_filestream object gets tacked on to a channel via
  3627. chan->timingdata. It's a reference counted object, but the
  3628. reference count isn't used when putting it on a channel. It's
  3629. theoretically possible for another thread to interfere with the
  3630. channel while it's unlocked and cause the filestream to get
  3631. destroyed. Use the astobj2 reference count to make sure that as
  3632. long as this code path is holding on the ast_filestream and
  3633. passing it into the file.c playback code, that it knows it's
  3634. valid. Bug reported by Leif Madsen. Review:
  3635. https://reviewboard.asterisk.org/r/3135/ ........ Merged
  3636. revisions 406566 from
  3637. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3638. revisions 406567 from
  3639. http://svn.asterisk.org/svn/asterisk/branches/11
  3640. 2014-01-26 23:03 +0000 [r406516] Richard Mudgett <rmudgett@digium.com>
  3641. * main/tcptls.c, /: tcptls.c: Add missing cleanup on off nominal
  3642. path. ........ Merged revisions 406514 from
  3643. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3644. revisions 406515 from
  3645. http://svn.asterisk.org/svn/asterisk/branches/11
  3646. 2014-01-26 02:10 +0000 [r406489] Joshua Colp <jcolp@digium.com>
  3647. * res/res_pjsip_session.c: res_pjsip_session: Be less strict with
  3648. core requested outgoing capabilities. The core may (depending on
  3649. circumstances) request a single codec on outgoing calls. Many
  3650. channel drivers ignore or treat this as a suggestion while still
  3651. including configured codecs. The res_pjsip_session logic treated
  3652. this as an explicit request, leaving out other configured codecs.
  3653. This change makes res_pjsip_session behave like other channel
  3654. driver and simply adds the requested codec to the list. (closes
  3655. issue ASTERISK-23082) Reported by: xrobau Review:
  3656. https://reviewboard.asterisk.org/r/3140/
  3657. 2014-01-24 23:29 +0000 [r406401-406465] Richard Mudgett <rmudgett@digium.com>
  3658. * main/cel.c, /: CEL: Protect data structures during reload and
  3659. shutdown. The CEL data structures need to be protected during a
  3660. configuration reload and shutdown. Asterisk crashed during a
  3661. shutdown because CEL events were still in flight and the CEL data
  3662. structures were already destroyed. * Protected the cel_backends,
  3663. cel_dialstatus_store, and cel_linkedids ao2 containers with a
  3664. global ao2 object wrapper. * Added NULL checks before use of the
  3665. cel_backends, cel_dialstatus_store, and cel_linkedids ao2
  3666. containers in case the CEL module is already shutdown. * Fixed
  3667. overloading of the cel_linkedids held objects reference count.
  3668. During shutdown any held objects would be leaked. * Fixed memory
  3669. leak of cel_linkedids held objects if the LINKEDID_END is not
  3670. being tracked. The objects in the cel_linkedids container were
  3671. not removed if the LINKEDID_END event is not used. * Added access
  3672. protection to the cel_backends container during the CLI "cel show
  3673. status" command. * Made cel_backends, cel_dialstatus_store, and
  3674. cel_linkedids use the standard ao2 callback templates for the
  3675. hash and cmp functions. * Eliminated unnecessary uses of
  3676. RAII_VAR(). * Made ast_cel_engine_init() cleanup alocated
  3677. resources on failure. (closes issue AST-1253) Reported by:
  3678. Guenther Kelleter Review:
  3679. https://reviewboard.asterisk.org/r/3128/ ........ Merged
  3680. revisions 406417 from
  3681. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3682. revisions 406418 from
  3683. http://svn.asterisk.org/svn/asterisk/branches/11
  3684. * main/manager.c, /: manager: Register atexit shutdown routine only
  3685. once. * Made register atexit shutdown routine only once in
  3686. __init_manager(). * Fixed some initial load failure conditions in
  3687. __init_manager(). * Made reset options to defaults on reload when
  3688. the reload will actually happen. * Removed unnecessary container
  3689. traversals of the white/black filters during manager_free_user().
  3690. * ast_free() does not need a NULL check before calling. ........
  3691. Merged revisions 406359 from
  3692. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3693. revisions 406400 from
  3694. http://svn.asterisk.org/svn/asterisk/branches/11
  3695. 2014-01-24 21:25 +0000 [r406389] Jonathan Rose <jrose@digium.com>
  3696. * res/res_config_pgsql.c, /: res_config_pgsql: Fix a memory leak
  3697. and use RAII_VAR for cleanup when practical Review:
  3698. https://reviewboard.asterisk.org/r/3141/ ........ Merged
  3699. revisions 406360 from
  3700. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3701. revisions 406361 from
  3702. http://svn.asterisk.org/svn/asterisk/branches/11
  3703. 2014-01-24 18:04 +0000 [r406342] Richard Mudgett <rmudgett@digium.com>
  3704. * main/manager.c, /: manager: Protect data structures during
  3705. shutdown. Occasionally, the manager module would get an
  3706. "INTERNAL_OBJ: bad magic number" error on a "core restart
  3707. gracefully" command if an AMI connection is established. * Added
  3708. ao2_global_obj protection to the sessions global container. *
  3709. Fixed the order of unreferencing a session object in
  3710. session_destroy(). * Removed unnecessary container traversals of
  3711. the white/black filters during session_destructor(). (closes
  3712. issue AST-1242) Reported by: Guenther Kelleter Review:
  3713. https://reviewboard.asterisk.org/r/3144/ ........ Merged
  3714. revisions 406341 from
  3715. http://svn.asterisk.org/svn/asterisk/branches/11
  3716. 2014-01-23 23:41 +0000 [r406327] Mark Michelson <mmichelson@digium.com>
  3717. * res/res_pjsip_pidf.c: Today is not my day for writing code that
  3718. compiles.
  3719. 2014-01-23 22:54 +0000 [r406311] Michael L. Young <elgueromexicano@gmail.com>
  3720. * addons/res_config_mysql.c: res_config_mysql: Fix Setting The
  3721. Column Name Incorrectly When support for a realtime sorcery
  3722. module was added in revision 386731, the wrong property was
  3723. accidentally used for setting the column name to be updated in
  3724. the database table. This patch fixes the typo. (closes issue
  3725. ASTERISK-23177) Reported by: Denis Tested by: Denis Patches:
  3726. asterisk-23177-use-field-name.diff by Michael L. Young (license
  3727. 5026)
  3728. 2014-01-23 21:09 +0000 [r406294-406295] Mark Michelson <mmichelson@digium.com>
  3729. * res/res_pjsip_pidf.c: Fix presence body errors found during
  3730. testing: * PIDF bodies were reporting an "open" state in many
  3731. cases where it should have been reporting "closed" * XPIDF bodies
  3732. had XML nodes placed incorrectly within the hierarchy. * SIP URIs
  3733. in XPIDF bodies did not go through XML sanitization * XML
  3734. sanitization had some errors: * Right angle bracket was being
  3735. replaced with "&rt;" instead of "&gt;" * Double quote,
  3736. apostrophe, and ampersand were not being escaped.
  3737. * res/res_pjsip_pidf.c: Fix presence body errors found during
  3738. testing: * PIDF bodies were reporting an "open" state in many
  3739. cases where it should have been reporting "closed" * XPIDF bodies
  3740. had XML nodes placed incorrectly within the hierarchy. * SIP URIs
  3741. in XPIDF bodies did not go through XML sanitization * XML
  3742. sanitization had some errors: * Right angle bracket was being
  3743. replaced with "&rt;" instead of "&gt;" * Double quote,
  3744. apostrophe, and ampersand were not being escaped.
  3745. 2014-01-22 22:23 +0000 [r406264] Scott Griepentrog <sgriepentrog@digium.com>
  3746. * utils/extconf.c, main/pbx.c, /: pbx.c: Pre-initialize timezone to
  3747. avoid crash on destroy In ast_build_timing, initialize the
  3748. timezone value to NULL in order to avoid deferencing an
  3749. uninitialized value later when calling ast_destroy_timing. The
  3750. timezone value could be uninitialized if ast_build_timing were to
  3751. fail due to a zero length time string. (closes issue
  3752. ASTERISK-22861) Reported by: Sebastian Murray-Roberts Review:
  3753. https://reviewboard.asterisk.org/r/3134/ Patches:
  3754. ast_build_timing-initialize-timezone.patch uploaded by
  3755. coreyfarrell (license 5909) ........ Merged revisions 406241 from
  3756. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3757. revisions 406245 from
  3758. http://svn.asterisk.org/svn/asterisk/branches/11
  3759. 2014-01-22 19:34 +0000 [r406152-406223] Kinsey Moore <kmoore@digium.com>
  3760. * apps/app_confbridge.c, /: ConfBridge: Fix channel parameter
  3761. documentation Confbridge AMI and CLI commands for mute, unmute,
  3762. and setting the single video source can accept channel prefixes
  3763. in lieu of a full channel name, but documentation states only
  3764. that it is required and is a channel name. This corrects the
  3765. documentation. (closes issue PQ-1397) Reported by: Steve Pitts
  3766. ........ Merged revisions 406217 from
  3767. http://svn.asterisk.org/svn/asterisk/branches/11
  3768. * /, channels/chan_sip.c: chan_sip: Decline image streams on
  3769. unsupported transports This change allows chan_sip to decline
  3770. individual image streams over unsupported transports in the SDP
  3771. of the 200 response. Previously, an image stream offer with
  3772. RTP/AVP as the transport would cause chan_sip to respond with a
  3773. 488. (closes issue ASTERISK-22988) Reported by: adomjan Original
  3774. patch by: adomjan ........ Merged revisions 406170 from
  3775. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3776. revisions 406171 from
  3777. http://svn.asterisk.org/svn/asterisk/branches/11
  3778. * res/res_stasis_playback.c: res_stasis_playback: Correct error
  3779. argument order Several of the playback error messages for invalid
  3780. media input in res_stasis_playback.c had the media name and
  3781. channel name reversed. They now correctly identify the channel
  3782. name and media name. Reported by: skrusty
  3783. 2014-01-21 21:47 +0000 [r406133] Rusty Newton <rnewton@digium.com>
  3784. * res/res_pjsip.c: res_pjsip: Documentation improvement for
  3785. Endpoint and AOR mailbox options. Making the help text for both
  3786. more explicit regarding the format of mailbox identifiers. i.e.
  3787. clarifying the format for app_voicemail mailboxes vs mailboxes
  3788. from external MWI sources through modules such as
  3789. res_external_mwi.
  3790. 2014-01-21 21:06 +0000 [r406081] Walter Doekes <walter+asterisk@wjd.nu>
  3791. * configs/manager.conf.sample, main/manager.c, /: manager: Clarify
  3792. eventfilter documentation. Textual changes only. Review:
  3793. https://reviewboard.asterisk.org/r/3133/ ........ Merged
  3794. revisions 406079 from
  3795. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3796. revisions 406080 from
  3797. http://svn.asterisk.org/svn/asterisk/branches/11
  3798. 2014-01-21 20:20 +0000 [r406003-406049] Kinsey Moore <kmoore@digium.com>
  3799. * /, channels/chan_mgcp.c: chan_mgcp: Enforce locking for oseq This
  3800. restricts direct usage of global oseq so that all accesses are
  3801. locked and threads are not racing to get oseq values that they
  3802. did not claim. This also fixes a build error in res_pktccops
  3803. under dev mode. (closes issue ASTERISK-23100) Reported by:
  3804. adomjan Patch by: adomjan ........ Merged revisions 406037 from
  3805. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3806. revisions 406038 from
  3807. http://svn.asterisk.org/svn/asterisk/branches/11
  3808. * res/res_pjsip_outbound_registration.c, res/res_pjsip.c: PJSIP:
  3809. Handle headers in a list appropriately The PJSIP header parsing
  3810. function (pjsip_parse_hdr) can generate more than one header
  3811. instance from a single header field. These header instances exist
  3812. as a list attached to the returned header and must be handled
  3813. appropriately when they are added to a message or else only the
  3814. first header instance will be used. This changes the linked list
  3815. functions used in outbound proxy code to merge the lists
  3816. properly.
  3817. * rest-api-templates/ari_resource.h.mustache,
  3818. res/res_ari_device_states.c, res/res_ari_mailboxes.c,
  3819. res/res_ari_asterisk.c,
  3820. rest-api-templates/res_ari_resource.c.mustache,
  3821. res/res_ari_applications.c,
  3822. rest-api-templates/body_parsing.mustache (added),
  3823. res/res_ari_channels.c, res/ari/resource_playbacks.h,
  3824. rest-api-templates/param_parsing.mustache,
  3825. res/ari/resource_sounds.h, res/ari/resource_bridges.h,
  3826. res/ari/resource_device_states.h, res/ari/resource_mailboxes.h,
  3827. rest-api/api-docs/channels.json, res/ari/resource_asterisk.h,
  3828. res/ari/resource_applications.h, res/ari/resource_channels.c,
  3829. res/res_ari_playbacks.c, res/res_ari_sounds.c,
  3830. rest-api-templates/asterisk_processor.py,
  3831. res/ari/resource_channels.h, res/res_ari_bridges.c: ARI: Support
  3832. channel variables in originate This adds back in support for
  3833. specifying channel variables during an originate without
  3834. compromising the ability to specify query parameters in the JSON
  3835. body. This was accomplished by generating the body-parsing code
  3836. in a separate function instead of being integrated with the URI
  3837. query parameter parsing code such that it could be called by
  3838. paths with body parameters. This is transparent to the user of
  3839. the API and prevents manual duplication of code or data
  3840. structures. (closes issue ASTERISK-23051) Review:
  3841. https://reviewboard.asterisk.org/r/3122/ Reported by: Matt Jordan
  3842. 2014-01-20 23:18 +0000 [r405982] Damien Wedhorn <voip@facts.com.au>
  3843. * channels/chan_skinny.c: Skinny: fix up handling of fragmented
  3844. packets. Bad offset in reading second or more fragment of skinny
  3845. packets. Fixed to offset by char (single byte) rather than size
  3846. of req.
  3847. 2014-01-20 22:15 +0000 [r405928] Richard Mudgett <rmudgett@digium.com>
  3848. * /, channels/sig_pri.c: chan_dahdi/PRI: Suppress CONNECTED_LINE
  3849. updates when nothing in the udpate is valid. * Also simplified
  3850. some subddress handling code. (closes issue ASTERISK-23008)
  3851. Reported by: Michael Cargile ........ Merged revisions 405926
  3852. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  3853. Merged revisions 405927 from
  3854. http://svn.asterisk.org/svn/asterisk/branches/11
  3855. 2014-01-20 21:53 +0000 [r405924] Damien Wedhorn <voip@facts.com.au>
  3856. * channels/chan_skinny.c: Skinny: fix up session logging. Logging
  3857. from the skinny session loop was providing some incorrect reasons
  3858. for exiting the loop. Cleaned up messages and handling so correct
  3859. reason displayed.
  3860. 2014-01-20 18:07 +0000 [r405908] Jonathan Rose <jrose@digium.com>
  3861. * channels/chan_pjsip.c: chan_pjsip: Provide a means for tracking
  3862. device state when holding/unholding Previously PJSIP did not
  3863. track hold/unhold and it would always simply be 'inuse'. This
  3864. patch fixes that. review:
  3865. https://reviewboard.asterisk.org/r/3129/
  3866. 2014-01-18 23:57 +0000 [r405893] Damien Wedhorn <voip@facts.com.au>
  3867. * channels/chan_skinny.c: Skinny: fix reversed device reset from
  3868. CLI. Existing code would do a full device restart when "skinny
  3869. reset device" was entered at the CLI and do a reset when "skinny
  3870. reset device restart" entered.
  3871. 2014-01-17 22:05 +0000 [r405877] Sean Bright <sean@malleable.com>
  3872. * channels/chan_sip.c: Make sure the maxptime attribute is added to
  3873. the correct offers.
  3874. 2014-01-17 21:32 +0000 [r405861-405875] Scott Griepentrog <sgriepentrog@digium.com>
  3875. * main/frame.c, include/asterisk/format_pref.h,
  3876. res/res_pjsip_sdp_rtp.c, main/format_pref.c, main/sorcery.c:
  3877. pjsip: fix support for allow=all This change adds improvements to
  3878. support for allow=all in pjsip.conf so that it functions as
  3879. intended. Previously, the allow/disallow socery configuration
  3880. would set & clear codecs from the media.codecs and media.prefs
  3881. list, but if all was specified the prefs list was not updated.
  3882. Then a call would fail when create_outgoing_sdp_stream() created
  3883. an SDP with no audio codecs. A new function
  3884. ast_codec_pref_append_all() is provided to add all codecs to the
  3885. prefs list - only those not already on the list. This enables the
  3886. configuration to specify a codec preference, but still add all
  3887. codecs, and even then remove some codecs, as shown in this
  3888. example: allow = ulaw, alaw, all, !g729, !g723 Also, the display
  3889. order of allow in cli output is updated to match the
  3890. configuration by using prefs instead of caps when generating a
  3891. human readable string. Finally, a change to
  3892. create_outgoing_sdp_stream() skips a codec when it does not have
  3893. a payload code instead of the call failing. (closes issue
  3894. ASTERISK-23018) Reported by: xrobau Review:
  3895. https://reviewboard.asterisk.org/r/3131/
  3896. * main/http.c: http: supported chunked Transfer-Encoding This
  3897. change implements support for HTTP Transfer-Encoding chunked in
  3898. both JSON and Form (post vars) body content. A new function
  3899. ast_http_get_contents() handles both regular and chunked mode
  3900. body, returning after the entire body is received. (closes issue
  3901. ASTERISK-23068) Reported by: Matt Jordan Review:
  3902. https://reviewboard.asterisk.org/r/3125/
  3903. 2014-01-17 18:54 +0000 [r405777-405843] Rusty Newton <rnewton@digium.com>
  3904. * res/res_pjsip.c: Fixing some XML syntax issues with my previous
  3905. commit at r405777 for ASTERISK-23071
  3906. * /, channels/chan_sip.c, doc/asterisk.8, main/features.c,
  3907. configs/sip.conf.sample, apps/app_queue.c, apps/app_transfer.c,
  3908. channels/chan_iax2.c: Documentation: doc fixes across various
  3909. parts of the code for ASTERISK issues 23061,23028,23046,23027
  3910. Fixes typos of "transfered" instead of "transferred" in various
  3911. code. Fixes incorrect gosub param help text for app_queue. Fixes
  3912. Asterisk man pages containing unquoted minus signs. Adds note
  3913. about the "textsupport" option in sip.conf.sample. (issue
  3914. ASTERISK-23061) (issue ASTERISK-23028) (issue ASTERISK-23046)
  3915. (issue ASTERISK-23027) (closes issue ASTERISK-23061) (closes
  3916. issue ASTERISK-23028) (closes issue ASTERISK-23046) (closes issue
  3917. ASTERISK-23027) Reported by: Eugene, Jeremy Laine, Denis
  3918. Pantsyrev Patches: transferred.patch uploaded by Jeremy Laine
  3919. (license 6561) hyphen.patch uploaded by Jeremy Laine (license
  3920. 6561) sip.conf.sample.patch uploaded by Eugene (license 6360)
  3921. ........ Merged revisions 405791 from
  3922. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3923. revisions 405792 from
  3924. http://svn.asterisk.org/svn/asterisk/branches/11
  3925. * res/res_pjsip.c: res_pjsip: enhance documentation for mailboxes
  3926. options, for both endpoints and aors Made documentation more
  3927. explicit as to the use of the both options. (issue
  3928. ASTERISK-23071) (closes issue ASTERISK-23071) Reported by: Matt
  3929. Jordan
  3930. 2014-01-16 20:05 +0000 [r405746-405748] Kevin Harwell <kharwell@digium.com>
  3931. * res/res_pjsip/pjsip_options.c: res_pjsip: AOR option
  3932. qualify_frequency not respected on startup If an endpoint had
  3933. previously dynamically registered a contact and the contact
  3934. information was successfully stored in astdb then upon restart
  3935. the qualify notifications would not be sent out if the
  3936. qualify_frequency was set. This was due to the fact that only
  3937. permanent contacts were being checked and scheduled for qualifies
  3938. on startup. Modified the code to check and schedule all
  3939. registered contacts at startup. (closes issue ASTERISK-23062)
  3940. Reported by: Rusty Newton Review:
  3941. https://reviewboard.asterisk.org/r/3124/
  3942. * main/manager.c, /: manager: Originate doesn't abort on failed
  3943. format_cap allocation action_originate responds to the remote
  3944. system with an error when cap==NULL, but doesn't return (abort
  3945. the originate). Patched to return. (closes issue ASTERISK-23034)
  3946. Reported by: Corey Farrell Patches: ASTERISK-23034.patch uploaded
  3947. by coreyfarrell (license 5909) ........ Merged revisions 405745
  3948. from http://svn.asterisk.org/svn/asterisk/branches/11
  3949. 2014-01-16 19:32 +0000 [r405743] Kinsey Moore <kmoore@digium.com>
  3950. * res/res_pjsip.c: PJSIP: Fix outbound OPTIONS support When path
  3951. support was added and contacts were made available during request
  3952. creation and transmission, the code path used by outbound qualify
  3953. support was not modified correctly and was causing request
  3954. creation to fail. This ensures that outbound request creation
  3955. with only a contact and no dialog, endpoint, or uri can succeed
  3956. which restores qualify support. Reported by: gtjoseph Reported
  3957. by: kharwell
  3958. 2014-01-16 19:06 +0000 [r405643-405694] Kevin Harwell <kharwell@digium.com>
  3959. * /, res/res_fax.c, configs/res_fax.conf.sample, UPGRADE.txt:
  3960. res_fax: check_modem_rate() returned incorrect rate for V.27
  3961. According to the new standard for V.27 and V.32 they are able to
  3962. transmit at a bit rate of 4,800 or 9,600. The check_mode_rate
  3963. function needed to be updated to reflect this. Also, because of
  3964. this change the default 'minrate' value was updated to be 4800.
  3965. (closes issue ASTERISK-22790) Reported by: Paolo Compagnini
  3966. Patches: res_fax.txt uploaded by looserouting (license 6548)
  3967. ........ Merged revisions 405656 from
  3968. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  3969. revisions 405693 from
  3970. http://svn.asterisk.org/svn/asterisk/branches/11
  3971. * channels/chan_pjsip.c: chan_pjsip: initial device state on
  3972. endpoints is INVALID When endpoints get loaded their device state
  3973. gets set to 'INVALID' because the channel driver has not been
  3974. loaded yet. Fixed by updating the device state for every endpoint
  3975. upon load of the channel driver. (closes issue ASTERISK-23065)
  3976. Reported by: Rusty Newton Review:
  3977. https://reviewboard.asterisk.org/r/3123/
  3978. 2014-01-15 16:48 +0000 [r405585-405587] Jonathan Rose <jrose@digium.com>
  3979. * CHANGES: Remove subversion conflict tag accidentally left in
  3980. CHANGES
  3981. * CHANGES: Include CHANGES info for r405553
  3982. 2014-01-15 16:36 +0000 [r405583] Joshua Colp <jcolp@digium.com>
  3983. * /, cel/cel_manager.c: cel_manager: Don't crash if configuration
  3984. file is invalid. The cel_manager module did not properly handle
  3985. the case where the configuration file was invalid. The module
  3986. will now output a warning message and disable itself if this
  3987. occurs. Reported by: Bryan Walters ........ Merged revisions
  3988. 405581 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  3989. ........ Merged revisions 405582 from
  3990. http://svn.asterisk.org/svn/asterisk/branches/11
  3991. 2014-01-15 13:14 +0000 [r405565] Kinsey Moore <kmoore@digium.com>
  3992. * res/res_pjsip_messaging.c, UPGRADE.txt, res/res_pjsip_t38.c,
  3993. res/res_pjsip_caller_id.c, CHANGES,
  3994. res/res_pjsip/pjsip_options.c, res/res_pjsip.c,
  3995. res/res_pjsip_nat.c, res/res_pjsip_session.c,
  3996. contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py
  3997. (added), res/res_pjsip_header_funcs.c, res/res_pjsip/location.c,
  3998. res/res_pjsip_outbound_registration.c, res/res_pjsip_path.c
  3999. (added), res/res_pjsip_mwi.c, res/res_pjsip/pjsip_distributor.c,
  4000. res/res_pjsip_diversion.c, channels/chan_pjsip.c,
  4001. res/res_pjsip_registrar.c, res/res_pjsip_refer.c,
  4002. include/asterisk/res_pjsip.h,
  4003. include/asterisk/res_pjsip_session.h, res/res_pjsip_notify.c:
  4004. PJSIP: Add Path header support This adds Path support to
  4005. chan_pjsip in res_pjsip_path.c with minimal additions in
  4006. res_pjsip_registrar.c to store the path and additions in
  4007. res_pjsip_outbound_registration.c to enable advertisement of path
  4008. support to registrars and intervening proxies. Path information
  4009. is stored on contacts and is enabled via Address of Record (AoRs)
  4010. and Registration configuration sections. While adding path
  4011. support, it became necessary to be able to add SIP supplements
  4012. that handled messages outside of sessions, so a framework for
  4013. handling these types of hooks was added in parallel to the
  4014. already-existing session supplements and several senders of
  4015. out-of-dialog requests were refactored as a result. (closes issue
  4016. ASTERISK-21084) Review: https://reviewboard.asterisk.org/r/3050/
  4017. 2014-01-14 23:26 +0000 [r405553] Jonathan Rose <jrose@digium.com>
  4018. * rest-api/resources.json, res/ari/ari_model_validators.c,
  4019. res/res_stasis_mailbox.exports.in (added),
  4020. res/ari/ari_model_validators.h, rest-api/api-docs/mailboxes.json
  4021. (added), include/asterisk/stasis_app_mailbox.h (added),
  4022. res/ari/resource_mailboxes.c (added), res/ari.make,
  4023. res/res_ari_mailboxes.c (added), res/ari/resource_mailboxes.h
  4024. (added), res/res_stasis_mailbox.c (added): ARI: Add mailboxes
  4025. resource for controlling and polling external MWI Adds the
  4026. following AMI commands: PUT mailboxes/mailboxName modifies
  4027. mailbox state and implicitly creates new mailboxes GET
  4028. mailboxes/mailboxName retrieves a JSON representation of a single
  4029. mailbox if it exists GET mailboxes retrieves a JSON array of all
  4030. mailboxes DELETE mailbox/mailboxName deletes a mailbox Note that
  4031. res_mwi_external must be loaded for these functions to actually
  4032. do anything. Review: https://reviewboard.asterisk.org/r/3117/
  4033. 2014-01-14 21:44 +0000 [r405541] Richard Mudgett <rmudgett@digium.com>
  4034. * main/strings.c: string container: Remove unnecessary RAII_VAR
  4035. usage and string object lock.
  4036. 2014-01-14 18:13 +0000 [r405435] Scott Griepentrog <sgriepentrog@digium.com>
  4037. * /, channels/chan_sip.c: chan_sip: fix Local From tag on outbound
  4038. register regression In ASTERISK-12117, an improvement to insure
  4039. consistant local from tags on outbound registrations resulted in
  4040. an undesirable behavior - caused by leftover unexpired sip_pvt
  4041. dialogs (with the previous cseq number), resulting in many
  4042. uncessary REGISTER requests. Instead of significant rework of
  4043. transmit_register(), this change deletes the dialogs after a 200
  4044. OK response indiciating a successful registration, keeping the
  4045. old dialogs from interfering with normal operation. (closes issue
  4046. ASTERISK-22946) Reported by: Stephan Eisvogel Review:
  4047. https://reviewboard.asterisk.org/r/3109/ ........ Merged
  4048. revisions 405433 from
  4049. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  4050. revisions 405434 from
  4051. http://svn.asterisk.org/svn/asterisk/branches/11
  4052. 2014-01-14 18:03 +0000 [r405432] Richard Mudgett <rmudgett@digium.com>
  4053. * include/asterisk/logger.h, main/pbx.c, main/manager.c, /,
  4054. funcs/func_timeout.c, apps/app_dumpchan.c, main/logger.c,
  4055. UPGRADE.txt, apps/app_verbose.c, main/asterisk.c,
  4056. configs/logger.conf.sample, main/cli.c: verbosity: Fix
  4057. performance of console verbose messages. The per console verbose
  4058. level feature as previously implemented caused a large
  4059. performance penalty. The fix required some minor
  4060. incompatibilities if the new rasterisk is used to connect to an
  4061. earlier version. If the new rasterisk connects to an older
  4062. Asterisk version then the root console verbose level is always
  4063. affected by the "core set verbose" command of the remote console
  4064. even though it may appear to only affect the current console. If
  4065. an older version of rasterisk connects to the new version then
  4066. the "core set verbose" command will have no effect. * Fixed the
  4067. verbose performance by not generating a verbose message if
  4068. nothing is going to use it and then filtered any generated
  4069. verbose messages before actually sending them to the remote
  4070. consoles. * Split the "core set debug" and "core set verbose" CLI
  4071. commands to remove the per module verbose support that cannot
  4072. work with the per console verbose level. * Added a silent option
  4073. to the "core set verbose" command. * Fixed "core set debug off"
  4074. tab completion. * Made "core show settings" list the current
  4075. console verbosity in addition to the root console verbosity. *
  4076. Changed the default verbose level of the 'verbose' setting in the
  4077. logger.conf [logfiles] section. The default is now to once again
  4078. follow the current root console level. As a result, using the AMI
  4079. Command action with "core set verbose" could again set the root
  4080. console verbose level and affect the verbose level logged.
  4081. (closes issue AST-1252) Reported by: Guenther Kelleter Review:
  4082. https://reviewboard.asterisk.org/r/3114/ ........ Merged
  4083. revisions 405431 from
  4084. http://svn.asterisk.org/svn/asterisk/branches/11
  4085. 2014-01-14 03:12 +0000 [r405367] Damien Wedhorn <voip@facts.com.au>
  4086. * channels/chan_skinny.c: Skinny: do not add call to missed calls
  4087. list if answered elsewhere. Patch updates skinny devices with a
  4088. SKINNY_CONNECTED callstate if an inbound ringing or callwaiting
  4089. call is answered elsewhere.
  4090. 2014-01-13 17:09 +0000 [r405350] Jonathan Rose <jrose@digium.com>
  4091. * res/res_pjsip_session.c: PJSIP: Backport r405270 - Unhold on
  4092. reinvite without SDP Adds behavior to unhold on a reinvite
  4093. without an SDP section Review:
  4094. https://reviewboard.asterisk.org/r/3106/
  4095. 2014-01-13 13:28 +0000 [r405338] Kinsey Moore <kmoore@digium.com>
  4096. * res/res_pjsip/pjsip_cli.c: res_pjsip: Fix CLI tab completion
  4097. issues This fixes several issues with the new res_pjsip CLI tab
  4098. completion such as output of headers during tab completion and
  4099. being able to tab-complete more items than the code actually
  4100. handled (further items would simply be ignored). (closes issue
  4101. ASTERISK-23081) Review: https://reviewboard.asterisk.org/r/3115/
  4102. Reported by: xrobau
  4103. 2014-01-12 22:23 +0000 [r405325] Joshua Colp <jcolp@digium.com>
  4104. * res/ari/resource_playbacks.c, res/ari/resource_channels.c,
  4105. include/asterisk/ari.h, res/ari/resource_bridges.c,
  4106. res/ari/resource_recordings.c, res/ari/resource_device_states.c,
  4107. res/res_ari.c, res/ari/resource_endpoints.c,
  4108. res/ari/resource_applications.c: res_ari: Fix various memory
  4109. leaks. This change fixes a few memory leaks that were found based
  4110. on a mailing list post. 1. Some JSON response messages were never
  4111. freed. This was caused by the documentation stating that message
  4112. references were stolen when in reality they were not. The code
  4113. now follows the documentation and usage has been updated. 2. HTTP
  4114. response headers were never freed. 3. The variable list for
  4115. wildcards paths was never freed. (closes issue ASTERISK-23128)
  4116. Reported by: Kenneth Watson (on list) Review:
  4117. https://reviewboard.asterisk.org/r/3119/
  4118. 2014-01-12 21:58 +0000 [r405311-405312] Matthew Jordan <mjordan@digium.com>
  4119. * funcs/func_cdr.c, include/asterisk/cdr.h, apps/app_cdr.c,
  4120. main/cdr.c, apps/app_forkcdr.c: CDRs: Synchronize dialplan
  4121. applications that manipulate CDRs with the engine In
  4122. https://reviewboard.asterisk.org/r/3057/, applications and
  4123. functions that manipulate CDRs were made to interact over Stasis.
  4124. This was done to synchronize manipulations of CDRs from the
  4125. dialplan with the updates the engine itself receives over the
  4126. message bus. This change rested on a faulty premise: that
  4127. messages published to the CDR topic or to a topic that forwards
  4128. to the CDR topic are synchronized with the messages handled by
  4129. the CDR topic subscription in the CDR engine. This is not the
  4130. case. There is no ordering guaranteed for two messages published
  4131. to the same topic; ordering is only guaranteed if a message is
  4132. published to the same subscriber. Stasis was modified in r405311
  4133. to allow a publisher to synchronize on the subscriber. This patch
  4134. uses that API to synchronize the CDR publishers with the CDR
  4135. engine message router, which maintains the overall topic
  4136. subscription. (closes issue ASTERISK-22884) Reported by: Matt
  4137. Jordan Review: https://reviewboard.asterisk.org/r/3099/
  4138. * main/stasis.c, main/stasis_message_router.c,
  4139. include/asterisk/stasis.h,
  4140. include/asterisk/stasis_message_router.h, tests/test_stasis.c:
  4141. stasis: Add methods to allow for synchronous publishing to
  4142. subscriber This patch adds an API call to Stasis that allows a
  4143. publisher to publish a stasis message that will not return until
  4144. a specific subscriber handles the message. Since a subscriber can
  4145. have their own forwarding topic which orders messages from many
  4146. topics, this allows a publisher who knows of that subscriber to
  4147. synchronize to that subscriber regardless of the forwarding
  4148. relationships between topics. This is of particular use for
  4149. dialplan applications that need to synchronize on a particular
  4150. subscriber's handling of a message. (issue ASTERISK-22884)
  4151. Reported by: Matt Jordan Review:
  4152. https://reviewboard.asterisk.org/r/3099/
  4153. 2014-01-10 19:39 +0000 [r405298] Mark Michelson <mmichelson@digium.com>
  4154. * res/res_pjsip/security_events.c: Print "<unknown>" for artificial
  4155. endpoint in PJSIP security events. Previously, this printed a
  4156. UUID, which was not very clear when dealing with an artificial
  4157. endpoint. Review: https://reviewboard.asterisk.org/r/3113
  4158. 2014-01-10 18:00 +0000 [r405282] Richard Mudgett <rmudgett@digium.com>
  4159. * main/logger.c, /: Logging callid: Fix some sizeof() references
  4160. per coding guidelines. ........ Merged revisions 405281 from
  4161. http://svn.asterisk.org/svn/asterisk/branches/11
  4162. 2014-01-09 23:45 +0000 [r405268] Damien Wedhorn <voip@facts.com.au>
  4163. * channels/chan_dahdi.c: Fix chan_dahdi copile issue in dev-mode.
  4164. Error "unused variable i in dahdi_create_channel_range" when
  4165. compiling in dev-mode. Small restructure to
  4166. dahdi_create_channel_range to move the for(x) loop and int i,x to
  4167. a block within the IFDEF.
  4168. 2014-01-09 23:36 +0000 [r405266] Kevin Harwell <kharwell@digium.com>
  4169. * res/res_pjsip_messaging.c, res/res_pjsip.c: res_pjsip_messaging:
  4170. potential for field values in from/to headers to be missing Added
  4171. in ability to specify display name format ("name"
  4172. <sip:name@ipaddr:port>) for a given URI and made sure it was
  4173. fully propagated to the outgoing message. Also made it so outoing
  4174. messages in res_pjsip always send as "sip:". (closes issue
  4175. ASTERISK-22924) Reported by: Anthony Messina Review:
  4176. https://reviewboard.asterisk.org/r/3094/
  4177. 2014-01-09 20:25 +0000 [r405253] Kinsey Moore <kmoore@digium.com>
  4178. * main/astobj2.c, res/res_pjsip_session.c,
  4179. include/asterisk/astobj2.h: astobj2: Correct ao2_iterator opacity
  4180. violations This corrects the ao2_iterator opacity violations in
  4181. res_pjsip_session.c by adding a global function to get the number
  4182. of elements inside the container hidden behind the iterator.
  4183. (closes issue ASTERISK-23053) Review:
  4184. https://reviewboard.asterisk.org/r/3111/ Reported by: Richard
  4185. Mudgett
  4186. 2014-01-09 16:51 +0000 [r405235] Kevin Harwell <kharwell@digium.com>
  4187. * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fails to resume
  4188. WebRTC call from hold In ast_rtp_ice_start if the ice session
  4189. create check list failed, start check was never initiated and
  4190. ice_started was never set to true. Upon re-entering the function
  4191. (for instance, [un]hold) it would try to create the check list
  4192. again with duplicate remote candidates. Fixed so that if the
  4193. create check list fails the necessary data structures are
  4194. properly re-initialized for any subsequent retries. Note, it was
  4195. decided to not stop ice support (by calling ast_rtp_ice_stop) on
  4196. a check list failure because it possible things might still work.
  4197. However, a debug message was added to help with any future
  4198. troubleshooting. (closes issue ASTERISK-22911) Reported by: Vytis
  4199. Valentinavičius Patches: works_on_my_machine.patch uploaded by
  4200. xytis (license 6558) ........ Merged revisions 405234 from
  4201. http://svn.asterisk.org/svn/asterisk/branches/11
  4202. 2014-01-09 15:49 +0000 [r405216] Matthew Jordan <mjordan@digium.com>
  4203. * apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c,
  4204. /: app_confbridge: Fix crash caused when waitmarked/marked users
  4205. leave together When waitmarked users join a ConfBridge, the
  4206. conference state is transitioned from EMPTY -> INACTIVE. In this
  4207. state, the users are maintined in a waiting users list. When a
  4208. marked user joins, the ConfBridge conference transitions from
  4209. INACTIVE -> MULTI_MARKED, and all users are put onto the active
  4210. list of users. This process works correctly. When the marked user
  4211. leaves, if they are the last marked user, the MULTI_MARKED state
  4212. does the following: (1) It plays back a message to the bridge
  4213. stating that the leader has left the conference. This requires an
  4214. unlocking of the bridge. (2) It moves waitmarked users back to
  4215. the waiting list (3) It transitions to the appropriate state: in
  4216. this case, INACTIVE However, because it plays the prompt back to
  4217. the bridge before moving the users and before finishing the state
  4218. transition, this creates a race condition: with the bridge
  4219. unlocked, waitmarked users who leave the conference (or are
  4220. kicked from it) can cause a state transition of the bridge to
  4221. another state before the conference is transitioned to the
  4222. INACTIVE state. This causes the state machine to get a bit wonky,
  4223. often leading to a crash when the MULTI_MARKED state attempts to
  4224. conclude its processing. This patch fixes this problem: (1) It
  4225. prevents kicked users from being kicked again. That's just a
  4226. nicety. (2) More importantly, it fixes the race condition by only
  4227. playing the prompt once the state has transitioned correctly to
  4228. INACTIVE. If waitmarked users sneak out during the prompt being
  4229. played, no harm no foul. Review:
  4230. https://reviewboard.asterisk.org/r/3108/ (closes issue AST-1258)
  4231. Reported by: Steve Pitts ........ Merged revisions 405215 from
  4232. http://svn.asterisk.org/svn/asterisk/branches/11
  4233. 2014-01-09 14:14 +0000 [r405162] Walter Doekes <walter+asterisk@wjd.nu>
  4234. * /, apps/app_dumpchan.c: "Minimun" typo. ........ Merged revisions
  4235. 405160 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  4236. ........ Merged revisions 405161 from
  4237. http://svn.asterisk.org/svn/asterisk/branches/11
  4238. 2014-01-08 16:48 +0000 [r405131] Mark Michelson <mmichelson@digium.com>
  4239. * res/res_pjsip/security_events.c: Use proper case for checking if
  4240. digest authentication is used.
  4241. 2014-01-08 16:28 +0000 [r405083-405124] Kinsey Moore <kmoore@digium.com>
  4242. * /, configure, configure.ac, pbx/pbx_lua.c: pbx_lua: Add support
  4243. for Lua 5.2 This adds support for Lua 5.2 in pbx_lua which is
  4244. available on newer operating systems. (closes issue
  4245. ASTERISK-23011) Review: https://reviewboard.asterisk.org/r/3075/
  4246. Reported by: George Joseph Patch by: George Joseph ........
  4247. Merged revisions 405090 from
  4248. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  4249. revisions 405091 from
  4250. http://svn.asterisk.org/svn/asterisk/branches/11
  4251. * /, channels/chan_sip.c: Add the missing part of r400140 When the
  4252. patch to add retry-on-forbidden-response was committed, part of
  4253. the patch for chan_sip was not committed which caused the feature
  4254. to be entirely nonfunctional. This corrects the code in question.
  4255. (closes issue ASTERISK-17138) Review:
  4256. https://reviewboard.asterisk.org/r/2874 ........ Merged revisions
  4257. 405033 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  4258. ........ Merged revisions 405081 from
  4259. http://svn.asterisk.org/svn/asterisk/branches/11
  4260. 2014-01-07 19:55 +0000 [r405019-405034] Joshua Colp <jcolp@digium.com>
  4261. * res/res_pjsip_acl.c: res_pjsip_acl: Fix another case of assuming
  4262. a contact will always contain a URI.
  4263. * res/res_pjsip_nat.c: res_pjsip_nat: Don't assume a Contact header
  4264. will always contain a URI. If the 'rewrite_contact' option was
  4265. enabled and a Contact header was received which contained a '*' a
  4266. crash would occur. This change makes the res_pjsip_nat module
  4267. ignore the Contact header if it contains only a '*'. (closes
  4268. issue ASTERISK-23101) Reported by: Matt Jordan
  4269. 2014-01-06 21:54 +0000 [r404952-405006] Richard Mudgett <rmudgett@digium.com>
  4270. * apps/app_voicemail.c: app_voicemail: Explicitly set
  4271. defaultenabled=yes
  4272. * res/res_mwi_external_ami.c (added): External MWI AMI support. The
  4273. external MWI AMI interface provides a thin wrapper around the
  4274. core external MWI resource. The resource adds the following AMI
  4275. actions: MWIGet, MWIDelete, and MWIUpdate. (closes issue AFS-46)
  4276. Review: https://reviewboard.asterisk.org/r/3061/
  4277. * apps/app_voicemail.c, res/res_mwi_external.c (added),
  4278. configs/sorcery.conf.sample, include/asterisk/res_mwi_external.h
  4279. (added), res/res_mwi_external.exports.in (added): External MWI
  4280. core support. * The core external MWI resource provides for MWI
  4281. message counts persistence using sorcery. With sorcery, the user
  4282. is able to configure which sorcery wizzard backend to use if the
  4283. default astdb is not desired. * The core external MWI resoruce
  4284. provides some debugging CLI commands enabled by defining
  4285. MWI_DEBUG_CLI. The debugging CLI commands are: "mwi delete all",
  4286. "mwi delete like <regex>", "mwi delete mailbox <mailbox>", "mwi
  4287. list all", "mwi list like <regex>", "mwi show mailbox <mailbox>",
  4288. and "mwi update mailbox <mailbox> [<new> [<old>]]". (closes issue
  4289. AFS-43) Review: https://reviewboard.asterisk.org/r/3061/
  4290. 2014-01-05 16:00 +0000 [r404923-404935] Joshua Colp <jcolp@digium.com>
  4291. * res/res_pjsip_outbound_registration.c:
  4292. res_pjsip_outbound_registration: Don't assume that a registration
  4293. client will always exist.
  4294. * res/res_pjsip_outbound_registration.c:
  4295. res_pjsip_outbound_registration: Create registration client in pj
  4296. thread. Depending on which threading was loading the outbound
  4297. registration it was possible for the registration client to be
  4298. allocated outside of a pj thread. This change moves the creation
  4299. inside the synchronous task where it is guaranteed it will occur
  4300. in a pj thread. Reported by: Rob Thomas
  4301. 2014-01-04 10:42 +0000 [r404911] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
  4302. * main/asterisk.c, /: asterisk.c: suppress live_dangerously warning
  4303. on rasterisk Even since the fixes of AST-2013-007, Asterisk
  4304. prints the following warning on startup if the user decided to
  4305. live dangerously: Privilege escalation protection disabled! See
  4306. https://wiki.asterisk.org/wiki/x/1gKfAQ for more details. This
  4307. message is intended for the logs and interactive startup. No need
  4308. for it to appear on a remote console. This commit removes it from
  4309. there. (closes issue ASTERISK-23084) Review:
  4310. https://reviewboard.asterisk.org/r/3101/ ........ Merged
  4311. revisions 404861 from
  4312. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  4313. revisions 404888 from
  4314. http://svn.asterisk.org/svn/asterisk/branches/11
  4315. 2014-01-03 21:59 +0000 [r404859] Kevin Harwell <kharwell@digium.com>
  4316. * /, cel/cel_pgsql.c: cel_pgsql: module not correctly reloading
  4317. Upon reload the module unconditionally "unloaded" the module
  4318. (freeing memory and setting pointers to NULL) and then when
  4319. attempting a "load" if the config file had not changed then
  4320. nothing would be reinitialized. By moving the "unload" to occur
  4321. conditionally (reload only) after an attempted configuration
  4322. load, but before module "loading" alleviates the issue. The
  4323. module now loads/unloads/reloads correctly. (closes issue
  4324. ASTERISK-22871) Reported by: Matteo ........ Merged revisions
  4325. 404857 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  4326. ........ Merged revisions 404858 from
  4327. http://svn.asterisk.org/svn/asterisk/branches/11
  4328. 2014-01-03 21:45 +0000 [r404843-404855] Matthew Jordan <mjordan@digium.com>
  4329. * res/res_pjsip_logger.c: res_pjsip_logger: Add the
  4330. ASTERISK_FILE_VERSION macro Registering yourself with the
  4331. Asterisk core is the nice thing to do, even when you're a logging
  4332. module.
  4333. * res/res_pjsip_authenticator_digest.c, tests/test_utils.c:
  4334. res_pjsip_authenticator_digest: Fix md5 hash buffer An md5 hash
  4335. is 32 bytes long. The char buffer must be at least 33 bytes to
  4336. avoid clobbering of the stack. This patch also fixes a potential
  4337. clobbering in test_utils.c. Thanks to Andrew Nagy for reporting
  4338. and testing this out in #asterisk-dev Reported by: Andrew Nagy
  4339. Tested by: Andrew Nagy
  4340. 2014-01-03 19:00 +0000 [r404781-404786] Kevin Harwell <kharwell@digium.com>
  4341. * channels/chan_dahdi.c, /: chan_dahdi: dahdi show channels slices
  4342. PRI channel dnid on output dahdi show channels output slices the
  4343. callerid (which is dnid copied over on PRI channels). If the
  4344. channel naming structures look like: 'DAHDI/i1/1408409XXXX-6'
  4345. then the output slices 1408409XXXX down to 1408409XXX. This patch
  4346. just opens it up to 15 chars so you can see the whole thing.
  4347. (closes issue ASTERISK-22918) Reported by: outtolunc Patches:
  4348. svn_chan_dahdi.c.format12_15.diff.txt uploaded by outtolunc
  4349. (license 5198) ........ Merged revisions 404784 from
  4350. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  4351. revisions 404785 from
  4352. http://svn.asterisk.org/svn/asterisk/branches/11
  4353. * /, apps/app_meetme.c: app_meetme: compiler warning Fixed a
  4354. compiler warning (errors in 'dev-mode') given by gcc version
  4355. 4.8.1. The one in app_meetme involved the
  4356. 'sizeof-pointer-memaccess' (see:
  4357. http://gcc.gnu.org/gcc-4.8/porting_to.html) warning. Fixed so it
  4358. would no longer issue a warning and can compile again in
  4359. 'dev-mode'. Review: https://reviewboard.asterisk.org/r/3098/
  4360. ........ Merged revisions 404742 from
  4361. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  4362. revisions 404773 from
  4363. http://svn.asterisk.org/svn/asterisk/branches/11
  4364. 2014-01-03 18:24 +0000 [r404764] Richard Mudgett <rmudgett@digium.com>
  4365. * tests/test_stasis.c: test_stasis.c: Fix ref leak in normal
  4366. execution path.
  4367. 2014-01-03 17:25 +0000 [r404725-404737] Joshua Colp <jcolp@digium.com>
  4368. * res/res_pjsip/pjsip_configuration.c, res/res_pjsip/location.c:
  4369. res_pjsip: Ensure more URI validation happens in pj threads.
  4370. * res/res_pjsip_outbound_registration.c:
  4371. res_pjsip_outbound_registration: Ensure URI validation happens in
  4372. a pjlib thread. This change moves outbound registration URI
  4373. validation into the task executed within a pjlib thread. Reported
  4374. by: Andrew Nagy
  4375. 2014-01-02 19:37 +0000 [r404676] Scott Griepentrog <sgriepentrog@digium.com>
  4376. * /, funcs/func_strings.c: func_strings: use memmove to prevent
  4377. overlapping memory on strcpy When calling REPLACE() with an empty
  4378. replace-char argument, strcpy is used to overwrite the the
  4379. matching <find-char>. However as the src and dest arguments to
  4380. strcpy must not overlap, it causes other parts of the string to
  4381. be overwritten with adjacent characters and the result is
  4382. mangled. Patch replaces call to strcpy with memmove and adds a
  4383. test suite case for REPLACE. (closes issue ASTERISK-22910)
  4384. Reported by: Gareth Palmer Review:
  4385. https://reviewboard.asterisk.org/r/3083/ Patches:
  4386. func_strings.patch uploaded by Gareth Palmer (license 5169)
  4387. ........ Merged revisions 404674 from
  4388. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  4389. revisions 404675 from
  4390. http://svn.asterisk.org/svn/asterisk/branches/11
  4391. 2014-01-02 19:06 +0000 [r404663] Kevin Harwell <kharwell@digium.com>
  4392. * channels/chan_pjsip.c, include/asterisk/res_pjsip.h,
  4393. configs/pjsip.conf.sample, res/res_pjsip/pjsip_configuration.c,
  4394. CHANGES, res/res_pjsip.c: res_pjsip: add 'set_var' support on
  4395. endpoints Added a new 'set_var' option for ast_sip_endpoint(s).
  4396. For each variable specified that variable gets set upon creation
  4397. of a pjsip channel involving the endpoint. (closes issue
  4398. ASTERISK-22868) Reported by: Joshua Colp Review:
  4399. https://reviewboard.asterisk.org/r/3095/
  4400. 2013-12-31 22:49 +0000 [r404613-404652] Joshua Colp <jcolp@digium.com>
  4401. * channels/chan_pjsip.c, res/res_pjsip_session.c: chan_pjsip:
  4402. Handle hanging up before calling. Channel creation in Asterisk is
  4403. broken up into two steps: requesting and calling. In some cases a
  4404. channel may be requested but never called. This happens in the
  4405. ChanIsAvail dialplan application for determining if something is
  4406. reachable or not. The PJSIP channel driver did not take this
  4407. situation into account and attempted to end a session that was
  4408. never called out on. The code now checks the session state to
  4409. determine if the session has been called out on and if not
  4410. terminates it instead of ending it. (closes issue ASTERISK-23074)
  4411. Reported by: Kilburn
  4412. * res/res_pjsip_endpoint_identifier_ip.c:
  4413. res_pjsip_endpoint_identifier_ip: Accept hostnames in the 'match'
  4414. field. Hostnames specified in the 'match' field will be resolved
  4415. and all addresses returned. Each address will be added to the
  4416. endpoint identifier for the matching process. Reported by: Rob
  4417. Thomas
  4418. 2013-12-31 21:38 +0000 [r404605] Kevin Harwell <kharwell@digium.com>
  4419. * /, cel/cel_pgsql.c: cel_pgsql: deadlock on unload and
  4420. core_event_dispatcher A deadlock can happen between a thread
  4421. unloading or reloading the cel_pgsql module and the
  4422. core_event_dispatcher taskprocessor thread. Description of what
  4423. is happening: Thread 1 (for example, a netconsole thread): a
  4424. "module reload cel_pgsql" is launched the thread enter the
  4425. "my_unload_module" function (cel_pgsql.c) the thread acquire the
  4426. write lock on psql_columns the thread enter the
  4427. "ast_event_unsubscribe" function (event.c) the thread try to
  4428. acquire the write lock on ast_event_subs[sub->type] Thread 2
  4429. (core_event_dispatcher taskprocessor thread): the taskprocessor
  4430. pop a CEL event the thread enter the "handle_event" function
  4431. (event.c) the thread acquire the read lock on
  4432. ast_event_subs[sub->type] the thread callback the "pgsql_log"
  4433. function (cel_pgsql.c), since it's a subscriber of CEL events the
  4434. thread try to acquire a read lock on psql_columns (closes issue
  4435. ASTERISK-22854) Reported by: Etienne Lessard Patches:
  4436. cel_pgsql_fix_deadlock_event.patch uploaded by hexanol (license
  4437. 6394) ........ Merged revisions 404603 from
  4438. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  4439. revisions 404604 from
  4440. http://svn.asterisk.org/svn/asterisk/branches/11
  4441. 2013-12-31 20:26 +0000 [r404592] Joshua Colp <jcolp@digium.com>
  4442. * res/res_pjsip_outbound_registration.c:
  4443. res_pjsip_outbound_registration: Add validation for 'server_uri'
  4444. and 'client_uri'. When applying configuration for outbound
  4445. registrations the 'server_uri' and 'client_uri' fields were not
  4446. validated. The code will now confirm that they exist and that
  4447. they contain parseable SIP URIs. Reported by: Andrew Nagy
  4448. 2013-12-30 23:21 +0000 [r404581] Kevin Harwell <kharwell@digium.com>
  4449. * main/channel.c, /: channels.c: core show channeltypes slicing
  4450. 'core show channeltypes' type column is being sliced, resulting
  4451. in incomplete type names. (closes issue ASTERISK-22919) Reported
  4452. by: outtolunc Patches: svn_channel.c.format_15.diff.txt uploaded
  4453. by outtolunc (license 5198) ........ Merged revisions 404579 from
  4454. http://svn.asterisk.org/svn/asterisk/branches/11
  4455. 2013-12-24 17:10 +0000 [r404565-404568] David M. Lee <dlee@digium.com>
  4456. * UPGRADE.txt: Added note to UPGRADE.txt about the default value of
  4457. live_dangerously changing
  4458. * main/http.c: http: Properly reject requests with
  4459. Transfer-Encoding set Asterisk does not support any of the
  4460. transfer encodings specified in HTTP/1.1, other than the default
  4461. "identity" encoding. According to RFC 2616: A server which
  4462. receives an entity-body with a transfer-coding it does not
  4463. understand SHOULD return 501 (Unimplemented), and close the
  4464. connection. A server MUST NOT send transfer-codings to an
  4465. HTTP/1.0 client. This patch adds the 501 Unimplemented response,
  4466. instead of the hard work of actually implementing other
  4467. recordings. This behavior is especially problematic for Node.js
  4468. clients, which use chunked encoding by default. (closes issue
  4469. ASTERISK-22486) Review: https://reviewboard.asterisk.org/r/3092/
  4470. 2013-12-24 02:19 +0000 [r404553] Joshua Colp <jcolp@digium.com>
  4471. * res/res_pjsip_pubsub.c: res_pjsip_pubsub: Ensure dialog
  4472. manipulation happens on proper thread. When destroying a
  4473. subscription we remove the serializer from its dialog and
  4474. decrease its reference count. Depending on which thread dropped
  4475. the subscription reference count to 0 it was possible for this to
  4476. occur in a thread where it is not possible. (closes issue
  4477. ASTERISK-22952) Reported by: Matt Jordan
  4478. 2013-12-21 03:34 +0000 [r404531] Matthew Jordan <mjordan@digium.com>
  4479. * res/res_pjsip/pjsip_cli.c: res_pjsip/pjsip_cli: fix compilation
  4480. error caused by passing ast_free When wanting to pass *free as a
  4481. function pointer, ast_free_ptr has to be used instead of
  4482. ast_free. This allows it to be compiled with MALLOC_DEBUG
  4483. enabled.
  4484. 2013-12-20 22:02 +0000 [r404509] David M. Lee <dlee@digium.com>
  4485. * res/ari/resource_channels.h, rest-api/api-docs/applications.json,
  4486. rest-api/api-docs/channels.json, res/ari/resource_channels.c,
  4487. res/res_ari_channels.c: ari: Remove support for specifying
  4488. channel vars during origination. When we added support for
  4489. specifying channel variables for an origination, we didn't
  4490. consider how that would interact with another feature, namely
  4491. specifying request parameters in a JSON request body. The method
  4492. of specifying channel variables (as a flat JSON object passed in
  4493. the JSON body) interferes with parsing parameters out of the
  4494. request body. Unfortunately, fixing this would be a backward
  4495. incompatible change. In the interest of keeping the API sane and
  4496. keeping our release schedule, we're dropping the feature for
  4497. specifying channel variables in the origination request. We will
  4498. bring the feature back soon, as a backward compatible addition to
  4499. the API. (closes issue ASTERISK-23051) Review:
  4500. https://reviewboard.asterisk.org/r/3088
  4501. 2013-12-20 Asterisk Development Team <asteriskteam@digium.com>
  4502. * Asterisk 12.0.0 Released.
  4503. 2013-12-20 22:02 +0000 [r404509] David M. Lee <dlee@digium.com>
  4504. * rest-api/api-docs/channels.json, res/ari/resource_channels.c,
  4505. res/res_ari_channels.c, res/ari/resource_channels.h,
  4506. rest-api/api-docs/applications.json: ari: Remove support for
  4507. specifying channel vars during origination. When we added support
  4508. for specifying channel variables for an origination, we didn't
  4509. consider how that would interact with another feature, namely
  4510. specifying request parameters in a JSON request body. The method
  4511. of specifying channel variables (as a flat JSON object passed in
  4512. the JSON body) interferes with parsing parameters out of the
  4513. request body. Unfortunately, fixing this would be a backward
  4514. incompatible change. In the interest of keeping the API sane and
  4515. keeping our release schedule, we're dropping the feature for
  4516. specifying channel variables in the origination request. We will
  4517. bring the feature back soon, as a backward compatible addition to
  4518. the API. (closes issue ASTERISK-23051) Review:
  4519. https://reviewboard.asterisk.org/r/3088
  4520. 2013-12-20 21:25 +0000 [r404480-404488] Matthew Jordan <mjordan@digium.com>
  4521. * /: Remove automerge properties
  4522. * res/res_pjsip/pjsip_cli.c (added), include/asterisk/sorcery.h,
  4523. res/res_pjsip/pjsip_configuration.c,
  4524. res/res_pjsip/include/res_pjsip_private.h,
  4525. res/res_pjsip_registrar.c, main/sorcery.c,
  4526. include/asterisk/res_pjsip.h, CREDITS,
  4527. res/res_pjsip/config_auth.c, /,
  4528. res/res_pjsip_endpoint_identifier_ip.c,
  4529. include/asterisk/config.h, main/config.c, main/channel.c,
  4530. res/res_pjsip/location.c, include/asterisk/res_pjsip_cli.h
  4531. (added): res_pjsip: Add PJSIP CLI commands Implements the
  4532. following cli commands: pjsip list aors pjsip list auths pjsip
  4533. list channels pjsip list contacts pjsip list endpoints pjsip show
  4534. aor(s) pjsip show auth(s) pjsip show channels pjsip show
  4535. endpoint(s) Also... Minor modifications made to the AMI command
  4536. implementations to facilitate reuse. New function
  4537. ast_variable_list_sort added to config.c and config.h to
  4538. implement variable list sorting. (issue ASTERISK-22610) patches:
  4539. pjsip_cli_v2.patch uploaded by george.joseph (License 6322)
  4540. 2013-12-20 21:16 +0000 [r404458] Scott Griepentrog <sgriepentrog@digium.com>
  4541. * /, main/say.c: say.c: correct time for polish In
  4542. ast_say_date_with_format_pl(), change ast_say_number() to use
  4543. tm_sec instead of tm_mn. (closes issue ASTERISK-22856) Reported
  4544. by: Robert Mordec Review:
  4545. https://reviewboard.asterisk.org/r/3082/ Patches: say.c.patch
  4546. uploaded by veilen (license 6555) ........ Merged revisions
  4547. 404456 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  4548. ........ Merged revisions 404457 from
  4549. http://svn.asterisk.org/svn/asterisk/branches/11
  4550. 2013-12-20 20:11 +0000 [r404439] Mark Michelson <mmichelson@digium.com>
  4551. * res/res_pjsip_refer.c: Fix issue where PJSIP blind transferer
  4552. dialog may not complete as planned. When transferring to a
  4553. dialplan extension that will not place any outbound calls, the
  4554. only control frames that the PJSIP REFER framehook will receive
  4555. are inconsequential (such as unhold or srcchange). As such, we
  4556. shouldn't allow for the reception of those types of frames
  4557. prevent us from signaling to the transferring party that the
  4558. transfer has completed successfully once voice frames are read.
  4559. Thanks to Jonathan Rose for pointing this out.
  4560. 2013-12-20 20:04 +0000 [r404437] Matthew Jordan <mjordan@digium.com>
  4561. * res/ari/resource_applications.h, res/res_stasis_device_state.c:
  4562. res_stasis_device_state: Set resource type for subscriptions to
  4563. deviceState The documentation for ARI already specifies that the
  4564. device state resource when used for subscribing for events is
  4565. "deviceState", not "device_state". The code, however, used
  4566. "device_state"; although this was inconsistent as well in doxygen
  4567. comments in resource_applications. Because the actual resource
  4568. being subscribed to is /deviceStates/{device}/, it makes sense
  4569. for the resource type specifier to be deviceState. Note that the
  4570. key value in the events is still "device_state".
  4571. 2013-12-20 19:52 +0000 [r404434] Richard Mudgett <rmudgett@digium.com>
  4572. * res/res_pjsip/location.c, tests/test_cel.c,
  4573. res/ari/resource_channels.c, tests/test_scoped_lock.c,
  4574. tests/test_stasis.c, res/parking/parking_manager.c,
  4575. res/ari/resource_bridges.c, res/ari/resource_endpoints.c:
  4576. ao2_iterator: Mini-audit of the ao2_iterator loops in the new
  4577. code files. * Fixed several places where ao2_iterator_destroy()
  4578. was not called. * Fixed several iterator loop object variable
  4579. reference problems. * Fixed res_parking AMI actions returning
  4580. non-zero. Only the AMI logoff action can return non-zero. Review:
  4581. https://reviewboard.asterisk.org/r/3087/
  4582. 2013-12-20 19:17 +0000 [r404421] Matthew Jordan <mjordan@digium.com>
  4583. * include/asterisk/manager.h: manager: bump version to 2.0.0 AMI
  4584. has received substantial updates over the past year. Not only has
  4585. the syntax been vastly improved and made consistent (which
  4586. entails many event changes), but the underlying things that those
  4587. events convey have changed substantially as well. After some
  4588. conversation in #asterisk-dev, it was agreed that this is a good
  4589. time to jump to 2. At the same time, since ARI will most likely
  4590. use semantic versioning, we might as well use that for AMI as
  4591. well. That also affords us greater meaning for the AMI version.
  4592. 2013-12-20 19:06 +0000 [r404419] Richard Mudgett <rmudgett@digium.com>
  4593. * main/sounds_index.c: Whitespace fixes.
  4594. 2013-12-20 17:21 +0000 [r404405] Rusty Newton <rnewton@digium.com>
  4595. * configs/pjsip.conf.sample: Documentation: Updates for info about
  4596. NAT-related settings and fixes for pjsip.conf.sample Added
  4597. another NAT example to pjsip.conf.sample. We had a few mentions
  4598. of NAT configuration throughout the sample, but I added another
  4599. for a little bit more clarity. Additionally many pjsip options
  4600. were affected by the change to snake case, so I fixed any
  4601. instances of those options in pjsip.conf. I regenerated the
  4602. config option list (at the bottom of the file) from a new xml
  4603. config doc dump, so all the snake case changes should be
  4604. reflected there, as well as any other changes to those options.
  4605. (issue ASTERISK-23004) (closes issue ASTERISK-23004) Reported by:
  4606. Matt Jordan Review: https://reviewboard.asterisk.org/r/3086/
  4607. 2013-12-19 18:15 +0000 [r404375] Richard Mudgett <rmudgett@digium.com>
  4608. * CHANGES: Put notice in CHANGES as well as UPGRADE.txt.
  4609. 2013-12-19 17:58 +0000 [r404369-404371] Joshua Colp <jcolp@digium.com>
  4610. * res/res_pjsip/pjsip_outbound_auth.c: res_pjsip: Ignore 401/407
  4611. responses for transactions and dialogs we don't know about. Under
  4612. normal conditions it is unlikely we will ever receive a response
  4613. for a transaction or dialog we don't know about but if any are
  4614. received ignore them.
  4615. * res/res_pjsip_session.c: res_pjsip_session: Fix SDP negotiation
  4616. when resending an INVITE with authentication. The process for
  4617. resending an INVITE with authentication involves restarting the
  4618. UAC session. We were incorrectly passing in that a new offer is
  4619. being sent, causing the SDP negotiation to get into a
  4620. (technically speaking) funky state.
  4621. 2013-12-19 17:15 +0000 [r404356] Mark Michelson <mmichelson@digium.com>
  4622. * include/asterisk/channel.h, res/res_pjsip.c, main/channel.c,
  4623. include/asterisk/autochan.h: Fix a deadlock that occurred due to
  4624. a conflict of masquerades. For the explanation, here is a
  4625. copy-paste of the review board explanation: Initially, it was
  4626. discovered that performing an attended transfer of a multiparty
  4627. bridge with a PJSIP channel would cause a deadlock. A PBX thread
  4628. started a masquerade and reached the point where it was calling
  4629. the fixup() callback on the "original" channel. For chan_pjsip,
  4630. this involves pushing a synchronous task to the session's
  4631. serializer. The problem was that a task ahead of the fixup task
  4632. was also attempting to perform a channel masquerade. However,
  4633. since masquerades are designed in a way to only allow for one to
  4634. occur at a time, the task ahead of the fixup could not continue
  4635. until the masquerade already in progress had completed. And of
  4636. course, the masquerade in progress could not complete until the
  4637. task ahead of the fixup task had completed. Deadlock. The initial
  4638. fix was to change the fixup task to be asynchronous. While this
  4639. prevented the deadlock from occurring, it had the frightful side
  4640. effect of potentially allowing for tasks in the session's
  4641. serializer to operate on a zombie channel. Taking a step back
  4642. from this particular deadlock, it became clear that the problem
  4643. was not really this one particular issue but that masquerades
  4644. themselves needed to be addressed. A PJSIP attended transfer
  4645. operation calls ast_channel_move(), which attempts to both set up
  4646. and execute a masquerade. The problem was that after it had set
  4647. up the masquerade, the PBX thread had swooped in and tried to
  4648. actually perform the masquerade. Looking at changes that had been
  4649. made to Asterisk 12, it became clear that there never is any time
  4650. now that anyone ever wants to set up a masquerade and allow for
  4651. the channel thread to actually perform the masquerade. Everyone
  4652. always is calling ast_channel_move(), performs the masquerade
  4653. itself before returning. In this patch, I have removed all blocks
  4654. of code from channel.c that will attempt to perform a masquerade
  4655. if ast_channel_masq() returns true. Now, there is no distinction
  4656. between setting up a masquerade and performing the masquerade. It
  4657. is one operation. The only remaining checks for
  4658. ast_channel_masq() and ast_channel_masqr() are in ast_hangup()
  4659. since we do not want to interrupt a masquerade by hanging up the
  4660. channel. Instead, now ast_hangup() will wait for a masquerade to
  4661. complete before moving forward with its operation. The
  4662. ast_channel_move() function has been modified to basically
  4663. in-line the logic that used to be in ast_channel_masquerade().
  4664. ast_channel_masquerade() has been killed off for real.
  4665. ast_channel_move() now has a lock associated with it that is used
  4666. to prevent any simultaneous moves from occurring at once. This
  4667. means there is no need to make sure that ast_channel_masq() or
  4668. ast_channel_masqr() are already set on a channel when
  4669. ast_channel_move() is called. It also means the channel container
  4670. lock is not pulling double duty by both keeping the container
  4671. locked and preventing multiple masquerades from occurring
  4672. simultaneously. The ast_do_masquerade() function has been renamed
  4673. to do_channel_masquerade() and is now internal to channel.c. The
  4674. function now takes explicit arguments of which channels are
  4675. involved in the masquerade instead of a single channel. While it
  4676. probably is possible to do some further refactoring of this
  4677. method, I feel that I would be treading dangerously. Instead, all
  4678. I did was change some comments that no longer are true after this
  4679. changeset. The other more minor change introduced in this patch
  4680. is to res_pjsip.c to make ast_sip_push_task_synchronous() run the
  4681. task in-place if we are already a SIP servant thread. This is
  4682. related to this patch because even when we isolate the channel
  4683. masquerade to only running in the SIP servant thread, we would
  4684. still deadlock when the fixup() callback is reached since we
  4685. would essentially be waiting forever for ourselves to finish
  4686. before actually running the fixup. This makes it so the fixup is
  4687. run without having to push a task into a serializer at all.
  4688. (closes issue ASTERISK-22936) Reported by Jonathan Rose Review:
  4689. https://reviewboard.asterisk.org/r/3069
  4690. 2013-12-19 17:03 +0000 [r404354] Richard Mudgett <rmudgett@digium.com>
  4691. * main/udptl.c, addons/chan_ooh323.c, channels/chan_sip.c,
  4692. include/asterisk/udptl.h: udptl: Dead code elimination.
  4693. ast_udptl_bridge was not used. Removing dead code starting with
  4694. ast_udptl_bridge() eliminated the code in this change. Note: This
  4695. code has actually been dead since Asterisk v1.4 when it was first
  4696. put in. Review: https://reviewboard.asterisk.org/r/3079/
  4697. 2013-12-19 17:02 +0000 [r404352] Scott Griepentrog <sgriepentrog@digium.com>
  4698. * /, res/res_fax.c: res_fax.c: crash on framehook with no dsp in
  4699. fax detect In fax_detect_framehook() a null pointer reference can
  4700. occur where a voice frame is processed but no dsp is attached to
  4701. the fax detection structure. The code block that rejects frames
  4702. that detection cannot be processed on is checking for dsp but
  4703. falls through when it should instead return, as this change
  4704. implements. (closes issue ASTERISK-22942) Reported by: adomjan
  4705. Review: https://reviewboard.asterisk.org/r/3076/ ........ Merged
  4706. revisions 404351 from
  4707. http://svn.asterisk.org/svn/asterisk/branches/11
  4708. 2013-12-19 16:37 +0000 [r404348] Richard Mudgett <rmudgett@digium.com>
  4709. * channels/chan_dahdi.h, channels/chan_h323.c, main/app.c,
  4710. configs/sip.conf.sample, channels/sip/include/sip.h,
  4711. channels/chan_mgcp.c, apps/app_voicemail.c,
  4712. channels/chan_unistim.c, configs/chan_dahdi.conf.sample,
  4713. channels/chan_sip.c, configs/voicemail.conf.sample,
  4714. funcs/func_vmcount.c, UPGRADE.txt, res/res_xmpp.c,
  4715. configs/skinny.conf.sample, res/res_jabber.c, CHANGES,
  4716. channels/chan_iax2.c, channels/h323/chan_h323.h,
  4717. channels/sig_pri.c, configs/iax.conf.sample, channels/sig_pri.h,
  4718. include/asterisk/app.h, channels/chan_dahdi.c,
  4719. channels/chan_skinny.c: Voicemail: Remove mailbox identifier
  4720. format (box@context) assumptions in the system. This change is in
  4721. preparation for external MWI support. Removed code from the
  4722. system for normal mailbox handling that appends @default to the
  4723. mailbox identifier if it does not have a context. The only
  4724. exception is the legacy hasvoicemail users.conf option. The
  4725. legacy option will only work for app_voicemail mailboxes. The
  4726. system cannot make any assumptions about the format of the
  4727. mailbox identifer used by app_voicemail. chan_sip and
  4728. chan_dahdi/sig_pri had the most changes because they both tried
  4729. to interpret the mailbox identifier. chan_sip just stored and
  4730. compared the two components. chan_dahdi actually used the box
  4731. information. The ISDN MWI support configuration options had to be
  4732. reworked because chan_dahdi was parsing the box@context format to
  4733. get the box number. As a result the mwi_vm_boxes chan_dahdi.conf
  4734. option was added and is documented in the chan_dahdi.conf.sample
  4735. file. Review: https://reviewboard.asterisk.org/r/3072/
  4736. 2013-12-19 16:31 +0000 [r404345] Scott Griepentrog <sgriepentrog@digium.com>
  4737. * /, main/db.c: astdb: crash in sqlite3 during shutdown When
  4738. Asterisk is shut down, the astdb_atexit() function releases
  4739. (finalize) the previously initiated (prepared) SQL statements in
  4740. sqlite3. Another thread making a subsequent request can cause a
  4741. crash in sqlite3. This patch eliminates that issue by resetting
  4742. the statement pointer after it is released/cleared. The sqlite3
  4743. code detects the null pointer, and aborts the operation cleanly.
  4744. (closes issue AST-1265) Reported by: Alexander Hömig (closes
  4745. issue ASTERISK-22350) Reported by: Birger "WIMPy" Harzenetter
  4746. Review: https://reviewboard.asterisk.org/r/3078/ ........ Merged
  4747. revisions 404344 from
  4748. http://svn.asterisk.org/svn/asterisk/branches/11
  4749. 2013-12-19 12:17 +0000 [r404332] Joshua Colp <jcolp@digium.com>
  4750. * main/channel.c: channel: Add a missing ast_channel_unlock when
  4751. allocating a Surrogate channel.
  4752. 2013-12-19 08:19 +0000 [r404320] Alexandr Anikin <may@telecom-service.ru>
  4753. * addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooGkClient.c,
  4754. addons/chan_ooh323.c, /, addons/ooh323c/src/ooGkClient.h: Handle
  4755. temporary failures on gk registration Introduce new 'stopped'
  4756. state for gk client and restart gk client on failures Remove
  4757. ooh323 stack command lock as it is not need now. (closes issue
  4758. ASTERISK-21960) Reported by: Dmitry Melekhov Patches:
  4759. ASTERISK-21960.patch ASTERISK-21960-stacklockup-2.patch Tested
  4760. by: Dmitry Melekhov ........ Merged revisions 404318 from
  4761. http://svn.asterisk.org/svn/asterisk/branches/11
  4762. 2013-12-19 02:53 +0000 [r404306] Damien Wedhorn <voip@facts.com.au>
  4763. * channels/chan_skinny.c: Fixup some skinny bugs causing Fracks and
  4764. ao2 cleanup issues. Moved channel locking into setsubstate so
  4765. that a process can complete working on a sub before another
  4766. starts changing it. The existing code was causing some Fracks
  4767. with schedule deletion. Removed multiple rtp cleanup. Now only
  4768. cleansup up once, fixing ao2 object cleanup issues.
  4769. 2013-12-19 00:47 +0000 [r404294] Matthew Jordan <mjordan@digium.com>
  4770. * apps/app_cdr.c, main/cdr.c, apps/app_forkcdr.c, main/pbx.c,
  4771. funcs/func_cdr.c, apps/app_disa.c, UPGRADE.txt,
  4772. include/asterisk/cdr.h, CHANGES: app_cdr,app_forkcdr,func_cdr:
  4773. Synchronize with engine when manipulating state When doing the
  4774. rework of the CDR engine that pushed all of the logic into cdr.c
  4775. and made it respond to changes in channel state over Stasis, we
  4776. knew that accessing the CDR engine from the dialplan would be
  4777. "slightly" non-deterministic. Dialplan threads would be accessing
  4778. CDRs while Stasis threads would be updating the state of said
  4779. CDRs - whereas in the past, everything happened on the dialplan
  4780. threads. Tests have shown that "slightly" is in reality "very".
  4781. This patch synchronizes things by making the dialplan
  4782. applications/functions that manipulate CDRs do so over Stasis.
  4783. ForkCDR, NoCDR, ResetCDR, CDR, and CDR_PROP now all use Stasis to
  4784. send their requests over to the CDR engine, and synchronize on
  4785. the channel Stasis topic via a subscription so that they return
  4786. their values/control to the dialplan at the appropriate time.
  4787. While going through this, the following changes were also made: *
  4788. DISA, which can reset the CDR when a user successfully
  4789. authenticates, now just uses the ResetCDR app to do this. This
  4790. prevents having to duplicate the same Stasis synchronization
  4791. logic in that application. * Answer no longer disables CDRs. It
  4792. actually didn't work anyway - calling DISABLE on the channel's
  4793. CDR doesn't stop the CDR from getting the Answer time - it just
  4794. kills all CDRs on that channel, which isn't what the caller would
  4795. intend. (closes issue ASTERISK-22884) (closes issue
  4796. ASTERISK-22886) Review: https://reviewboard.asterisk.org/r/3057/
  4797. 2013-12-19 00:29 +0000 [r404292] Damien Wedhorn <voip@facts.com.au>
  4798. * channels/chan_skinny.c: Fixup skinny registration following
  4799. network issues. On session registration, if device is already
  4800. reporting that it is connected to a device, an innocuous packet
  4801. (update time) is sent to the already connected device. If the tcp
  4802. connection is down, the device will be unregistered and the new
  4803. connection allowed. Without this patch, network issues can see a
  4804. situation where a device can not reregister until after
  4805. 3*timeout.
  4806. 2013-12-18 22:50 +0000 [r404279] Jason Parker <jparker@digium.com>
  4807. * main/manager.c, /: Add AMI event for presence state. Review:
  4808. https://reviewboard.asterisk.org/r/3039/ ........ Merged
  4809. revisions 404275 from
  4810. http://svn.asterisk.org/svn/asterisk/branches/11
  4811. 2013-12-18 20:57 +0000 [r404263] Richard Mudgett <rmudgett@digium.com>
  4812. * addons/ooh323c/src/ooTimer.c, /: ooh323c: Fix gcc 4.6.3 compiler
  4813. warnings. ........ Merged revisions 404212 from
  4814. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  4815. revisions 404219 from
  4816. http://svn.asterisk.org/svn/asterisk/branches/11
  4817. 2013-12-18 20:46 +0000 [r404237-404261] Kevin Harwell <kharwell@digium.com>
  4818. * channels/chan_oss.c: chan_oss.c: channel being locked twice and
  4819. unlocked once Removed channel lock as it is now being down in
  4820. ast_channel_alloc
  4821. * main/pickup.c, include/asterisk/aoc.h,
  4822. include/asterisk/stasis_bridges.h, apps/app_disa.c,
  4823. apps/app_userevent.c, include/asterisk/channelstate.h,
  4824. channels/chan_console.c, main/core_local.c, channels/chan_iax2.c,
  4825. main/endpoints.c, channels/chan_oss.c,
  4826. res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
  4827. main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c,
  4828. pbx/pbx_realtime.c, channels/chan_alsa.c, main/stasis_channels.c,
  4829. main/bridge_channel.c, addons/chan_mobile.c,
  4830. res/parking/parking_manager.c, channels/chan_pjsip.c,
  4831. tests/test_cdr.c, channels/chan_mgcp.c, channels/chan_unistim.c,
  4832. main/pbx.c, funcs/func_timeout.c, apps/app_meetme.c,
  4833. main/bridge.c, tests/test_stasis_channels.c,
  4834. include/asterisk/channel.h, channels/chan_gtalk.c, main/cel.c,
  4835. apps/app_queue.c, channels/sig_pri.c, main/stasis_bridges.c,
  4836. channels/chan_jingle.c, main/dial.c, channels/chan_dahdi.c,
  4837. channels/chan_phone.c, include/asterisk/stasis_channels.h,
  4838. channels/sig_analog.c, res/res_agi.c, channels/chan_motif.c,
  4839. tests/test_cel.c, apps/app_confbridge.c, res/res_stasis.c,
  4840. res/res_pjsip_refer.c, apps/app_voicemail.c, apps/app_dial.c,
  4841. channels/chan_vpb.cc, addons/chan_ooh323.c: channel locking: Add
  4842. locking for channel snapshot creation Original commit message by
  4843. mmichelson (asterisk 12 r403311): "This adds channel locks around
  4844. calls to create channel snapshots as well as other functions
  4845. which operate on a channel and then end up creating a channel
  4846. snapshot. Functions that expect the channel to be locked prior to
  4847. being called have had their documentation updated to indicate
  4848. such." The above was initially committed and then reverted at
  4849. r403398. The problem was found to be in core_local.c in the
  4850. publish_local_bridge_message function. The ast_unreal_lock_all
  4851. function locks and adds a reference to the returned channels and
  4852. while they were being unlocked they were not being unreffed when
  4853. no longer needed. Fixed by unreffing the channels. Also in
  4854. bridge.c a lock was obtained on "other->chan", but then an
  4855. attempt was made to unlock "other" and not the previously locked
  4856. channel. Fixed by unlocking "other->chan" (closes issue
  4857. ASTERISK-22709) Reported by: John Bigelow
  4858. 2013-12-18 19:20 +0000 [r404204] Joshua Colp <jcolp@digium.com>
  4859. * main/channel.c, channels/chan_dahdi.c, channels/chan_phone.c,
  4860. channels/chan_skinny.c, res/parking/parking_tests.c,
  4861. tests/test_voicemail_api.c, channels/chan_motif.c,
  4862. channels/chan_alsa.c, main/message.c, addons/chan_mobile.c,
  4863. tests/test_cdr.c, channels/chan_mgcp.c, main/pbx.c,
  4864. channels/chan_sip.c, tests/test_app.c,
  4865. apps/confbridge/conf_chan_record.c, tests/test_stasis_channels.c,
  4866. main/core_unreal.c, include/asterisk/channel.h,
  4867. channels/chan_console.c, channels/chan_oss.c,
  4868. channels/chan_jingle.c, channels/chan_misdn.c,
  4869. channels/chan_h323.c, tests/test_cel.c, channels/chan_nbs.c,
  4870. channels/chan_pjsip.c, apps/app_voicemail.c, res/res_calendar.c,
  4871. channels/chan_unistim.c, tests/test_substitution.c,
  4872. addons/chan_ooh323.c, channels/chan_vpb.cc,
  4873. channels/chan_multicast_rtp.c, apps/app_meetme.c,
  4874. res/res_stasis_snoop.c, channels/chan_gtalk.c,
  4875. channels/chan_iax2.c: channels: Return allocated channels locked.
  4876. This change makes ast_channel_alloc return allocated channels
  4877. locked. By doing so no other thread can acquire, lock, and
  4878. manipulate the channel before it is completely set up. (closes
  4879. issue AST-1256) Review: https://reviewboard.asterisk.org/r/3067/
  4880. 2013-12-18 12:36 +0000 [r404184] Matthew Jordan <mjordan@digium.com>
  4881. * rest-api/api-docs/bridges.json,
  4882. rest-api/api-docs/recordings.json,
  4883. rest-api/api-docs/deviceStates.json,
  4884. rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
  4885. rest-api/api-docs/asterisk.json,
  4886. rest-api/api-docs/applications.json,
  4887. rest-api/api-docs/playbacks.json,
  4888. rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
  4889. rest-api/resources.json: ari: Bump the version of ARI to 1.0.0
  4890. (closes issue ASTERISK-23007)
  4891. 2013-12-18 12:00 +0000 [r404137] Joshua Colp <jcolp@digium.com>
  4892. * res/res_calendar.c, /: res_calendar: Protect channel when adding
  4893. datastore. This change adds a missing channel lock when adding a
  4894. datastore to a channel. ........ Merged revisions 404135 from
  4895. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  4896. revisions 404136 from
  4897. http://svn.asterisk.org/svn/asterisk/branches/11
  4898. 2013-12-18 00:35 +0000 [r404099] Rusty Newton <rnewton@digium.com>
  4899. * /, funcs/func_strings.c: func_strings: Documentation fix for
  4900. QUOTE() Example output was inaccurate. (issue ASTERISK-22970)
  4901. (closes issue ASTERISK-22970) Reported by: Gareth Palmer Patches:
  4902. func_strings.patch uploaded by Gareth Palmer (license 5169)
  4903. ........ Merged revisions 404081 from
  4904. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  4905. revisions 404087 from
  4906. http://svn.asterisk.org/svn/asterisk/branches/11
  4907. 2013-12-18 00:16 +0000 [r404050] Matthew Jordan <mjordan@digium.com>
  4908. * LICENSE: LICENSE: Update language to include ARI
  4909. 2013-12-17 23:50 +0000 [r404048] Jonathan Rose <jrose@digium.com>
  4910. * tests/test_cel.c, tests/test_cdr.c: tests: fix
  4911. ast_bridge_base_new calls not using the additional arguments
  4912. r404042 gave ast_bridge_base_new two new arguments for setting a
  4913. bridge creator and name. Unfortunately since a couple test
  4914. modules aren't compiled by default, I missed the fact that this
  4915. change impacted those tests and caused compilation failures
  4916. against them.
  4917. 2013-12-17 23:36 +0000 [r404046] Rusty Newton <rnewton@digium.com>
  4918. * include/asterisk/test.h, main/channel.c, main/rtp_engine.c,
  4919. channels/chan_iax2.c, apps/app_chanspy.c, apps/app_mixmonitor.c:
  4920. Several components: fixing Typos in comments and code,
  4921. "avaliable" instead of "available" (issue ASTERISK-23021) (closes
  4922. issue ASTERISK-23021) Reported by: Jeremy Lainé Tested by: Rusty
  4923. Newton Patches: available.patch uploaded by Jeremy Lainé (license
  4924. 6561)
  4925. 2013-12-17 23:17 +0000 [r404042] Jonathan Rose <jrose@digium.com>
  4926. * include/asterisk/bridge_internal.h, apps/app_confbridge.c,
  4927. res/res_stasis.c, include/asterisk/bridge.h,
  4928. res/res_ari_bridges.c, main/bridge.c, main/bridge_basic.c,
  4929. include/asterisk/stasis_bridges.h, include/asterisk/stasis_app.h,
  4930. apps/app_bridgewait.c, res/ari/ari_model_validators.c,
  4931. doc/appdocsxml.xslt, main/stasis_bridges.c,
  4932. rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
  4933. apps/app_agent_pool.c, res/parking/parking_bridge.c,
  4934. res/ari/ari_model_validators.h, main/manager_bridges.c,
  4935. res/ari/resource_bridges.h: bridging: Give bridges a name and a
  4936. known creator Bridges have two new optional properties, a creator
  4937. and a name. Certain consumers of bridges will automatically
  4938. provide bridges that they create with these properties. Examples
  4939. include app_bridgewait, res_parking, app_confbridge, and
  4940. app_agent_pool. In addition, a name may now be provided as an
  4941. argument to the POST function for creating new bridges via ARI.
  4942. (closes issue AFS-47) Review:
  4943. https://reviewboard.asterisk.org/r/3070/
  4944. 2013-12-17 18:34 +0000 [r404027-404029] Joshua Colp <jcolp@digium.com>
  4945. * res/res_sorcery_config.c: res_sorcery_config: Output an error
  4946. message when an object can't be created. If object creation fails
  4947. an error message will now be output with the id, type, and
  4948. configuration file.
  4949. * main/framehook.c: framehooks: Re-iterate if framehook provides
  4950. different frame. Framehooks can be used in a reactive manner to
  4951. execute specific logic when a frame is received with a certain
  4952. type and payload. Since it is possible for framehooks to provide
  4953. frames it was possible for this reactive framehook to be unaware
  4954. of frames it is looking for. This change makes it so that when
  4955. framehooks return a modified frame the code will now re-iterate
  4956. (from the beginning) and call any previous framehooks that have
  4957. not provided a modified frame themselves. Review:
  4958. https://reviewboard.asterisk.org/r/3046/
  4959. 2013-12-17 14:33 +0000 [r404006] David M. Lee <dlee@digium.com>
  4960. * configs/asterisk.conf.sample, main/asterisk.c: Changed the
  4961. default for live_dangerously to no
  4962. 2013-12-17 12:51 +0000 [r403993] Matthew Jordan <mjordan@digium.com>
  4963. * res/ari/resource_channels.c: ari/resource_channels: When creating
  4964. a channel, specify a default format (SLIN) When creating channels
  4965. via ARI, the current code fails to provide any default format
  4966. capabilities. For non-virtual channels this isn't really a
  4967. problem - the channels typically receive their capabilities as a
  4968. result of the underlying channel driver configuration. For
  4969. virtual channels (such as Local channels), the lack of any format
  4970. capabilities causes the Asterisk core to make some 'odd' choices
  4971. with respect to the translation paths. The issue reporter had
  4972. some paths that had 3 hops on each channel leg, causing multiple
  4973. transcodings and some really crappy audio/performance. By
  4974. specifying a baseline of SLIN, we prevent that from occurring.
  4975. Note that this is what AMI does when it performs an Originate, as
  4976. does res_clioriginate. Review:
  4977. https://reviewboard.asterisk.org/r/3068/ (issue ASTERISK-22962)
  4978. Reported by: Matt DiMeo
  4979. 2013-12-16 18:31 +0000 [r403959] David M. Lee <dlee@digium.com>
  4980. * UPGRADE.txt, include/asterisk/pbx.h, main/asterisk.c,
  4981. funcs/func_realtime.c, main/pbx.c, main/tcptls.c,
  4982. funcs/func_db.c, /, README-SERIOUSLY.bestpractices.txt,
  4983. configs/asterisk.conf.sample, funcs/func_shell.c,
  4984. funcs/func_env.c, funcs/func_lock.c: security: Inhibit execution
  4985. of privilege escalating functions This patch allows individual
  4986. dialplan functions to be marked as 'dangerous', to inhibit their
  4987. execution from external sources. A 'dangerous' function is one
  4988. which results in a privilege escalation. For example, if one were
  4989. to read the channel variable SHELL(rm -rf /) Bad Things(TM) could
  4990. happen; even if the external source has only read permissions.
  4991. Execution from external sources may be enabled by setting
  4992. 'live_dangerously' to 'yes' in the [options] section of
  4993. asterisk.conf. Although doing so is not recommended. Also, the
  4994. ABI was changed to something more reasonable, since Asterisk 12
  4995. does not yet have a public release. (closes issue ASTERISK-22905)
  4996. Review: http://reviewboard.digium.internal/r/432/ ........ Merged
  4997. revisions 403913 from
  4998. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  4999. revisions 403917 from
  5000. http://svn.asterisk.org/svn/asterisk/branches/11
  5001. 2013-12-16 18:22 +0000 [r403957] Jonathan Rose <jrose@digium.com>
  5002. * main/bridge.c: transfers: Fix bug setting both BLINDTRANSFER and
  5003. ATTENDEDTRANSFER The ast_bridge_set_transfer_variables function
  5004. is supposed to wipe whichever variable isn't being set. Instead
  5005. it was setting both to the new value. Oops. (issue AFS-24)
  5006. 2013-12-16 16:11 +0000 [r403856-403864] Scott Griepentrog <sgriepentrog@digium.com>
  5007. * main/pbx.c, /: pbx.c: put copy of ast_exten.data on stack to
  5008. prevent memory corruption During dialplan execution in
  5009. pbx_extension_helper(), the contexts global read lock prevents
  5010. link list corruption, but was released with a pointer to the
  5011. ast_exten and data later used in variable substitution. Instead,
  5012. this patch removes pbx_substitute_variables() and locates a copy
  5013. of the ast_exten data on the stack before releasing the lock,
  5014. where ast_exten could get free'd by another thread performing a
  5015. module reload. (issue AST-1179) Reported by: Thomas Arimont
  5016. (issue AST-1246) Reported by: Alexander Hömig Review:
  5017. https://reviewboard.asterisk.org/r/3055/ ........ Merged
  5018. revisions 403862 from
  5019. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  5020. revisions 403863 from
  5021. http://svn.asterisk.org/svn/asterisk/branches/11
  5022. * apps/app_sms.c: app_sms: BufferOverflow when receiving odd length
  5023. 16 bit message This patch prevents an infinite loop overwriting
  5024. memory when a message is received into the unpacksms16()
  5025. function, where the length of the message is an odd number of
  5026. bytes. (closes issue ASTERISK-22590) Reported by: Jan Juergens
  5027. Tested by: Jan Juergens
  5028. 2013-12-15 01:38 +0000 [r403823] Matthew Jordan <mjordan@digium.com>
  5029. * channels/pjsip/dialplan_functions.c: pjsip/dialplan_functions:
  5030. Use the right buffer length when printing URIs While
  5031. entertaining, sizeof(buflen) is not the same as buflen. Doh.
  5032. 2013-12-14 17:25 +0000 [r403808-403811] Joshua Colp <jcolp@digium.com>
  5033. * include/asterisk/res_pjsip.h, res/res_pjsip/location.c,
  5034. res/res_pjsip/pjsip_options.c, res/res_pjsip.c: res_pjsip: Apply
  5035. outbound proxy to all SIP requests. Objects which are involved in
  5036. SIP request creation and sending now allow an outbound proxy to
  5037. be specified. For cases where an endpoint is used the outbound
  5038. proxy specified there will be applied. (closes issue
  5039. ASTERISK-22673) Reported by: Antti Yrjola Review:
  5040. https://reviewboard.asterisk.org/r/3022/
  5041. * main/stasis_channels.c, apps/app_queue.c,
  5042. res/ari/ari_model_validators.c, apps/app_dial.c,
  5043. res/ari/ari_model_validators.h, main/dial.c,
  5044. include/asterisk/stasis_channels.h,
  5045. rest-api/api-docs/events.json, res/stasis/app.c: res_stasis:
  5046. Expose event for call forwarding and follow forwarded channel.
  5047. This change adds an event for when an originated call is
  5048. redirected to another target. This event contains the original
  5049. channel and the newly created channel. If a stasis subscription
  5050. exists on the original originated channel for a stasis
  5051. application then a new subscription will also be created on the
  5052. stasis application to the redirected channel. This allows the
  5053. application to follow the call path completely. (closes issue
  5054. ASTERISK-22719) Reported by: Joshua Colp Review:
  5055. https://reviewboard.asterisk.org/r/3054/
  5056. 2013-12-13 21:24 +0000 [r403796] Jonathan Rose <jrose@digium.com>
  5057. * res/res_pjsip_messaging.c, main/message.c: documentation: Add
  5058. PJSIP technology to messaging documentation
  5059. 2013-12-13 20:06 +0000 [r403782] Richard Mudgett <rmudgett@digium.com>
  5060. * main/test.c: test.c: Fix too sticky unit test failed status.
  5061. Rerunning a failed unit test after loading any required modules
  5062. should allow the test to report a pass status if it now passes.
  5063. 2013-12-13 20:04 +0000 [r403781] Jonathan Rose <jrose@digium.com>
  5064. * include/asterisk/bridge.h, res/parking/parking_bridge_features.c,
  5065. res/parking/parking_manager.c, main/bridge.c,
  5066. main/bridge_basic.c: Transfers: Make Asterisk set
  5067. ATTENDEDTRANSFER/BLINDTRANSFER more reliably There were still a
  5068. few cases in which ATTENDEDTRANSFER and BLINDTRANSFER wouldn't be
  5069. set on channels involved with blind and attended transfers. This
  5070. would happen with features that were initialized by channel
  5071. driver specific mechanisms in multiparty calls. This patch
  5072. resolves those cases while attempted to keep the behavior for
  5073. setting those variables as consistent as possible. (closes issue
  5074. AFS-24) Review: https://reviewboard.asterisk.org/r/3040/
  5075. 2013-12-13 19:55 +0000 [r403779-403780] Richard Mudgett <rmudgett@digium.com>
  5076. * include/asterisk/app.h, tests/test_voicemail_api.c, main/app.c:
  5077. test_voicemail_api: Add check for a registered voicemail provider
  5078. before tests. It is much nicer diagnosing a test failure if
  5079. app_voicemail is actually loaded. ........ Merged revisions
  5080. 403726 from http://svn.asterisk.org/svn/asterisk/trunk
  5081. * main/app.c, apps/app_voicemail.c, include/asterisk/app.h,
  5082. include/asterisk/doxyref.h: app_voicemail: Voicemail callback
  5083. registration/unregistration function improvements. * The
  5084. voicemail registration/unregistration functions now take a struct
  5085. of callbacks instead of a lengthy parameter list of callbacks. *
  5086. The voicemail registration/unregistration functions now prevent a
  5087. competing module from interfering with an already registered
  5088. callback supplying module. ........ Merged revisions 403643 from
  5089. http://svn.asterisk.org/svn/asterisk/trunk
  5090. 2013-12-13 18:24 +0000 [r403749-403767] Kevin Harwell <kharwell@digium.com>
  5091. * channels/chan_sip.c, include/asterisk/channel.h,
  5092. bridges/bridge_native_rtp.c, channels/chan_pjsip.c,
  5093. main/channel.c: bridge_native_rtp: Deadlock during 4-way
  5094. conference creation The change contains a slightly adjusted patch
  5095. that was on the issue (submitted by kmoore). A fix was made by
  5096. adding in a bridge lock while calling bridge_start/stop from the
  5097. framehook callback. Since the framehook callback is not called
  5098. from the bridging core the bridge is not locked, but needs to be
  5099. before calling bridge_start. (closes issue ASTERISK-22749)
  5100. Reported by: Kinsey Moore Review:
  5101. https://reviewboard.asterisk.org/r/3066/ Patches:
  5102. lock_inversion.diff uploaded by kmoore (license 6273)
  5103. * main/http.c, rest-api/api-docs/channels.json,
  5104. res/ari/resource_channels.c, res/res_ari_channels.c,
  5105. res/ari/resource_channels.h: ARI: Allow specifying channel
  5106. variables during a POST /channels Added the ability to specify
  5107. channel variables when creating/originating a channel in ARI. The
  5108. variables are sent in the body of the request and should be
  5109. formatted as a single level JSON object. No nested objects
  5110. allowed. For example: {"variable1": "foo", "variable2": "bar"}.
  5111. (closes issue ASTERISK-22872) Reported by: Matt Jordan Review:
  5112. https://reviewboard.asterisk.org/r/3052/
  5113. * res/res_ari_bridges.c, res/stasis/command.c,
  5114. res/res_stasis_playback.c, res/stasis/control.c,
  5115. res/stasis/command.h, include/asterisk/stasis_app.h,
  5116. include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c,
  5117. res/res_stasis_answer.c, rest-api/api-docs/bridges.json,
  5118. res/ari/resource_bridges.c: ARI: Adding a channel to a bridge
  5119. while a live recording is active blocks Added the ability to have
  5120. rules that are checked when adding and/or removing channels
  5121. to/from a bridge. In this case, if a channel is currently
  5122. recording and someone attempts to add it to a bridge an "is
  5123. recording" rule is checked, fails, and a 409 conflict is
  5124. returned. Also command functions now return an integer value that
  5125. can be descriptive of what kind of problems, if any, occurred
  5126. before or during execution. (closes issue ASTERISK-22624)
  5127. Reported by: Joshua Colp Review:
  5128. https://reviewboard.asterisk.org/r/2947/
  5129. 2013-12-13 16:27 +0000 [r403748] David M. Lee <dlee@digium.com>
  5130. * channels/pjsip: Setting svn:ignore
  5131. 2013-12-13 05:00 +0000 [r403736] Matthew Jordan <mjordan@digium.com>
  5132. * channels/Makefile: channels/Makefile: clean pjsip directory
  5133. 2013-12-12 19:44 +0000 [r403713] Scott Griepentrog <sgriepentrog@digium.com>
  5134. * contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py
  5135. (added): realtime: Create extensions in alembic ast-db-manage
  5136. contribution When the alembic scripts were written for creating
  5137. Asterisk realtime databases the extensions table for dialplan
  5138. wasn't included. This update creates the extensions table.
  5139. (closes issue ASTERISK-22815) Reported by: Zone Conkle Review:
  5140. https://reviewboard.asterisk.org/r/3064/
  5141. 2013-12-12 19:12 +0000 [r403705] Jonathan Rose <jrose@digium.com>
  5142. * channels/chan_pjsip.c: chan_pjsip: Revert r403587 This patch was
  5143. intended to eliminate a deadlock that occurs when masquerades
  5144. occur in pjsip channels, but has some potential side effects.
  5145. Mark Michelson is currently working on addressing this problem
  5146. from another angle. (issue ASTERISK-22936) Reported by: Jonathan
  5147. Rose
  5148. 2013-12-11 20:11 +0000 [r403680] Kevin Harwell <kharwell@digium.com>
  5149. * res/res_pjsip/pjsip_configuration.c, res/res_pjsip_messaging.c,
  5150. res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
  5151. include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c,
  5152. configs/pjsip.conf.sample: res_pjsip_messaging: send message to a
  5153. default outbound endpoint In some cases messages need to be sent
  5154. to a direct URI (sip:<ip address>). This patch adds in that
  5155. support by using a default outbound endpoint. When sending
  5156. messages, if no endpoint can be found then the default one is
  5157. used. To facilitate this a new default_outbound_endpoint option
  5158. was added to the globals section for pjsip.conf. Review:
  5159. https://reviewboard.asterisk.org/r/2944/
  5160. 2013-12-11 19:18 +0000 [r403639] Russell Bryant <russell@russellbryant.com>
  5161. * /, channels/chan_sip.c: Reset peer outboundproxy on sip.conf
  5162. reload If you set a peer's outboundproxy and then removed it from
  5163. the config, this would not get picked up in a config reload. This
  5164. patch fixes that by resetting it in set_peer_defaults(). Closes
  5165. ASTERISK-19454 Review: https://reviewboard.asterisk.org/r/3065/
  5166. ........ Merged revisions 403634 from
  5167. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  5168. revisions 403635 from
  5169. http://svn.asterisk.org/svn/asterisk/branches/11
  5170. 2013-12-11 13:05 +0000 [r403616-403618] Matthew Jordan <mjordan@digium.com>
  5171. * funcs/func_channel.c, channels/pjsip/include (added),
  5172. channels/pjsip/include/dialplan_functions.h (added),
  5173. res/res_pjsip_t38.c, channels/pjsip/include/chan_pjsip.h (added),
  5174. channels/Makefile, channels/chan_pjsip.c, main/xmldoc.c,
  5175. channels/pjsip/dialplan_functions.c (added),
  5176. include/asterisk/res_pjsip_session.h, channels/pjsip (added):
  5177. func_channel, chan_pjsip: Add CHANNEL read function support for
  5178. chan_pjsip This patch adds CHANNEL read support for chan_pjsip.
  5179. This allows the dialplan to use the CHANNEL function on a
  5180. chan_pjsip channel to obtain run-time information about the
  5181. channel from the PJSIP channel driver and the PJSIP stack. This
  5182. includes: * RTP information, including source/destination media
  5183. addresses, whether or not the media is secure, held, and other
  5184. properties. * RTCP information. This includes sets of parseable
  5185. information, as well as individual statistic attriutes. * PJSIP
  5186. information. This includes URIs, local/remote signalling
  5187. addresses, whether or not the signalling is secure, and other
  5188. properties. * The endpoint name. This can be used in conjunction
  5189. with the PJSIP_ENDPOINT function to obtain more detailed endpoint
  5190. information. Review: https://reviewboard.asterisk.org/r/3038/
  5191. * Makefile, funcs/func_pjsip_endpoint.c (added), doc/snapshots.xslt
  5192. (removed), doc/appdocsxml.xslt (added), doc/appdocsxml.dtd,
  5193. main/sorcery.c: func_pjsip_endpoint: Add PJSIP_ENDPOINT function
  5194. for querying endpoint details This patch adds a new function,
  5195. PJSIP_ENDPOINT, which lets the dialplan query, for any endpoint,
  5196. any property configured on an endpoint. This function is a
  5197. companion to the CHANNEL function, which can be used to extract
  5198. the endpoint name for a channel. Review:
  5199. https://reviewboard.asterisk.org/r/3035
  5200. 2013-12-09 22:47 +0000 [r403587] Jonathan Rose <jrose@digium.com>
  5201. * channels/chan_pjsip.c: chan_pjsip: Fix a sticking channel lock
  5202. caused by channel masquerades (closes issue ASTERISK-22936)
  5203. Reported by: Jonathan Rose Review:
  5204. https://reviewboard.asterisk.org/r/3042/
  5205. 2013-12-09 19:23 +0000 [r403545-403559] Richard Mudgett <rmudgett@digium.com>
  5206. * res/res_sorcery_astdb.c: Reverting regex part of -r403545 at
  5207. request of file. res_sorcery_astdb.c: Fix get multiple records by
  5208. regex. * Fix sorcery_astdb_retrieve_regex() pattern matching. Let
  5209. the regexec() function match the stored key values instead of
  5210. having astdb prefilter them. Previoiusly you could only use a
  5211. simple regex pattern when the pattern began with '^'.
  5212. * res/res_sorcery_astdb.c: res_sorcery_astdb.c: Fix get multiple
  5213. records by regex. * Fix sorcery_astdb_retrieve_regex() pattern
  5214. matching. Let the regexec() function match the stored key values
  5215. instead of having astdb prefilter them. Previoiusly you could
  5216. only use a simple regex pattern when the pattern began with '^'.
  5217. * Fix off nominal memory leak in sorcery_astdb_retrieve_regex().
  5218. 2013-12-09 18:31 +0000 [r403542] Joshua Colp <jcolp@digium.com>
  5219. * main/endpoints.c: endpoints: Keep a reference to channel ids when
  5220. creating snapshot. The snapshot process for endpoints uses the
  5221. channel ids present on the endpoint itself. Without keeping a
  5222. reference it was possible for the strings to be freed underneath
  5223. any consumer of an endpoint snapshot. A reference is now held by
  5224. the snapshot to the channel ids and released when the snapshot is
  5225. destroyed. (issue ASTERISK-22801) Reported by: Matt Jordan
  5226. 2013-12-09 18:31 +0000 [r403527-403541] Richard Mudgett <rmudgett@digium.com>
  5227. * main/sorcery.c: sorcery: Eliminate shadowing a varaible that
  5228. caused confusion. * Eliminated shadowing of the
  5229. __ast_sorcery_apply_config() name parameter causing confusion. *
  5230. Fix potential crash from sorcery.conf user input in
  5231. __ast_sorcery_apply_config() if the user supplied a malformed
  5232. config line that is missing the sorcery object type name. *
  5233. Remove redundant test in __ast_sorcery_apply_config(). !config
  5234. and config == CONFIGS_STATUS_FILEMISSING are identical.
  5235. * main/sorcery.c: sorcery: Whitespace You would think that a new
  5236. file would start off without any whitespace oddities.
  5237. 2013-12-09 16:40 +0000 [r403510] Joshua Colp <jcolp@digium.com>
  5238. * res/res_pjsip_nat.c: res_pjsip_nat: Add NAT module to session
  5239. dialogs. Due to the way pjproject internally works it was
  5240. possible for the NAT module to not be invoked on messages with-in
  5241. a session dialog. This means that the various parts of the
  5242. message would not get rewritten with the source IP address and
  5243. port. This change uses a session supplement to add the NAT module
  5244. to the dialog on the first incoming or outgoing INVITE. (closes
  5245. issue ASTERISK-22941) Reported by: Leif Madsen
  5246. 2013-12-09 03:19 +0000 [r403435-403458] Matthew Jordan <mjordan@digium.com>
  5247. * res/res_fax_spandsp.c, /: res_fax_spandsp: Always init T.38
  5248. session to avoid crashes during state change Prior to this patch,
  5249. res_fax_spandsp was conservative with how it initialized the
  5250. spandsp T.38 context. It would only initialize it if the driver
  5251. thought the current state was a T.38 fax. While this works fine
  5252. in nominal situations, in certain off nominal situations,
  5253. res_fax_spandsp can believe that a T.38 fax will not occur when
  5254. in fact one has started. In particular, this was discovered when
  5255. res_fax would fall back to audio after timing out on a T.38
  5256. upgrade. The SIP channel driver would continue to retry the
  5257. re-INVITE and - if the remote end responded after res_fax timed
  5258. out with a 200 OK - a T.38 frame would be delivered to the
  5259. res_fax stack when it no longer expected it. As it turns out,
  5260. there does not appear to be any downside to always initializing
  5261. the T.38 context, other than the actual memory allocation. Since
  5262. that avoids this off nominal situation (and others which are
  5263. equally likely hard to predict), this is the safest way to avoid
  5264. this problem. Much thanks to Torrey as well for providing a
  5265. scenario that reproduces this issue. (closes issue
  5266. ASTERISK-21242) Reported by: Ashley Winters Tested by: Torrey
  5267. Searle patches: always-init-t38.patch uploaded by awinters
  5268. (License 6477) A_PARTY.xml uploaded by tsearle (License 5334)
  5269. ........ Merged revisions 403449 from
  5270. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  5271. revisions 403450 from
  5272. http://svn.asterisk.org/svn/asterisk/branches/11
  5273. * res/res_config_sqlite.c: res_config_sqlite: Check for CDR
  5274. unregistration failures If the CDR unregistration fails due to an
  5275. inflight CDR, the res_config_sqlite module needs to bail on
  5276. unloading itself. Otherwise, the config could be unloaded
  5277. (including the CDR table name) while the CDR engine posts a CDR
  5278. to the still registered backend, resulting in a crash.
  5279. 2013-12-05 20:49 +0000 [r403398] David M. Lee <dlee@digium.com>
  5280. * main/core_unreal.c, tests/test_stasis_channels.c,
  5281. include/asterisk/channel.h, channels/chan_gtalk.c,
  5282. channels/sig_pri.c, apps/app_queue.c, main/cel.c,
  5283. main/stasis_bridges.c, channels/chan_jingle.c,
  5284. channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
  5285. include/asterisk/stasis_channels.h, channels/sig_analog.c,
  5286. channels/chan_motif.c, res/res_agi.c, channels/chan_h323.c,
  5287. tests/test_cel.c, apps/app_confbridge.c, res/res_stasis.c,
  5288. res/res_pjsip_refer.c, apps/app_voicemail.c, apps/app_dial.c,
  5289. channels/chan_vpb.cc, addons/chan_ooh323.c, channels/chan_sip.c,
  5290. main/pickup.c, include/asterisk/aoc.h,
  5291. include/asterisk/stasis_bridges.h, apps/app_disa.c,
  5292. apps/app_userevent.c, main/core_local.c, channels/chan_console.c,
  5293. include/asterisk/channelstate.h, channels/chan_iax2.c,
  5294. main/endpoints.c, channels/chan_oss.c,
  5295. res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
  5296. main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c,
  5297. channels/chan_alsa.c, pbx/pbx_realtime.c, main/stasis_channels.c,
  5298. channels/chan_nbs.c, main/bridge_channel.c, addons/chan_mobile.c,
  5299. channels/chan_pjsip.c, tests/test_cdr.c,
  5300. res/parking/parking_manager.c, channels/chan_mgcp.c,
  5301. channels/chan_unistim.c, main/pbx.c, funcs/func_timeout.c,
  5302. apps/app_meetme.c, main/bridge.c: Reverting r403311. It's causing
  5303. ARI tests to hang.
  5304. 2013-12-04 21:41 +0000 [r403377] Kevin Harwell <kharwell@digium.com>
  5305. * res/res_pjsip_registrar.c: res_pjsip_registrar: undefined
  5306. function pointer symbol Used a static wrapper around the
  5307. offending function to alleviate the issue. Reported by: rmudgett
  5308. 2013-12-04 20:53 +0000 [r403364] Joshua Colp <jcolp@digium.com>
  5309. * res/res_pjsip_t38.c: res_pjsip_t38: Don't pass T.38 control
  5310. frames through to other hooks. This crept up during gateway
  5311. testing where the gateway would receive the request to negotiate
  5312. and assume it came from the remote side, causing the gateway
  5313. state machine to go a little, to a use a technical term, "wonky".
  5314. 2013-12-04 18:40 +0000 [r403349] Mark Michelson <mmichelson@digium.com>
  5315. * res/res_pjsip.c: Initialize the hash value argument to
  5316. pj_hash_get() to 0. Passing a non-zero value causes PJLIB to use
  5317. the given input as the hash value. Passing zero causes the
  5318. parameter to become an output parameter that receives the hash
  5319. value that was computed based on the given key. This change
  5320. essentially makes ast_sip_dict_get() properly retrieve the
  5321. desired value.
  5322. 2013-12-03 20:17 +0000 [r403342] David M. Lee <dlee@digium.com>
  5323. * res/stasis/control.c: ari: Fix deadlock problem with functions
  5324. that use autoservice. The code for getting channel variables from
  5325. ARI assumed that you needed to lock the channel in order to
  5326. properly execute functions and read channel variables.
  5327. Apparently, this is not the case, since any dialplan function
  5328. that puts the channel into autoservice deadlocks when attempting
  5329. to remove the channel from autoservice.
  5330. 2013-12-03 17:59 +0000 [r403329] Joshua Colp <jcolp@digium.com>
  5331. * res/res_pjsip_session.c, configure,
  5332. include/asterisk/autoconfig.h.in, configure.ac:
  5333. res_pjsip_session: Add support for
  5334. PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE flag. Newer versions of PJSIP
  5335. have changed to using a flag for the
  5336. PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE instead of a define. This adds
  5337. a configure check to detect the presence of the flag and use it
  5338. if found.
  5339. 2013-12-03 17:23 +0000 [r403324] Richard Mudgett <rmudgett@digium.com>
  5340. * main/bucket.c, include/asterisk/sorcery.h,
  5341. res/res_pjsip/pjsip_configuration.c,
  5342. res/res_pjsip_registrar_expire.c, res/res_pjsip/pjsip_options.c,
  5343. tests/test_sorcery.c, include/asterisk/bucket.h, main/sorcery.c:
  5344. sorcery, bucket: Change observer remove calls to take const
  5345. callbacks struct. * Make ast_sorcery_observer_remove() accept a
  5346. const callbacks struct. * Make ast_sorcery_observer_remove()
  5347. tolerant of the sorcery parameter being NULL. Now it can be
  5348. called within a module unload routine if the sorcery
  5349. initialization fails. * Fix ast_sorcery_observer_add() to fail if
  5350. the container link fails.
  5351. 2013-12-03 16:37 +0000 [r403312] Joshua Colp <jcolp@digium.com>
  5352. * main/media_index.c: media_index: Make media indexing tolerable of
  5353. bad symlinks. Media indexing will now skip over files and
  5354. directories that stat will not return information about. This can
  5355. occur under normal conditions when a symbolic link points to a
  5356. location that no longer exists.
  5357. 2013-12-03 16:33 +0000 [r403311] Mark Michelson <mmichelson@digium.com>
  5358. * include/asterisk/stasis_bridges.h, apps/app_disa.c,
  5359. apps/app_userevent.c, main/core_local.c,
  5360. include/asterisk/channelstate.h, channels/chan_console.c,
  5361. channels/chan_iax2.c, main/endpoints.c, channels/chan_oss.c,
  5362. res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
  5363. main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c,
  5364. channels/chan_alsa.c, pbx/pbx_realtime.c, main/stasis_channels.c,
  5365. channels/chan_nbs.c, main/bridge_channel.c, addons/chan_mobile.c,
  5366. channels/chan_pjsip.c, tests/test_cdr.c,
  5367. res/parking/parking_manager.c, channels/chan_mgcp.c,
  5368. channels/chan_unistim.c, main/pbx.c, funcs/func_timeout.c,
  5369. apps/app_meetme.c, main/bridge.c, tests/test_stasis_channels.c,
  5370. main/core_unreal.c, include/asterisk/channel.h,
  5371. channels/chan_gtalk.c, channels/sig_pri.c, apps/app_queue.c,
  5372. main/cel.c, main/stasis_bridges.c, channels/chan_jingle.c,
  5373. channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
  5374. include/asterisk/stasis_channels.h, channels/sig_analog.c,
  5375. channels/chan_motif.c, res/res_agi.c, channels/chan_h323.c,
  5376. tests/test_cel.c, apps/app_confbridge.c, res/res_stasis.c,
  5377. res/res_pjsip_refer.c, apps/app_voicemail.c, apps/app_dial.c,
  5378. channels/chan_vpb.cc, addons/chan_ooh323.c, main/pickup.c,
  5379. channels/chan_sip.c, include/asterisk/aoc.h: Add channel locking
  5380. for channel snapshot creation. This adds channel locks around
  5381. calls to create channel snapshots as well as other functions
  5382. which operate on a channel and then end up creating a channel
  5383. snapshot. Functions that expect the channel to be locked prior to
  5384. being called have had their documentation updated to indicate
  5385. such.
  5386. 2013-12-03 16:32 +0000 [r403310] Joshua Colp <jcolp@digium.com>
  5387. * res/res_ari.c: Revert revision 403304: Fixed the filename for the
  5388. ari.conf docs The changed value refers to the name of the module.
  5389. The name of the configuration file is specified in the configFile
  5390. section.
  5391. 2013-12-02 18:34 +0000 [r403304] David M. Lee <dlee@digium.com>
  5392. * res/res_ari.c: Fixed the filename for the ari.conf docs
  5393. 2013-12-02 18:03 +0000 [r403290-403291] Alexandr Anikin <may@telecom-service.ru>
  5394. * /: remove unwanted property svn:mergeinfo
  5395. * /, addons/chan_ooh323.c: Check and reject non-digits e164 values
  5396. on peers and general sections in ooh323.conf Regenerate e164
  5397. endpoint list on reload ooh323 (issue ASTERISK-22901) Reported
  5398. by: Cyril CONSTANTIN Patches: ASTERISK-22901.patch ........
  5399. Merged revisions 403288 from
  5400. http://svn.asterisk.org/svn/asterisk/branches/11
  5401. 2013-12-01 21:12 +0000 [r403256-403271] Joshua Colp <jcolp@digium.com>
  5402. * res/res_pjsip_session.c: res_pjsip_session: Apply fromuser and
  5403. fromdomain to all requests as documented.
  5404. * res/res_pjsip_t38.c: res_pjsip_t38: Add the framehook to the
  5405. channel only on first INVITE. The check for determining whether
  5406. the T.38 framehook should be added to the channel or not has now
  5407. been changed to guarantee adding only occurs on the first
  5408. incoming or outgoing INVITE.
  5409. * res/res_pjsip_transport_websocket.c,
  5410. include/asterisk/res_pjsip.h, res/res_pjsip/location.c,
  5411. res/res_pjsip/security_events.c, res/res_pjsip/pjsip_options.c,
  5412. res/res_pjsip.c: res_pjsip_transport_websocket: Fix security
  5413. events and simplify implementation. Transport type determination
  5414. for security events has been simplified to use the type present
  5415. on the message itself instead of searching through configured
  5416. transports to find the transport used. The actual WebSocket
  5417. transport has also been simplified. It now leverages the existing
  5418. PJSIP transport manager for finding the active WebSocket
  5419. transport for outgoing messages. This removes the need for
  5420. res_pjsip_transport_websocket to store a mapping itself. (closes
  5421. issue ASTERISK-22897) Reported by: Max E. Reyes Vera J. Review:
  5422. https://reviewboard.asterisk.org/r/3036/
  5423. 2013-11-30 14:11 +0000 [r403240] Joshua Colp <jcolp@digium.com>
  5424. * res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
  5425. rest-api/api-docs/events.json: res_ari: Add Recording events to
  5426. the validator.
  5427. 2013-11-28 02:12 +0000 [r403179-403223] Joshua Colp <jcolp@digium.com>
  5428. * res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Don't produce an
  5429. invalid media stream with no formats. Depending on configuration
  5430. it was possible for a media stream to be created without any
  5431. media formats. The produced SDP would fail internal validation
  5432. and cause a crash. The code will now no longer add media streams
  5433. with no formats to the SDP, allowing it to pass validation and
  5434. work. (closes issue ASTERISK-22858) Reported by: Anthony Messina
  5435. * res/res_pjsip_header_funcs.c: res_pjsip_header_funcs: Don't add
  5436. headers to re-INVITEs. When sending a re-INVITE to an endpoint it
  5437. was possible for received headers to be added as well (since they
  5438. are stored for retrieval using the PJSIP_HEADER dialplan
  5439. function). This caused a broken (and potentially large) SIP
  5440. INVITE to be produced and sent. This changes the module so it
  5441. will no longer add headers to re-INVITEs. (closes issue
  5442. ASTERISK-22882) Reported by: David M. Lee
  5443. * res/res_stasis_playback.c: res_stasis_playback: Add 'number',
  5444. 'digits', and 'characters' URI scheme implementations. This
  5445. change adds new URI scheme implementations for playing numbers,
  5446. digits, and characters. This is done as part of the normal
  5447. playback mechanism and can be used with queueing to create a
  5448. combined sentence. Review:
  5449. https://reviewboard.asterisk.org/r/3028/
  5450. * res/res_pjsip/pjsip_configuration.c, res/res_pjsip.c,
  5451. res/res_pjsip_session.c, include/asterisk/res_pjsip.h:
  5452. res_pjsip_session: Add configurable behavior for redirects. The
  5453. action taken when a redirect occurs is now configurable on a
  5454. per-endpoint basis. The redirect can either be treated as a
  5455. redirect to a local extension, to a URI that is dialed through
  5456. the Asterisk core, or to a URI that is dialed within PJSIP
  5457. itself. (closes issue ASTERISK-21710) Reported by: Matt Jordan
  5458. Review: https://reviewboard.asterisk.org/r/2963/
  5459. * res/res_pjsip/pjsip_configuration.c: res_pjsip: Fix crash when
  5460. reloading certain configurations. Certain options available that
  5461. specify a SIP URI perform validation on the provided URI using
  5462. the PJSIP URI parser. This operation requires that the thread
  5463. executing it be registered with the PJLIB library. During reloads
  5464. this was done on a thread which was NOT registered with it. This
  5465. fixes the problem by creating a task which reloads the
  5466. configuration on a PJSIP thread. (closes issue ASTERISK-22923)
  5467. Reported by: Anthony Messina
  5468. 2013-11-27 15:36 +0000 [r403175] David M. Lee <dlee@digium.com>
  5469. * res/res_ari_channels.c, include/asterisk/ari.h,
  5470. rest-api-templates/param_parsing.mustache,
  5471. include/asterisk/http.h, res/res_ari_recordings.c,
  5472. res/res_ari_endpoints.c, main/http.c,
  5473. rest-api-templates/swagger_model.py, res/res_ari_playbacks.c,
  5474. res/res_ari_sounds.c, rest-api-templates/asterisk_processor.py,
  5475. res/res_ari_bridges.c, tests/test_ari.c, res/res_ari.c,
  5476. res/res_ari_device_states.c, res/res_ari_asterisk.c,
  5477. rest-api-templates/res_ari_resource.c.mustache,
  5478. res/res_ari_applications.c: ari:Add application/json parameter
  5479. support The patch allows ARI to parse request parameters from an
  5480. incoming JSON request body, instead of requiring the request to
  5481. come in as query parameters (which is just weird for POST and
  5482. DELETE) or form parameters (which is okay, but a bit asymmetric
  5483. given that all of our responses are JSON). For any operation that
  5484. does _not_ have a parameter defined of type body (i.e.
  5485. "paramType": "body" in the API declaration), if a request
  5486. provides a request body with a Content type of
  5487. "application/json", the provided JSON document is parsed and
  5488. searched for parameters. The expected fields in the provided JSON
  5489. document should match the query parameters defined for the
  5490. operation. If the parameter has 'allowMultiple' set, then the
  5491. field in the JSON document may optionally be an array of values.
  5492. (closes issue ASTERISK-22685) Review:
  5493. https://reviewboard.asterisk.org/r/2994/
  5494. 2013-11-27 15:31 +0000 [r403160-403173] Joshua Colp <jcolp@digium.com>
  5495. * res/res_pjsip/pjsip_configuration.c: res_pjsip: Update handling
  5496. of some options to work with new option names. Some options (such
  5497. as call_group and pickup_group) share the same configuration
  5498. handler and decide what logic to use based on the name of the
  5499. option. These handlers were not updated to check for the new
  5500. option names and were treating the options as invalid. This
  5501. change simply updates the handlers with the proper names of the
  5502. options. (closes issue ASTERISK-22922) Reported by: Anthony
  5503. Messina
  5504. * configure, include/asterisk/autoconfig.h.in, configure.ac: Fix a
  5505. configure issue with PJSIP transaction group lock detection. The
  5506. configure check did not use the provided paths for pjproject if
  5507. provided when looking for transaction group lock support.
  5508. 2013-11-23 17:38 +0000 [r403131-403134] Kevin Harwell <kharwell@digium.com>
  5509. * include/asterisk/stasis_app.h, main/devicestate.c,
  5510. res/stasis/app.h, rest-api/resources.json,
  5511. res/res_stasis_device_state.c (added),
  5512. res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
  5513. res/ari/resource_device_states.c (added),
  5514. rest-api/api-docs/deviceStates.json (added),
  5515. rest-api-templates/ari.make.mustache, res/ari.make,
  5516. rest-api/api-docs/applications.json,
  5517. include/asterisk/stasis_app_device_state.h (added),
  5518. res/ari/resource_device_states.h (added),
  5519. res/ari/resource_applications.h, res/res_stasis.c,
  5520. include/asterisk/devicestate.h,
  5521. res/res_stasis_device_state.exports.in (added),
  5522. rest-api/api-docs/events.json, res/res_ari_device_states.c
  5523. (added), res/stasis/app.c: ARI: Implement device state API
  5524. Created a data model and implemented functionality for an ARI
  5525. device state resource. The following operations have been added
  5526. that allow a user to manipulate an ARI controlled device:
  5527. Create/Change the state of an ARI controlled device PUT
  5528. /deviceStates/{deviceName}&{deviceState} Retrieve all ARI
  5529. controlled devices GET /deviceStates Retrieve the current state
  5530. of a device GET /deviceStates/{deviceName} Destroy a device-state
  5531. controlled by ARI DELETE /deviceStates/{deviceName} The ARI
  5532. controlled device must begin with 'Stasis:'. An example
  5533. controlled device name would be Stasis:Example. A
  5534. 'DeviceStateChanged' event has also been added so that an
  5535. application can subscribe and receive device change events. Any
  5536. device state, ARI controlled or not, can be subscribed to. While
  5537. adding the event, the underlying subscription control mechanism
  5538. was refactored so that all current and future resource
  5539. subscriptions would be the same. Each event resource must now
  5540. register itself in order to be able to properly handle
  5541. [un]subscribes. (issue ASTERISK-22838) Reported by: Matt Jordan
  5542. Review: https://reviewboard.asterisk.org/r/3025/
  5543. * res/res_pjsip_exten_state.c, include/asterisk/res_pjsip_pubsub.h,
  5544. res/res_pjsip/location.c, res/res_pjsip_outbound_registration.c,
  5545. res/res_pjsip_mwi.c, include/asterisk/sorcery.h,
  5546. res/res_pjsip/pjsip_configuration.c, include/asterisk/strings.h,
  5547. res/res_pjsip_pubsub.c,
  5548. res/res_pjsip/include/res_pjsip_private.h,
  5549. res/res_pjsip/config_transport.c, res/res_pjsip_registrar.c,
  5550. main/sorcery.c, include/asterisk/res_pjsip.h,
  5551. include/asterisk/acl.h, res/res_pjsip/config_auth.c,
  5552. include/asterisk/utils.h, res/res_pjsip.exports.in,
  5553. res/res_pjsip_endpoint_identifier_ip.c, main/acl.c, main/utils.c,
  5554. res/res_pjsip.c: res_pjsip: AMI commands and events. Created the
  5555. following AMI commands and corresponding events for res_pjsip:
  5556. PJSIPShowEndpoints - Provides a listing of all pjsip endpoints
  5557. and a few select attributes on each. Events: EndpointList - for
  5558. each endpoint a few attributes. EndpointlistComplete - after all
  5559. endpoints have been listed. PJSIPShowEndpoint - Provides a detail
  5560. list of attributes for a specified endpoint. Events:
  5561. EndpointDetail - attributes on an endpoint. AorDetail - raised
  5562. for each AOR on an endpoint. AuthDetail - raised for each
  5563. associated inbound and outbound auth TransportDetail - transport
  5564. attributes. IdentifyDetail - attributes for the identify object
  5565. associated with the endpoint. EndpointDetailComplete - last event
  5566. raised after all detail events. PJSIPShowRegistrationsInbound -
  5567. Provides a detail listing of all inbound registrations. Events:
  5568. InboundRegistrationDetail - inbound registration attributes for
  5569. each registration. InboundRegistrationDetailComplete - raised
  5570. after all detail records have been listed.
  5571. PJSIPShowRegistrationsOutbound - Provides a detail listing of all
  5572. outbound registrations. Events: OutboundRegistrationDetail -
  5573. outbound registration attributes for each registration.
  5574. OutboundRegistrationDetailComplete - raised after all detail
  5575. records have been listed. PJSIPShowSubscriptionsInbound - A
  5576. detail listing of all inbound subscriptions and their attributes.
  5577. Events: SubscriptionDetail - on each subscription detailed
  5578. attributes SubscriptionDetailComplete - raised after all detail
  5579. records have been listed. PJSIPShowSubscriptionsOutbound - A
  5580. detail listing of all outboundbound subscriptions and their
  5581. attributes. Events: SubscriptionDetail - on each subscription
  5582. detailed attributes SubscriptionDetailComplete - raised after all
  5583. detail records have been listed. (issue ASTERISK-22609) Reported
  5584. by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2959/
  5585. 2013-11-23 12:51 +0000 [r403117-403119] Joshua Colp <jcolp@digium.com>
  5586. * res/ari/ari_model_validators.h, res/res_stasis_playback.c,
  5587. rest-api/api-docs/events.json, res/res_stasis_recording.c,
  5588. res/ari/ari_model_validators.c,
  5589. rest-api/api-docs/recordings.json: ari: Add events for playback
  5590. and recording. While there were events defined for playback and
  5591. recording these were not actually sent. This change implements
  5592. the to_json handlers which produces them. (closes issue
  5593. ASTERISK-22710) Reported by: Jonathan Rose Review:
  5594. https://reviewboard.asterisk.org/r/3026/
  5595. * main/audiohook.c, res/ari/resource_channels.c,
  5596. res/res_stasis_snoop.c (added), res/res_ari_channels.c,
  5597. res/ari/resource_channels.h, res/res_stasis_snoop.exports.in
  5598. (added), include/asterisk/stasis_app_snoop.h (added),
  5599. rest-api/api-docs/channels.json: ari: Add Snoop operation for
  5600. spying/whispering on channels. The Snoop operation can be invoked
  5601. on a channel to spy or whisper on it. It returns a channel that
  5602. any channel operations can then be invoked on (such as record to
  5603. do monitoring). (closes issue ASTERISK-22780) Reported by: Matt
  5604. Jordan Review: https://reviewboard.asterisk.org/r/3003/
  5605. 2013-11-22 23:44 +0000 [r403094] Kinsey Moore <kmoore@digium.com>
  5606. * tests/test_stasis.c, tests/test_stasis_channels.c: Make sure unit
  5607. tests compile This fixes the unit tests that were broken by
  5608. r403069 and several functions requiring a new parameter for
  5609. sanitization of JSON messages generated from object snapshots.
  5610. 2013-11-22 22:24 +0000 [r403082] Kevin Harwell <kharwell@digium.com>
  5611. * contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py,
  5612. res/res_pjsip/pjsip_configuration.c: res_pjsip: convert
  5613. configuration settings names to snake case some more Updated the
  5614. alembic script for pjsip. Also, the dtls config parsing stuff was
  5615. expecting strings with no underscores, so removed the underscores
  5616. from the option name before passing it to the parser.
  5617. 2013-11-22 20:01 +0000 [r403069] Kinsey Moore <kmoore@digium.com>
  5618. * main/stasis_endpoints.c, res/ari/resource_endpoints.c,
  5619. main/rtp_engine.c, res/stasis/app.c,
  5620. include/asterisk/stasis_bridges.h, include/asterisk/stasis_app.h,
  5621. include/asterisk/stasis.h, main/stasis_bridges.c,
  5622. res/ari/resource_bridges.c, main/json.c, main/stasis_message.c,
  5623. include/asterisk/stasis_channels.h, main/stasis_channels.c,
  5624. res/ari/resource_channels.c, include/asterisk/stasis_endpoints.h,
  5625. res/res_stasis.c: ARI: Don't leak implementation details This
  5626. change prevents channels used as implementation details from
  5627. leaking out to ARI. It does this by preventing creation of JSON
  5628. blobs of channel snapshots created from those channels and
  5629. sanitizing JSON blobs of bridge snapshots as they are created.
  5630. This introduces a framework for excluding information from output
  5631. targeted at Stasis applications on a consumer-by-consumer basis
  5632. using channel sanitization callbacks which could be extended to
  5633. bridges or endpoints if necessary. This prevents unhelpful error
  5634. messages from being generated by ast_json_pack. This also
  5635. corrects a bug where BridgeCreated events would not be created.
  5636. (closes issue ASTERISK-22744) Review:
  5637. https://reviewboard.asterisk.org/r/2987/ Reported by: David M.
  5638. Lee
  5639. 2013-11-22 17:19 +0000 [r403022] Kevin Harwell <kharwell@digium.com>
  5640. * res/res_pjsip_acl.c, res/res_pjsip.c,
  5641. res/res_pjsip/config_transport.c, res/res_pjsip/config_global.c,
  5642. configs/pjsip.conf.sample, res/res_pjsip/config_system.c,
  5643. contrib/scripts/sip_to_pjsip/sip_to_pjsip.py,
  5644. res/res_pjsip/pjsip_configuration.c: res_pjsip: convert
  5645. configuration settings names to snake case Renamed, where
  5646. appropriate, the configuration options for chan/res_pjsip to use
  5647. snake case (compound words separated by an underscore). For
  5648. example, faxdetect will become fax_detect, recordofffeature will
  5649. become record_off_feature, etc... Review:
  5650. https://reviewboard.asterisk.org/r/3002/
  5651. 2013-11-22 17:11 +0000 [r403016] Joshua Colp <jcolp@digium.com>
  5652. * /, main/translate.c: translate: Move freeing of frame to after it
  5653. is used. When translating from one format to another it is
  5654. possible to inform the translation function that the source frame
  5655. should be freed. This was previously done immediately but shortly
  5656. afterwards the frame that was freed was accessed and used again.
  5657. This change moves code around a bit so that the frame is now
  5658. freed after it has been completely used. (closes issue
  5659. ASTERISK-22788) Reported by: Corey Farrell Patches:
  5660. translate-access-after-free-11up.patch uploaded by coreyfarrell
  5661. (license 5909) translate-access-after-free-1.8.patch uploaded by
  5662. coreyfarrell (license 5909) ........ Merged revisions 403014 from
  5663. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  5664. revisions 403015 from
  5665. http://svn.asterisk.org/svn/asterisk/branches/11
  5666. 2013-11-21 22:35 +0000 [r402981-402993] David M. Lee <dlee@digium.com>
  5667. * rest-api-templates/ari_resource.c.mustache,
  5668. rest-api-templates/res_ari_resource.c.mustache: ari: Fix #include
  5669. to match generated headers for snakeCase resource files
  5670. * rest-api-templates/make_ari_stubs.py: ari: Fix generators for
  5671. resources with camelCase names. For the new deviceState resource,
  5672. we need to properly generate device_state.[ch] files.
  5673. 2013-11-21 19:21 +0000 [r402968] Matthew Jordan <mjordan@digium.com>
  5674. * res/res_pjsip_session.c: res_pjsip_session: Fix memory leak of
  5675. direct media format capabilities The direct media format
  5676. capabilities are always allocated in ast_sip_session_alloc and
  5677. were not freed in the session destructor. Whoops. (This being the
  5678. third whoops caught by Scott and Nitesh's valgrind work for the
  5679. Asterisk Test Suite. Nifty!)
  5680. 2013-11-21 19:08 +0000 [r402944-402956] Richard Mudgett <rmudgett@digium.com>
  5681. * include/asterisk/app.h: voicemail: Fixup some doxygen comments.
  5682. * main/bucket.c: bucket: Fix scheme ref leak in
  5683. __ast_bucket_scheme_register().
  5684. 2013-11-21 17:52 +0000 [r402940-402941] Matthew Jordan <mjordan@digium.com>
  5685. * res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Fix use of
  5686. uninitialized value in PJSIP In PJMEDIA,
  5687. pjmedia_sdp_rtpmap_to_attr will attempt to use the string
  5688. rtpmap.param regardless of its length value. Simply setting the
  5689. length to 0 does not prevent the garbage on the stack in
  5690. rtpmap.param.ptr from being formatted in a sprintf call. This
  5691. patch initializes the string to NULL so that at the very least,
  5692. something is provided to the function that is predictable.
  5693. * res/res_pjsip_mwi.c: res_pjsip_mwi: Fix memory leak of MWI
  5694. subscriptions container This patch fixes a reference counting
  5695. memory leak on the ao2_container created as part of
  5696. create_mwi_subscriptions. When we create the container in this
  5697. routine, the intent is to hand lifetime ownership over to the
  5698. global container unsolicited_mwi. When
  5699. ao2_global_obj_replace_unref is called, the reference count on
  5700. mwi_subscriptions (the container) will be bumped by 1; however,
  5701. the function does not decrement the reference count on
  5702. mwi_subscriptions when this occurs. This will prevent the
  5703. container from being fully disposed of when Asterisk exits (or on
  5704. any subsequent call to this operation, such as during a reload).
  5705. 2013-11-21 15:55 +0000 [r402926] David M. Lee <dlee@digium.com>
  5706. * res/stasis/control.c, include/asterisk/stasis_app.h,
  5707. rest-api/api-docs/channels.json, res/ari/resource_channels.c,
  5708. res/res_ari_channels.c, res/ari/resource_channels.h: ari: Add
  5709. silence generator controls This patch adds the ability to start a
  5710. silence generator on a channel via ARI. This generator will play
  5711. silence on the channel (avoiding audio timeouts on the peer)
  5712. until it is stopped, or some other media operation is started
  5713. (like playing media, starting music on hold, etc.). (closes issue
  5714. ASTERISK-22514) Review: https://reviewboard.asterisk.org/r/3019/
  5715. 2013-11-19 23:17 +0000 [r402891] Joshua Colp <jcolp@digium.com>
  5716. * res/res_pjsip_caller_id.c: res_pjsip_caller_id: Don't overwrite
  5717. user portion of the From header when fromuser is set. The
  5718. fromuser option is used to explicitly set the user within the
  5719. From header. The res_pjsip_caller_id module did not take this
  5720. setting into account when determining if the From header could be
  5721. modified or not. (closes issue ASTERISK-22866) Reported by:
  5722. Anthony Messina
  5723. 2013-11-16 13:44 +0000 [r402864] Joshua Colp <jcolp@digium.com>
  5724. * res/res_pjsip/pjsip_distributor.c, configure,
  5725. include/asterisk/autoconfig.h.in, configure.ac: res_pjsip: Add
  5726. support for building against pjproject with SIP transaction group
  5727. lock support. SIP transaction group lock support has been
  5728. backported into our pjproject. Since the code now internally uses
  5729. a group lock the code is now changed to unlock it if present.
  5730. Note that the act of finding the transaction is what actually
  5731. returns it locked. For further information about group locks
  5732. check out the wiki page at:
  5733. http://trac.pjsip.org/repos/wiki/Group_Lock (issue
  5734. ASTERISK-22818) Reported by: Matt Jordan
  5735. 2013-11-15 14:35 +0000 [r402838] Kinsey Moore <kmoore@digium.com>
  5736. * main/cel.c: CEL: Fix crash when using CELGenUserEvent This fixes
  5737. a crash when CELGenUserEvent is called from the dialplan while
  5738. CEL is disabled. Currently, CEL does not create its topics and
  5739. forwards if it is not enabled and external entities may depend on
  5740. these topics blindly since they should always be available. This
  5741. patch breaks up route creation and topic/forward creation such
  5742. that the CEL topics and forwards will always exist while the
  5743. router and its associated routes will be torn down and recreated
  5744. as necessary. (closes issue ASTERISK-22799) Review:
  5745. https://reviewboard.asterisk.org/r/3010/ Reported by: Matt Jordan
  5746. 2013-11-14 15:01 +0000 [r402817] David M. Lee <dlee@digium.com>
  5747. * res/res_stasis.c: stasis: Fixed scoping problem with bridge
  5748. tracking.
  5749. 2013-11-13 23:09 +0000 [r402804] Joshua Colp <jcolp@digium.com>
  5750. * res/stasis/control.c, include/asterisk/stasis_app.h,
  5751. rest-api/api-docs/channels.json, res/ari/resource_channels.c,
  5752. res/res_ari_channels.c, res/ari/resource_channels.h:
  5753. res_ari_channels: Add the ability to stop locally generated
  5754. ringing on a channel. Using the 'ring' operation it is possible
  5755. to start locally generated ringback if the channel is answered.
  5756. This change adds the ability to stop it by using DELETE.
  5757. 2013-11-12 23:16 +0000 [r402787-402793] Kevin Harwell <kharwell@digium.com>
  5758. * res/ari/resource_endpoints.c: ari endpoints: GET
  5759. /ari/endpoints/{invalid-tech} should return a 404 Was returning a
  5760. 404 on a valid technology with an empty list of endpoints. Now
  5761. checking against the channel tech to make sure the tech itself is
  5762. valid and not just an empty list of endpoints. (issue
  5763. ASTERISK-22803) Reported by: David M. Lee
  5764. * rest-api/api-docs/endpoints.json, res/ari/resource_endpoints.c,
  5765. res/res_ari_endpoints.c: ari endpoints: GET
  5766. /ari/endpoints/{invalid-tech} should return a 404 Implementation
  5767. listing endpoints by technology returned an empty array if no
  5768. matching endpoints were found. Fixed so a "404 Not Found" will be
  5769. returned instead. (closes issue ASTERISK-22803) Reported by:
  5770. David M. Lee
  5771. 2013-11-12 19:11 +0000 [r402767-402769] Mark Michelson <mmichelson@digium.com>
  5772. * main/channel.c: Switch to a scoped lock to avoid missing unlocks
  5773. in failure returns.
  5774. * main/channel.c: Move a NULL check to a place that makes more
  5775. sense. Two variables were being checked for NULLity immediately
  5776. after being declared NULL. I moved the NULL check until after the
  5777. variables are allocated. This allows for the "channelvars" option
  5778. in manager.conf to work as intended again.
  5779. 2013-11-12 16:45 +0000 [r402757] Kevin Harwell <kharwell@digium.com>
  5780. * res/res_pjsip_messaging.c, res/res_pjsip_header_funcs.c:
  5781. pjsip_messaging, pjsip_header_funcs: Crashes due to NULL pointer
  5782. dereferences Both res_pjsip_messaging and res_pjsip_header_funcs
  5783. were causing asterisk to crash because they were trying to
  5784. dereference a NULL pointer. In the case of res_pjsip_messaging it
  5785. was attempting to "print" a contact header that did not exist. In
  5786. fact contact headers should not be part of a SIP MESSAGE, so the
  5787. offending code was simply removed. In the case of
  5788. res_pjsip_header_funcs a null private channel tech was being
  5789. passed to the function and then later dereferenced. Added null
  5790. checks (and error logging) to the read/write function handlers to
  5791. guard against crashing. (closes issue ASTERISK-22821) Reported
  5792. by: Anthony Messina
  5793. 2013-11-12 16:33 +0000 [r402755] Kinsey Moore <kmoore@digium.com>
  5794. * apps/app_celgenuserevent.c: CELGenUserEvent: Fix error message
  5795. from ast_json_pack This prevents NULL from being passed into an
  5796. ast_json_pack call when no extra information is passed to the
  5797. application which prevents an error message about NULL arguments
  5798. from being generated.
  5799. 2013-11-12 15:26 +0000 [r402738] David M. Lee <dlee@digium.com>
  5800. * res/ari/ari_model_validators.h, rest-api/api-docs/events.json:
  5801. Fixed a typ.
  5802. 2013-11-12 15:02 +0000 [r402710] Kinsey Moore <kmoore@digium.com>
  5803. * channels/chan_dahdi.c, /: chan_dahdi: Fix crash during caller ID
  5804. read Asterisk will sometimes core dump during caller id read on
  5805. analog channels due to a negative return value from the read() in
  5806. my_get_callerid that slips through as a negative length argument
  5807. to callerid_feed() if the errno returned by DAHDI is ELAST. This
  5808. change ensures that the negative return is treated properly even
  5809. when it is ELAST. (closes issue ASTERISK-22746) Reported by:
  5810. Michael Walton Patches: chan_dahdi_cid_crash_fix.r401410.patch
  5811. uploaded by Michael Walton (License 6502) ........ Merged
  5812. revisions 402708 from
  5813. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  5814. revisions 402709 from
  5815. http://svn.asterisk.org/svn/asterisk/branches/11
  5816. 2013-11-11 19:26 +0000 [r402687] Mark Michelson <mmichelson@digium.com>
  5817. * /, apps/app_confbridge.c: Get rid of some inaccurate comments.
  5818. I'm doing some unrelated work in app_confbridge and finding these
  5819. "invalid pin" comments to be annoying. Get out! ........ Merged
  5820. revisions 402686 from
  5821. http://svn.asterisk.org/svn/asterisk/branches/11
  5822. 2013-11-11 15:36 +0000 [r402647] Kinsey Moore <kmoore@digium.com>
  5823. * apps/app_queue.c, /: app_queue: Honor penalty limits of 0 In the
  5824. current app_queue code from 1.8 up to trunk the upper and lower
  5825. penalties can be set to 0 but the value is interpreted to be
  5826. disabled instead of actually setting limits. This is especially
  5827. evident if min and max limits are set to 0 and members with
  5828. penalties of 0 and 1 are in the queue since the member with
  5829. penalty 1 will still receive calls. This patch adjusts the
  5830. special disabled value to be INT_MAX instead of 0. (closes issue
  5831. ASTERISK-20862) Review: https://reviewboard.asterisk.org/r/2995/
  5832. Reported by: Schmooze Com ........ Merged revisions 402645 from
  5833. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  5834. revisions 402646 from
  5835. http://svn.asterisk.org/svn/asterisk/branches/11
  5836. 2013-11-08 23:04 +0000 [r402606] Scott Griepentrog <sgriepentrog@digium.com>
  5837. * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
  5838. keep same local (from) tag for outgoing register requests For
  5839. outbound register requests the tag on the From line was updated
  5840. every 20 seconds prior to a successful registration and also once
  5841. for each registration renewal. That behavior can possibly cause
  5842. the registration to be denied because of the different tag, and
  5843. is not aligned with the intention of RFC 3261 8.1.3.5 "...
  5844. request constitutes a new transaction and SHOULD have the same
  5845. value of the Call-ID, To, and From of the previous request...".
  5846. This updates chan_sip to have a field to keep the local tag in
  5847. the registration structure and use that tag for registration
  5848. requests where the callid is also unchanged. (closes issue
  5849. ASTERISK-12117) Reported by: Pawel Pierscionek Review:
  5850. https://reviewboard.asterisk.org/r/2988/ ........ Merged
  5851. revisions 402604 from
  5852. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  5853. revisions 402605 from
  5854. http://svn.asterisk.org/svn/asterisk/branches/11
  5855. 2013-11-08 20:20 +0000 [r402593] Richard Mudgett <rmudgett@digium.com>
  5856. * res/res_stasis.c: res_stasis.c: Fix locking issues with the
  5857. app_bridge_moh container. * Fix unlinking from the
  5858. app_bridges_moh container in remove_bridge_moh() without a lock
  5859. under normal circumstances. * Made check
  5860. ast_bridge_set_after_callback() return value in
  5861. bridge_moh_create() to handle failure. * Fixed SCOPED_AO2LOCK()
  5862. locking over too much scope in stasis_app_bridge_moh_channel()
  5863. and stasis_app_bridge_moh_stop(). * Fixed unusual usage of
  5864. ao2_unlink_flag() in control_unlink(). * Fixed orphaned bridge
  5865. from off nominal path in stasis_app_bridge_create(). * Fixed
  5866. strange construct in stasis_app_unsubscribe(). From a bad merge?
  5867. * Made load_module() cleanup on failure. Review:
  5868. https://reviewboard.asterisk.org/r/2962/
  5869. 2013-11-08 19:28 +0000 [r402584] Jonathan Rose <jrose@digium.com>
  5870. * configs/manager.conf.sample, CHANGES, include/asterisk/manager.h,
  5871. main/manager.c, main/security_events.c: security_events: Push out
  5872. security events over AMI events Security Events will now be
  5873. written to any listener of the new 'security' class Review:
  5874. https://reviewboard.asterisk.org/r/2998/
  5875. 2013-11-08 19:22 +0000 [r402582] Mark Michelson <mmichelson@digium.com>
  5876. * res/res_pjsip.c: Clarify an ambiguous error message.
  5877. 2013-11-08 18:48 +0000 [r402561-402570] David M. Lee <dlee@digium.com>
  5878. * res/res_pjsip/config_system.c: res_pjsip: Print a helpful error
  5879. message if sorcery registration fails
  5880. * res/ari/resource_playbacks.h: Changes from make ari-stubs after
  5881. r402560
  5882. 2013-11-08 17:39 +0000 [r402560] Kevin Harwell <kharwell@digium.com>
  5883. * res/ari/resource_playbacks.h (added), res/ari.make,
  5884. rest-api/api-docs/playback.json (removed),
  5885. res/ari/resource_playback.c (removed), res/res_ari_playback.c
  5886. (removed), rest-api/api-docs/playbacks.json (added),
  5887. res/ari/resource_playbacks.c (added), rest-api/resources.json,
  5888. res/ari/resource_playback.h (removed), res/res_ari_playbacks.c
  5889. (added): ARI playback: Rename ARI Playback to Playbacks Before
  5890. playback was the only non plural resource. It has been renamed to
  5891. playbacks for consistency. (closes issue ASTERISK-22737) Reported
  5892. by: Paul Belanger
  5893. 2013-11-08 17:28 +0000 [r402555] David M. Lee <dlee@digium.com>
  5894. * res/res_ari.c, main/manager.c, main/http.c: ari: Add
  5895. application/x-www-form-urlencoded parameter support ARI POST
  5896. calls only accept parameters via the URL's query string. While
  5897. this works, it's atypical for HTTP API's in general, and
  5898. specifically frowned upon with RESTful API's. This patch adds
  5899. parsing for application/x-www-form-urlencoded request bodies if
  5900. they are sent in with the request. Any variables parsed this way
  5901. are prepended to the variable list supplied by the query string.
  5902. (closes issue ASTERISK-22743) Review:
  5903. https://reviewboard.asterisk.org/r/2986/
  5904. 2013-11-07 23:16 +0000 [r402537] Jonathan Rose <jrose@digium.com>
  5905. * res/res_pjsip_authenticator_digest.c: PJSIP: Improve error
  5906. handling in digest authenticator Previously, regardless of
  5907. whether failure to authenticate was due to lacking any
  5908. authentication or actually failing authentication, the Digest
  5909. Authenticator would simply return that a challenge was still
  5910. needed. It will continue to do that when no authentication
  5911. information is in the received SIP digest, but when
  5912. authentication information is present and does not pass
  5913. authentication, that will be treated as an authentication error.
  5914. This is to ensure that PJSIP will issue security events indicated
  5915. failed auths.
  5916. 2013-11-07 21:09 +0000 [r402528] David M. Lee <dlee@digium.com>
  5917. * rest-api-templates/swagger_model.py, res/ari/resource_asterisk.h,
  5918. rest-api-templates/ari_resource.c.mustache,
  5919. rest-api-templates/asterisk_processor.py, res/res_ari_bridges.c,
  5920. rest-api/api-docs/endpoints.json, res/ari/resource_endpoints.c,
  5921. res/ari/resource_endpoints.h, res/res_ari_applications.c,
  5922. res/res_ari_playback.c, res/res_ari_channels.c,
  5923. rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
  5924. res/res_ari_recordings.c, res/ari/resource_bridges.h,
  5925. res/res_ari_events.c, res/ari/resource_applications.c,
  5926. res/ari/resource_playback.c, rest-api/api-docs/channels.json,
  5927. res/ari/resource_applications.h, res/ari/resource_channels.c,
  5928. res/ari/resource_playback.h, res/res_ari_sounds.c,
  5929. rest-api/api-docs/recordings.json, res/ari/resource_recordings.c,
  5930. res/ari/resource_channels.h,
  5931. rest-api-templates/ari_resource.h.mustache,
  5932. res/ari/resource_events.c, res/ari/resource_recordings.h,
  5933. rest-api-templates/rest_handler.mustache, res/res_ari_asterisk.c,
  5934. rest-api-templates/res_ari_resource.c.mustache,
  5935. res/ari/resource_events.h, rest-api/api-docs/sounds.json,
  5936. res/ari/resource_sounds.c, res/ari/resource_sounds.h,
  5937. rest-api/api-docs/asterisk.json,
  5938. rest-api/api-docs/applications.json, res/res_ari_endpoints.c,
  5939. res/ari/resource_asterisk.c, rest-api/api-docs/playback.json:
  5940. ari: User better nicknames for ARI operations While working on
  5941. building client libraries from the Swagger API, I noticed a
  5942. problem with the nicknames. channel.deleteChannel()
  5943. channel.answerChannel() channel.muteChannel() Etc. We put the
  5944. object name in the nickname (since we were generating C code),
  5945. but it makes OO generators redundant. This patch makes the
  5946. nicknames more OO friendly. This resulted in a lot of name
  5947. changing within the res_ari_*.so modules, but not much else.
  5948. There were a couple of other fixed I made in the process. * When
  5949. reversible operations (POST /hold, POST /unhold) were made more
  5950. RESTful (POST /hold, DELETE /unhold), the path for the second
  5951. operation was left in the API declaration. This worked, but
  5952. really the two operations should have been on the same API. * The
  5953. POST /unmute operation had still not been REST-ified. Review:
  5954. https://reviewboard.asterisk.org/r/2940/
  5955. 2013-11-06 21:57 +0000 [r402517] Kevin Harwell <kharwell@digium.com>
  5956. * apps/app_queue.c: app_queue: crash if first agent is "busy" If
  5957. the first agent/member (via CLI "queue show") in a queue is
  5958. "busy" (dnd, circuit busy, etc...) and no agents answered then
  5959. app_queue would crash. This occurred because while the calling of
  5960. agent(s) remained valid the channel on "busy" agent would be set
  5961. to NULL and then later dereferenced upon a second "rna" function
  5962. call. The original intention of the code is to have only valid
  5963. "call attempt" objects (channels != NULL) checked while
  5964. attempting to call agent(s). It does this by building a
  5965. "call_next" list of valid "call attempt" objects. In the case of
  5966. the "busy" agent subsequent builds of the valid "call attempt"
  5967. list would sometimes include (the case mentioned above) an
  5968. invalid "call attempt" object. The fix was to make sure the "call
  5969. attempt" list was appropriately built on every iteration. A NULL
  5970. sanity check was also added at the original offending spot of the
  5971. crash just in case another one slipped by somehow. (closes issue
  5972. ASTERISK-22644) Reported by: Marco Signorini Review:
  5973. https://reviewboard.asterisk.org/r/2983/
  5974. 2013-11-05 21:16 +0000 [r402501-402507] Matthew Jordan <mjordan@digium.com>
  5975. * channels/chan_sip.c: chan_sip: Use AST_AF* defined constant when
  5976. calling ast_get_ip While the structure passed to ast_get_ip
  5977. should be set memset to 0, thus initializing the ss_family member
  5978. to 0, explicitly setting it to AST_AF_UNSPEC is more portable.
  5979. * channels/chan_iax2.c: chan_iax2: Fix incorrect usage of
  5980. ast_get_ip involving uninitialized struct This started off as a
  5981. fix for the failing IAX2 acl_call test in the Asterisk Test
  5982. Suite. When inspecting why that test was failing, it became clear
  5983. that all attempts to bind to any local loopback address was
  5984. failing: [Nov 2 15:56:28] VERBOSE[15787] chan_iax2.c: == Binding
  5985. IAX2 to address 127.0.0.1:4569 [Nov 2 15:56:28] DEBUG[15787]
  5986. netsock2.c: Splitting '127.0.0.1' into... [Nov 2 15:56:28]
  5987. DEBUG[15787] netsock2.c: ...host '127.0.0.1' and port ''. [Nov 2
  5988. 15:56:28] ERROR[15787] netsock2.c: getaddrinfo("127.0.0.1",
  5989. "(null)", ...): ai_family not supported [Nov 2 15:56:28]
  5990. WARNING[15787] acl.c: Unable to lookup '127.0.0.1' While there's
  5991. conceivably other ways for getaddrino to return EAI_FAMILY, the
  5992. most common way is if AF_INET, AF_INET6, or AF_UNSPEC is not
  5993. provided as the desired family. The culprit was the call to
  5994. ast_get_ip, defined in acl.h. This function uses the family from
  5995. the passed in addr object (which it will also populate when it
  5996. returns!) when it eventually calls getaddrinfo. This patch fixes
  5997. the use of ast_get_ip that were not specifying the family in
  5998. chan_iax2. This prevents uninitialized use of the structure, so
  5999. that the addresses resolve correctly. Review:
  6000. https://reviewboard.asterisk.org/r/2991
  6001. * include/asterisk/netsock2.h, include/asterisk/acl.h: netsock2:
  6002. Define AST_AF_* enum constants to their AF_* equivalents This
  6003. patch explicitly defines AST_AF_* enum constants to their
  6004. sys/socket.h defined equivalents. It is certainly unclear why
  6005. these constants actually have to exist, given that netsock2.h
  6006. includes sys/socket.h; however, since the code base is already
  6007. liberally sprinkled with the usage of AST_AF_* (as well as with
  6008. direct calls to AF_*), this will at least keep the semantics
  6009. consistent between their usage across systems.
  6010. * main/stasis_channels.c: stasis_channels: Don't give preference to
  6011. ANI info in channel snapshots When publishing channel snapshots,
  6012. we currently compute the caller ID name and number by giving
  6013. preference first to ani.{name|number}, then to id.{name|number}.
  6014. However, when a channel driver (such as chan_sip) updates the
  6015. caller ID, it typically only updates the caller ID stored in
  6016. id.{name|number}. This means that we are currently giving
  6017. preference to stale information. When looking at the rest of the
  6018. code base, the only other place where we appear to use this same
  6019. logic is in app_amd. Everywhere else, we treat the party
  6020. information in ani as being separate to the party information in
  6021. id. This patch publishes only the caller ID name and number in
  6022. the snapshot field for caller_name and caller_num. Note that the
  6023. information in ANI is still available in caller_ani. Review:
  6024. https://reviewboard.asterisk.org/r/2992/
  6025. 2013-11-04 20:56 +0000 [r402452] Kevin Harwell <kharwell@digium.com>
  6026. * /, channels/chan_sip.c: chan_sip: notify dialog info ignores
  6027. presentation indicator in callerid The presentation indicator in
  6028. a callerid (e.g. set by dialplan function
  6029. Set(CALLERID(name-pres)= ...)) is not checked when SIP Dialog
  6030. Info Notifies are generated during extension monitoring. Added a
  6031. check to make sure the name and/or number presentations on the
  6032. callee (remote identity) are set to allow. If they are restricted
  6033. then "anonymous" is used instead. (closes issue AST-1175)
  6034. Reported by: Thomas Arimont Review:
  6035. https://reviewboard.asterisk.org/r/2976/ ........ Merged
  6036. revisions 402450 from
  6037. http://svn.asterisk.org/svn/asterisk/branches/11
  6038. 2013-11-02 04:30 +0000 [r402398-402438] Richard Mudgett <rmudgett@digium.com>
  6039. * main/stasis.c, main/stasis_message_router.c,
  6040. include/asterisk/vector.h: vector: Uppercase API to follow C
  6041. convention. C does not support templates like C++.
  6042. * main/stasis.c, main/stasis_message_router.c,
  6043. include/asterisk/vector.h, include/asterisk/lock.h: vector:
  6044. Update API to be more flexible. Made the vector macro API be more
  6045. like linked lists. 1) Added a name parameter to ast_vector() to
  6046. name the vector struct. 2) Made the API take a pointer to the
  6047. vector struct instead of the struct itself. 3) Added an element
  6048. cleanup macro/function parameter when removing an element from
  6049. the vector for ast_vector_remove_cmp_unordered() and
  6050. ast_vector_remove_elem_unordered(). 4) Added
  6051. ast_vector_get_addr() in case the vector element is not a simple
  6052. pointer. * Converted an inline vector usage in
  6053. stasis_message_router to use the vector API. It needed the API
  6054. improvements so it could be converted. * Fixed topic reference
  6055. leak in router_dtor() when the stasis_message_router is
  6056. destroyed. * Fixed deadlock potential in stasis_forward_all() and
  6057. stasis_forward_cancel(). Locking two topics at the same time
  6058. requires deadlock avoidance. * Made internal_stasis_subscribe()
  6059. tolerant of a NULL topic. * Made stasis_message_router_add(),
  6060. stasis_message_router_add_cache_update(),
  6061. stasis_message_router_remove(), and
  6062. stasis_message_router_remove_cache_update() tolerant of a NULL
  6063. message_type. * Promoted a LOG_DEBUG message to LOG_ERROR as
  6064. intended in dispatch_message(). Review:
  6065. https://reviewboard.asterisk.org/r/2903/
  6066. * apps/confbridge/conf_state_single.c,
  6067. apps/confbridge/conf_state_inactive.c,
  6068. apps/confbridge/conf_state_single_marked.c, /,
  6069. apps/confbridge/include/confbridge.h,
  6070. apps/confbridge/conf_state_multi.c, apps/app_confbridge.c,
  6071. apps/confbridge/conf_state_multi_marked.c,
  6072. apps/confbridge/conf_state.c: confbridge: Separate user muting
  6073. from system muting overrides. The system overrides the user
  6074. muting requests when MOH is playing or a waitmarked user is
  6075. waiting for a marked user to join. System muting overrides
  6076. interfere with what the user may wish the muting to be when the
  6077. system override ends. * User muting requests are now independent
  6078. of the system muting overrides. The effective muting is now the
  6079. logical or of the user request and system override. * Added a
  6080. Muted flag to the CLI "confbridge list <conference>" command. *
  6081. Added a Muted header to the AMI ConfbridgeList action
  6082. ConfbridgeList event. (closes issue AST-1102) Reported by: John
  6083. Bigelow Review: https://reviewboard.asterisk.org/r/2960/ ........
  6084. Merged revisions 402425 from
  6085. http://svn.asterisk.org/svn/asterisk/branches/11
  6086. * /, main/config.c, apps/confbridge/conf_config_parser.c,
  6087. configs/confbridge.conf.sample: config: Allow ConfBridge DTMF
  6088. menus to have '#' as the first digit. ConfBridge allows custom
  6089. DTMF menus to be created in the confbridge.conf file by assigning
  6090. a DTMF key sequence to a sequence of actions as follows:
  6091. DTMF-sequence = action,action... Unfortunately, the normal config
  6092. file processing code interprets an initial '#' character as
  6093. starting a directive such as #include. * Add the ability to
  6094. escape the first non-blank character in a config line so the '#'
  6095. character can be used without triggering the directive processing
  6096. code. (closes issue AFS-2) (closes issue ASTERISK-22478) Reported
  6097. by: Nicolas Tanski Patches: jira_asterisk_22478_v11.patch
  6098. (license #5621) patch uploaded by rmudgett (modified) Review:
  6099. https://reviewboard.asterisk.org/r/2969/ ........ Merged
  6100. revisions 402407 from
  6101. http://svn.asterisk.org/svn/asterisk/branches/11
  6102. * main/app.c, include/asterisk/app.h: voicemail: Simplify callback
  6103. pointer declarations and add doxygen. * Typedefed and added
  6104. doxegen for the voicemail callback functions. * Simplified the
  6105. prototypes for ast_install_vm_functions() and
  6106. ast_install_vm_test_functions() to use the new function typedefs.
  6107. * Simplified the voicemail callback function pointer variable
  6108. declarations to use the new function typedefs.
  6109. 2013-11-01 21:49 +0000 [r402387] Scott Griepentrog <sgriepentrog@digium.com>
  6110. * main/bridge.c, include/asterisk/bridge.h, main/manager_bridges.c:
  6111. Manager: Add equivalent AMI actions for the bridge CLI commands.
  6112. Adds the following AMI events, closely following their CLI
  6113. counterparts: BridgeDestroy BridgeKick BridgeTechnologyList
  6114. BridgeTechnologySuspend BridgeTechnologyUnsuspend BridgeDestroy
  6115. kicks an entire bridge, where BridgeKick kicks just one channel
  6116. off the bridge. When kicking a channel, specifying the bridge
  6117. also (optional) insures it is not removed from the wrong bridge.
  6118. The BridgeTechnology events allow viewing and changing suspension
  6119. status, which affects only subsequent not active bridging.
  6120. (closes ASTERISK-22356) Reported by: Richard Mudgett Review:
  6121. https://reviewboard.asterisk.org/r/2973/
  6122. 2013-11-01 16:31 +0000 [r402367] David M. Lee <dlee@digium.com>
  6123. * rest-api-templates/api.wiki.mustache: ari wiki docs: add notes
  6124. about allowMultiple parameters. This patch adds a note to any
  6125. parameter that has 'allowMultiple' set in the Swagger
  6126. documentation. (closes issue ASTERISK-22704)
  6127. 2013-11-01 14:37 +0000 [r402358] Joshua Colp <jcolp@digium.com>
  6128. * include/asterisk/stasis_app.h, rest-api/api-docs/channels.json,
  6129. res/ari/resource_channels.c, res/res_ari_channels.c,
  6130. res/ari/resource_channels.h, res/res_stasis_playback.c,
  6131. res/stasis/control.c: res_ari_channels: Add ring operation, dtmf
  6132. operation, hangup reasons, and tweak early media. The ring
  6133. operation sends ringing to the specified channel it is invoked
  6134. on. The dtmf operation can be used to send DTMF digits to the
  6135. specified channel of a specific length with a wait time in
  6136. between. Finally hangup reasons allow you to specify why a
  6137. channel is being hung up (busy, congestion). Early media behavior
  6138. has also been tweaked slightly. When playing media to a channel
  6139. it will no longer automatically answer. If it has not been
  6140. answered a progress indication is sent instead. (closes issue
  6141. ASTERISK-22701) Reported by: Matt Jordan Review:
  6142. https://reviewboard.asterisk.org/r/2916/
  6143. 2013-11-01 12:38 +0000 [r402348] Kinsey Moore <kmoore@digium.com>
  6144. * include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c, /,
  6145. channels/chan_sip.c: chan_sip: Fix RTCP port for SRFLX ICE
  6146. candidates This corrects one-way audio between Asterisk and
  6147. Chrome/jssip as a result of Asterisk inserting the incorrect RTCP
  6148. port into RTCP SRFLX ICE candidates. This also exposes an ICE
  6149. component enumeration to extract further details from candidates.
  6150. (closes issue ASTERISK-21383) Reported by: Shaun Clark Review:
  6151. https://reviewboard.asterisk.org/r/2967/ ........ Merged
  6152. revisions 402345 from
  6153. http://svn.asterisk.org/svn/asterisk/branches/11
  6154. 2013-11-01 12:31 +0000 [r402336-402346] Joshua Colp <jcolp@digium.com>
  6155. * include/asterisk/stasis_app.h, res/ari/resource_channels.c:
  6156. res_ari_channels: Fix a deadlock when originating multiple
  6157. channels close to eachother. If a Stasis application is specified
  6158. an implicit subscription is done on the originated channel. This
  6159. was previously done with the channel lock held which is dangerous
  6160. as the underlying code locks the container and iterates items.
  6161. This change releases the lock on the originated channel before
  6162. subscribing occurs. (closes issue ASTERISK-22768) Reported by:
  6163. Matt Jordan Review: https://reviewboard.asterisk.org/r/2979/
  6164. * res/stasis/control.c: res_stasis: Ensure the channel is always
  6165. departed from the bridge when it leaves. This change adds a
  6166. command to the command queue to explicitly depart the channel
  6167. from the bridge when it is told it has left. If the channel has
  6168. already been departed or has entered a different bridge this
  6169. command will become a no-op. (closes issue ASTERISK-22703)
  6170. Reported by: John Bigelow (closes issue ASTERISK-22634) Reported
  6171. by: Kevin Harwell Review:
  6172. https://reviewboard.asterisk.org/r/2965/
  6173. 2013-10-31 22:08 +0000 [r402327] Mark Michelson <mmichelson@digium.com>
  6174. * contrib/scripts/sip_to_res_sip (removed),
  6175. contrib/scripts/sip_to_pjsip (added),
  6176. contrib/scripts/sip_to_pjsip/astconfigparser.py,
  6177. contrib/scripts/sip_to_pjsip/astdicts.py,
  6178. contrib/scripts/sip_to_pjsip/sip_to_pjsip.py: Update the
  6179. conversion script from sip.conf to pjsip.conf (closes issue
  6180. ASTERISK-22374) Reported by Matt Jordan Review:
  6181. https://reviewboard.asterisk.org/r/2846
  6182. 2013-10-31 16:04 +0000 [r402285-402289] Matthew Jordan <mjordan@digium.com>
  6183. * main/loader.c, /: core/loader: Don't call dlclose in a while loop
  6184. For awhile now, we've noticed continuous integration builds
  6185. hanging on CentOS 6 64-bit build agents. After resolving a number
  6186. of problems with symbols, strange locks, and other shenanigans,
  6187. the problem has persisted. In all cases, gdb shows the Asterisk
  6188. process stuck in loader.c on one of the infinite while loops that
  6189. calls dlclose repeatedly until success. The documentation of
  6190. dlclose states that it returns 0 on success; any other value on
  6191. error. It does not state that repeatedly calling it will
  6192. eventually clear those errors. Most likely, the repeated calls to
  6193. dlclose was to force a close by exhausting the references on the
  6194. library; however, that will never succeed if: (a) There is some
  6195. fundamental error at work in the loaded library that precludes
  6196. unloading it (b) Some other loaded module is referencing a symbol
  6197. in the currently loaded module This results in Asterisk sitting
  6198. forever. Since we have matching pairs of dlopen/dlclose, this
  6199. patch opts to only call dlclose once, and log out as an ERROR if
  6200. dlclose fails to return success. If nothing else, this might help
  6201. to determine why on the CentOS 6 64-bit build agent things are
  6202. not closing successfully. Review:
  6203. https://reviewboard.asterisk.org/r/2970 ........ Merged revisions
  6204. 402287 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  6205. ........ Merged revisions 402288 from
  6206. http://svn.asterisk.org/svn/asterisk/branches/11
  6207. * main/media_index.c: medix_index: Display errors when library
  6208. calls fail Based on feedback from ipengineer in #asterisk, when
  6209. the media indexer cannot access a sound file on the system (or
  6210. otherwise fails) Asterisk displays a "Cannot frob file" error but
  6211. fails to tell you why. This is especially problematic as the
  6212. media_indexer failing will rpevent Asterisk from starting, as it
  6213. is in the core. We now display the errno error messages so folks
  6214. can figure out what they've done wrong.
  6215. 2013-10-31 14:43 +0000 [r402276] David M. Lee <dlee@digium.com>
  6216. * res/stasis/app.c: stasis: add functions embarrassingly missing
  6217. from r400522 I neglected to implement two of the endpoint
  6218. subscription functions when I did the work. Normally, you'll only
  6219. hit that when you unsubscribe from a specific endpoint.
  6220. 2013-10-30 17:52 +0000 [r402265] Kevin Harwell <kharwell@digium.com>
  6221. * res/res_pjsip_messaging.c, channels/chan_pjsip.c:
  6222. pjsip_messaging: Added debug for in dialog messaging (issue
  6223. ASTERISK-22777) Reported by: Matt Jordan
  6224. 2013-10-29 23:43 +0000 [r402226] Rusty Newton <rnewton@digium.com>
  6225. * sounds/Makefile, /: Updates for 1.4.25 core sounds and 1.4.14
  6226. extra sounds, plus new en_GB language set The new sound packages
  6227. relate to issues: ASTERISK-22544, ASTERISK-22411, ASTERISK-21413,
  6228. ASTERISK-20782 Modified sounds/Makefile for the new sound
  6229. versions and to account for the new en_GB language set. (issue
  6230. ASTERISK-22659) (closes issue ASTERISK-22659) (closes issue
  6231. ASTERISK-22411) (closes issue ASTERISK-22544) ........ Merged
  6232. revisions 402224 from
  6233. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6234. revisions 402225 from
  6235. http://svn.asterisk.org/svn/asterisk/branches/11
  6236. 2013-10-29 12:53 +0000 [r402154] Matthew Jordan <mjordan@digium.com>
  6237. * /, main/translate.c, main/xmldoc.c, main/channel.c, main/pbx.c:
  6238. Remove some spammy debug messages; improve clarity of others
  6239. Debug messages aren't free. Even when the debug level is
  6240. sufficiently low such that the messages are never evaluated,
  6241. there is a cost to having to parse Asterisk logs that contain
  6242. debug messages that (a) fail to convey sufficient information or
  6243. (b) occur so frequently as to be next to meaningless. Based on
  6244. having to stare at lots of DEBUG messages, this patch makes the
  6245. following changes: * channel.c: When copying variables from a
  6246. parent channel to a child channel, specify the channels involved.
  6247. Do not log anything for a variable that is not inherited; the
  6248. fact that it doesn't have an _ or __ already signifies that it
  6249. won't be inherited. * pbx.c: Specify what function evaluation has
  6250. occurred that created the result. * translate.c: Bump up the
  6251. translator path messages to 10. I've never once had to use these
  6252. debug messages, and for each format that is registered (on
  6253. startup) and unregistered (on shutdown) the entire f^2 matrix is
  6254. logged out. For short tests in the Asterisk Test Suite, this
  6255. should make finding the actual test much easier. * xmldoc.c: The
  6256. debug message that 'blah' is not found in the tree is expected.
  6257. Often, description elements - which are not required - are not
  6258. provided. This debug message adds no additional value, as it is
  6259. not indicative of an error or helpful in debugging which element
  6260. did not contain a 'blah' element as a child. If an element is
  6261. supposed to contain a child element, then that XML tree should
  6262. have failed validation in the first place. Review:
  6263. https://reviewboard.asterisk.org/r/2966/ ........ Merged
  6264. revisions 402150 from
  6265. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6266. revisions 402151 from
  6267. http://svn.asterisk.org/svn/asterisk/branches/11
  6268. 2013-10-29 12:51 +0000 [r402148-402152] Kinsey Moore <kmoore@digium.com>
  6269. * res/ari/resource_channels.h, rest-api/api-docs/channels.json,
  6270. res/ari/resource_channels.c, res/res_ari_channels.c: ARI: Remove
  6271. channels/{channelId}/dial This removes the
  6272. /ari/channels/{channelId}/dial URI since it is redundant, overly
  6273. complex, is likely to become more externally complex over time,
  6274. and is too high-level compared with other ARI operations. See the
  6275. following for further information:
  6276. http://lists.digium.com/pipermail/asterisk-app-dev/2013-October/000002.html
  6277. (closes issue ASTERISK-22784) Reported by: Matt Jordan Review:
  6278. https://reviewboard.asterisk.org/r/2968/
  6279. * bridges/bridge_native_rtp.c: bridge_native_rtp: Ensure bridge is
  6280. torn down When a bridge transitions away from one tech to
  6281. another, the tech going away is provided a dummy bridge with no
  6282. channels in it to tear down. Currently this means that the
  6283. teardown code exits prematurely and does not tear anything down.
  6284. This change tears down RTP bridging for the channel provided in
  6285. the leave bridge tech callback. This also reverts the majority of
  6286. r400403 since it is now redundant. (closes issue ASTERISK-22628)
  6287. (closes issue ASTERISK-22676) Reported by: John Bigelow Reported
  6288. by: Kevin Harwell Tested by: John Bigelow Review:
  6289. https://reviewboard.asterisk.org/r/2905/ Patches:
  6290. native_rtp_fix.diff uploaded by Kinsey Moore (License 6273)
  6291. 2013-10-29 11:15 +0000 [r402139] Joshua Colp <jcolp@digium.com>
  6292. * res/res_ari_playback.c, rest-api/api-docs/playback.json:
  6293. res_ari_playback: Add missing 404 error response for GET and
  6294. DELETE. (closes issue ASTERISK-22722) Reported by: Richard
  6295. Mudgett
  6296. 2013-10-28 21:30 +0000 [r402127] David M. Lee <dlee@digium.com>
  6297. * doc: Ignore full docs
  6298. 2013-10-28 15:05 +0000 [r402112-402115] Michael L. Young <elgueromexicano@gmail.com>
  6299. * UPGRADE-11.txt, UPGRADE.txt: Fix UPGRADE.txt Due To Merging From
  6300. Branch 11 When merging in the patch for ASTERISK-22728, the
  6301. UPGRADE.txt file was changed incorrectly. That change should have
  6302. gone into ASTERISK-11.txt. This commit is to fix that. Also,
  6303. another comment in the UPGRADE-11.txt was missing and this commit
  6304. adds that as well.
  6305. * UPGRADE.txt, /, channels/chan_sip.c: chan_sip: Clarify
  6306. 'Forcerport' Setting Displayed When Running "sip show peers"
  6307. While looking at ASTERISK-22236, Walter Doekes pointed out that
  6308. when running "sip show peers", the setting being displayed can be
  6309. confusing. The display of "N" used to mean NAT (i.e. yes). The
  6310. NAT setting has gone through many different changes resulting in
  6311. the display of different characters to try and convey what the
  6312. current setting is for 'Forcerport' (A for Auto and Forcerport is
  6313. currently on, a for Auto but Forcerport is off, Y for yes, and N
  6314. for no). During the initial code review to try and clarify these
  6315. settings (especially since "N" no longer meant what it used to
  6316. mean in prior versions of Asterisk), Mark Michelson suggested
  6317. using the full space available to display the settings which
  6318. helped to make the settings very clear. That was a great
  6319. suggestion. Therefore, this patch does the following: * The
  6320. column for 'Forcerport' now will show: Auto (Yes), Auto (No),
  6321. Yes, or No. * A column for the 'Comedia' setting has been added.
  6322. It too will display the setting in a non-cryptic way: Auto (Yes),
  6323. Auto (No), Yes, or No. * UPGRADE.txt has been updated to document
  6324. this change. (closes issue ASTERISK-22728) Reported by: Walter
  6325. Doekes Tested by: Michael L. Young Patches:
  6326. asterisk-forcerport-display-clarification_v3.diff uploaded by
  6327. Michael L. Young (license 5026) Review:
  6328. https://reviewboard.asterisk.org/r/2941 ........ Merged revisions
  6329. 402111 from http://svn.asterisk.org/svn/asterisk/branches/11
  6330. 2013-10-27 23:22 +0000 [r402081-402090] Matthew Jordan <mjordan@digium.com>
  6331. * main/cdr.c: Filter out internal channels from dial message
  6332. handling Surrogate channels would pop up from time to time in
  6333. dial message handling. This would cause a WARNING message to
  6334. appear, indicating that the Surrogate channel had no CDR. This
  6335. patch filters out those channels that have the internal
  6336. implementation flag set, such that the WARNING message isn't
  6337. displayed.
  6338. * main/cdr.c, cdr/cdr_sqlite3_custom.c, cdr/cdr_syslog.c,
  6339. cdr/cdr_sqlite.c, UPGRADE.txt, cdr/cdr_adaptive_odbc.c,
  6340. addons/cdr_mysql.c, include/asterisk/cdr.h, cdr/cdr_pgsql.c,
  6341. cdr/cdr_odbc.c, cdr/cdr_radius.c, cdr/cdr_custom.c,
  6342. cdr/cdr_manager.c, cdr/cdr_tds.c, cdr/cdr_csv.c: Prevent CDR
  6343. backends from unregistering while billing data is in flight This
  6344. patch makes it so that CDR backends cannot be unregistered while
  6345. active CDR records exist. This helps to prevent billing data from
  6346. being lost during restarts and shutdowns. Review:
  6347. https://reviewboard.asterisk.org/r/2880/
  6348. 2013-10-26 12:55 +0000 [r402064] Joshua Colp <jcolp@digium.com>
  6349. * include/asterisk/res_pjsip_session.h, channels/chan_pjsip.c:
  6350. chan_pjsip: Fix a crash when direct media is enabled and an ACK
  6351. is received after the channel is hung up. (closes issue
  6352. ASTERISK-22731) Reported by: Kinsey Moore
  6353. 2013-10-26 00:34 +0000 [r402044-402055] Richard Mudgett <rmudgett@digium.com>
  6354. * res/res_stasis.c: res_stasis.c: Made use the ao2_container
  6355. callback templates. * Made res_stasis.c use the OBJ_SEARCH_XXX
  6356. defines.
  6357. * main/taskprocessor.c: taskprocessor: Made use pthread_equal() to
  6358. compare thread ids. * Removed another silly use of RAII_VAR().
  6359. RAII_VAR() and SCOPED_LOCK() are not silver bullets that allow
  6360. you to turn off your brain.
  6361. 2013-10-25 23:48 +0000 [r402043] Scott Griepentrog <sgriepentrog@digium.com>
  6362. * include/asterisk/rtp_engine.h, main/rtp_engine.c, /: rtp_engine:
  6363. fix rtp payloads copy and improve argument names In function
  6364. ast_rtp_instance_early _bridge_make_compatible the use of
  6365. instance 0/1 as arguments doesn't clearly communicate a direction
  6366. that the copying of payloads from the source channel to the
  6367. destination channel will occur, making it more probable to have
  6368. the arguments to ast_rtp_codecs_payloads_copy() put in the
  6369. reverse order. This patch renames the arguments with _dst and
  6370. _src suffixes and corrects the copy direction. (closes issue
  6371. ASTERISK-21464) Reported by: Kevin Stewart Review:
  6372. https://reviewboard.asterisk.org/r/2894/ ........ Merged
  6373. revisions 402000 from
  6374. http://svn.asterisk.org/svn/asterisk/branches/1.8 Test shows
  6375. rtpmap:119 being copied per this change, but is not in sip invite
  6376. ........ Merged revisions 402042 from
  6377. http://svn.asterisk.org/svn/asterisk/branches/11
  6378. 2013-10-25 22:02 +0000 [r402003] Richard Mudgett <rmudgett@digium.com>
  6379. * res/stasis/app.c: You'd think that new files would be free of
  6380. whitespace issues. But you would be wrong.
  6381. 2013-10-25 21:53 +0000 [r401973-402001] Jonathan Rose <jrose@digium.com>
  6382. * rest-api/api-docs/channels.json, res/ari/resource_channels.c,
  6383. res/res_ari_channels.c, rest-api/api-docs/bridges.json,
  6384. res/ari/resource_bridges.c, res/res_ari_bridges.c: ARI:
  6385. channel/bridge recording errors when invalid format specified
  6386. Asterisk will now issue 422 if recording is requested against
  6387. channels or bridges with an unknown format (closes issue
  6388. ASTERISK-22626) Reported by: Joshua Colp Review:
  6389. https://reviewboard.asterisk.org/r/2939/
  6390. * res/res_ari_channels.c, rest-api/api-docs/bridges.json,
  6391. rest-api/api-docs/recordings.json, res/ari/resource_bridges.c,
  6392. res/ari/ari_model_validators.h, res/res_ari_bridges.c,
  6393. rest-api/api-docs/events.json, res/res_stasis_recording.c,
  6394. rest-api/api-docs/channels.json, res/ari/resource_channels.c,
  6395. res/ari/ari_model_validators.c: ARI recordings: Issue HTTP
  6396. failures for recording requests with file conflicts If a file
  6397. already exists in the recordings directory with the same name as
  6398. what we would record, issue a 422 instead of relying on the
  6399. internal failure and issuing success. (closes issue
  6400. ASTERISK-22623) Reported by: Joshua Colp Review:
  6401. https://reviewboard.asterisk.org/r/2922/
  6402. 2013-10-25 20:47 +0000 [r401961] Scott Griepentrog <sgriepentrog@digium.com>
  6403. * include/asterisk/pbx.h, main/pbx.c, /: pbx.c: fix confused match
  6404. caller id that deleted exten still in hash This fixes a bug where
  6405. a zero length callerid match adjacent to a no match callerid
  6406. extension entry would be deleted together, which then resulted in
  6407. hashtable references to free'd memory. A third state of the
  6408. matchcid value has been added to indicate match to any extension
  6409. which allows enforcing comparison of matchcid on/off without
  6410. errors. (closes issue AST-1235) Reported by: Guenther Kelleter
  6411. Review: https://reviewboard.asterisk.org/r/2930/ ........ Merged
  6412. revisions 401959 from
  6413. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6414. revisions 401960 from
  6415. http://svn.asterisk.org/svn/asterisk/branches/11
  6416. 2013-10-25 17:34 +0000 [r401897-401938] Jonathan Rose <jrose@digium.com>
  6417. * res/res_pjsip/pjsip_distributor.c,
  6418. res/res_pjsip_endpoint_identifier_user.c: PJSIP: Add log messages
  6419. when requests are received for non-existent endpoints (closes
  6420. issue ASTERISK-22552) Reported by: Rusty Newton Review:
  6421. https://reviewboard.asterisk.org/r/2934/
  6422. * utils/clicompat.c, utils/refcounter.c, /: Put clicompat-r2.patch
  6423. back in We've figured out how to resolve the problems this was
  6424. causing in 12/trunk, so this can go back in now. (issue
  6425. ASTERISK-22467) Reported by: Corey Farrell Patches:
  6426. clicompat-r2.patch uploaded by coreyfarrell (license 5909)
  6427. ........ Merged revisions 401914 from
  6428. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6429. revisions 401935 from
  6430. http://svn.asterisk.org/svn/asterisk/branches/11
  6431. * /, utils/clicompat.c: revert clicompat-r2.patch from r401704
  6432. Patch caused the following build errors against testsuite
  6433. https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD4-244
  6434. (issue ASTERISK-22467) Reported by: Corey Farrell ........ Merged
  6435. revisions 401895 from
  6436. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6437. revisions 401896 from
  6438. http://svn.asterisk.org/svn/asterisk/branches/11
  6439. 2013-10-25 16:07 +0000 [r401885] Kevin Harwell <kharwell@digium.com>
  6440. * /, channels/chan_sip.c: chan_sip: Allow a sip peer to accept both
  6441. AVP and AVPF calls Adapts the behaviour of avpf to only impact
  6442. the format of outgoing calls. For inbound calls, both AVP and
  6443. AVPF calls will be accepted regardless of the value of avpf in
  6444. the configuration. (closes issue ASTERISK-22005) Reported by:
  6445. Torrey Searle Patches: optional_avpf_trunk.patch uploaded by
  6446. tsearle (license 5334) ........ Merged revisions 401884 from
  6447. http://svn.asterisk.org/svn/asterisk/branches/11
  6448. 2013-10-25 13:48 +0000 [r401872] David M. Lee <dlee@digium.com>
  6449. * tests/test_json.c: test_json: Fix deprecation warnings After a
  6450. series of upgrades over recent weeks, I've discovered that
  6451. test_json.c won't compile in dev mode any more for me. One of
  6452. gcc-4.8.2, OS X Mavericks or Xcode 5 has decided to deprecate
  6453. tempnam. Which, in general, is a good thing. But for test code
  6454. that just needs a temporary file, it's just annoying. This patch
  6455. replaces usage of tempname with mkstemp, avoiding the deprecation
  6456. warning. It also removes the temporary files when the test is
  6457. complete, which apparently we weren't doing before (oops).
  6458. Review: https://reviewboard.asterisk.org/r/2957/
  6459. 2013-10-24 20:56 +0000 [r401835] Kevin Harwell <kharwell@digium.com>
  6460. * /, main/logger.c: Logging: Logging types ignored after specifying
  6461. a verbose level If one specified a verbose level within a logging
  6462. facility in logger.conf then any component after it was ignored.
  6463. Fixed so all values are correctly read. (closes issue
  6464. ASTERISK-22456) Reported by: Kevin Harwell ........ Merged
  6465. revisions 401833 from
  6466. http://svn.asterisk.org/svn/asterisk/branches/11
  6467. 2013-10-24 20:34 +0000 [r401706-401831] Jonathan Rose <jrose@digium.com>
  6468. * main/utils.c, /: utils: Fix memory leaks and missed
  6469. unregistration of CLI commands on shutdown Final set of patches
  6470. in a series of memory leak/cleanup patches by Corey Farrell
  6471. (closes issue ASTERISK-22467) Reported by: Corey Farrell Patches:
  6472. main-utils-1.8.patch uploaded by coreyfarrell (license 5909)
  6473. main-utils-11.patch uploaded by coreyfarrell (license 5909)
  6474. main-utils-12up.patch uploaded by coreyfarrell (license 5909)
  6475. ........ Merged revisions 401829 from
  6476. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6477. revisions 401830 from
  6478. http://svn.asterisk.org/svn/asterisk/branches/11
  6479. * tests/test_linkedlists.c, /: test_linkedlists: Fix memory leak
  6480. (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
  6481. test_linkedlists-1.8.patch uploaded by coreyfarrell (license
  6482. 5909) test_linkedlists-11up.patch uploaded by coreyfarrell
  6483. (license 5909) ........ Merged revisions 401790 from
  6484. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6485. revisions 401791 from
  6486. http://svn.asterisk.org/svn/asterisk/branches/11
  6487. * /, main/jitterbuf.c: jitterbuf: Fix memory leak on jitter buffer
  6488. reset (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
  6489. jitterbuf-jb_reset-leak-1.8.patch
  6490. jitterbuf-jb_reset-leak-11up.patch ........ Merged revisions
  6491. 401786 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  6492. ........ Merged revisions 401787 from
  6493. http://svn.asterisk.org/svn/asterisk/branches/11
  6494. * /, main/astobj2.c: astobj2: Unregister debug CLI commands at exit
  6495. (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
  6496. astobj2-clean-debug-cli-1.8-11.patch uploaded by coreyfarrell
  6497. (license 5909) astobj2-clean-debug-cli-12up.patch uploaded by
  6498. coreyfarrell (license 5909) ........ Merged revisions 401781 from
  6499. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6500. revisions 401783 from
  6501. http://svn.asterisk.org/svn/asterisk/branches/11
  6502. * apps/app_voicemail.c, /: app_voicemail: Memory Leaks against
  6503. tests (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
  6504. app_voicemail-1.8.patch uploaded by coreyfarrell (license 5909)
  6505. app_voicemail-11up.patch uploaded by coreyfarrell (license 5909)
  6506. ........ Merged revisions 401743 from
  6507. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6508. revisions 401744 from
  6509. http://svn.asterisk.org/svn/asterisk/branches/11
  6510. * main/app.c, main/asterisk.c, utils/clicompat.c,
  6511. channels/chan_dahdi.c, codecs/ilbc/doCPLC.c, main/data.c, /:
  6512. memory leaks: Memory leak cleanup patch by Corey Farrell (second
  6513. set) Also covers ast_app_parse_timelen-fail-zero-length.patch,
  6514. but the patch was replaced with one of my own. (issue
  6515. ASTERISK-22467) Reported by: Corey Farrell Patches:
  6516. chan_dahdi-cleanup_push.patch uploaded by coreyfarrell (license
  6517. 5909) clicompat-r2.patch uploaded by coreyfarrell (license 5909)
  6518. codecs-ilbc-doCPLC.patch uploaded by coreyfarrell (license 5909)
  6519. data-cleanup-test-registration.patch uploaded by coreyfarrell
  6520. (license 5909) main-asterisk-kill-listener.patch uploaded by
  6521. coreyfarrell (license 5909) ........ Merged revisions 401704 from
  6522. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6523. revisions 401705 from
  6524. http://svn.asterisk.org/svn/asterisk/branches/11
  6525. 2013-10-24 03:12 +0000 [r401701] David M. Lee <dlee@digium.com>
  6526. * rest-api-templates/ari_model_validators.c.mustache,
  6527. rest-api-templates/models.wiki.mustache,
  6528. rest-api/api-docs/events.json,
  6529. rest-api-templates/swagger_model.py: The Swagger 1.2
  6530. specification for type extension ended up being slightly
  6531. different than my proposal. Instead of putting an 'extends' field
  6532. on the subtype, the base type has a 'subTypes' field, which is a
  6533. list of the subTypes. Given that its a messaging model and not an
  6534. object model, kinda makes sense. This patch changes the
  6535. events.json api-doc, and the python translators to take the new
  6536. format into account. Other changes that are in Swagger 1.2 were
  6537. not adopted, since the spec is still in flux, and could change
  6538. before it's finalized. A summary of changes to the Swagger-1.2
  6539. spec can be found at
  6540. https://github.com/wordnik/swagger-core/wiki/1.2-transition.
  6541. (closes issue ASTERISK-22440) Review:
  6542. https://reviewboard.asterisk.org/r/2909/
  6543. 2013-10-23 20:02 +0000 [r401621-401662] Jonathan Rose <jrose@digium.com>
  6544. * /, tests/test_dlinklists.c, funcs/func_math.c,
  6545. channels/sip/reqresp_parser.c, main/test.c,
  6546. main/editline/readline.c: memory leaks: Memory leak cleanup patch
  6547. by Corey Farrell (first set) (issue ASTERSIK-22467) Reported by:
  6548. Corey Farrell Patches:
  6549. chan_sip-parse_contact_header_test-free-contacts.patch uploaded
  6550. by coreyfarrell (license 5909) cli-filename-completion-leak.patch
  6551. uploaded by coreyfarrell (license 5909) func_math.patch uploaded
  6552. by corefarrell (license 5909) main-test-cleanup.patch uploaded by
  6553. coreyfarrell (license 5909) test_dlinklists.patch uploaded by
  6554. coreyfarrell (license 5909) ........ Merged revisions 401660 from
  6555. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6556. revisions 401661 from
  6557. http://svn.asterisk.org/svn/asterisk/branches/11
  6558. * res/res_rtp_asterisk.c, /, main/translate.c: res_rtp_asterisk:
  6559. Address jittery DTMF events in RTP streams (closes issue
  6560. ASTERISK-21170) Reported by: NITESH BANSAL Patches:
  6561. dtmf-timestamp.patch uploaded by NITESH BANSAL (license 6418)
  6562. Review: https://reviewboard.asterisk.org/r/2938/ ........ Merged
  6563. revisions 401619 from
  6564. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6565. revisions 401620 from
  6566. http://svn.asterisk.org/svn/asterisk/branches/11
  6567. 2013-10-23 16:49 +0000 [r401581] Richard Mudgett <rmudgett@digium.com>
  6568. * cdr/cdr_adaptive_odbc.c, /: cdr_adaptive_odbc: Also apply a
  6569. filter when the CDR value is empty. Extra CDR records are written
  6570. if a filtered CDR value is empty because the filter is not
  6571. checked. (closes issue ASTERISK-22272) Reported by: Jordi Llull
  6572. Chavarria ........ Merged revisions 401577 from
  6573. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6574. revisions 401579 from
  6575. http://svn.asterisk.org/svn/asterisk/branches/11
  6576. 2013-10-23 16:37 +0000 [r401578] John Bigelow <jbigelow@digium.com>
  6577. * main/bridge_channel.c: Add a test suite event to indicate when
  6578. the atxfer 3-way feature is detected This adds a test suite event
  6579. that indicates to tests when the attended transfer three-way call
  6580. feature is detected. Review:
  6581. https://reviewboard.asterisk.org/r/2912/
  6582. 2013-10-23 15:23 +0000 [r401539] Kinsey Moore <kmoore@digium.com>
  6583. * channels/chan_mgcp.c, /: chan_mgcp: Properly handle malformed
  6584. media lines This corrects a situation in which a media line was
  6585. not parsed properly and resulted in a crash. (closes issue
  6586. ASTERISK-21190) Reported by: adomjan Patches:
  6587. chan_mgcp.c-sscnaf_fix uploaded by adomjan (License 5448)
  6588. ........ Merged revisions 401537 from
  6589. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6590. revisions 401538 from
  6591. http://svn.asterisk.org/svn/asterisk/branches/11
  6592. 2013-10-23 11:14 +0000 [r401499] Joshua Colp <jcolp@digium.com>
  6593. * /, channels/chan_sip.c: chan_sip: Fix an issue where an
  6594. incompatible audio format may be added to SDP. If preferred
  6595. codecs included any non-audio format the code would mistakenly
  6596. add the audio format, even if it was not a joint capability with
  6597. the remote side. (closes issue ASTERISK-21131) Reported by:
  6598. nbougues Patches: patch_unsupported_codec_1.8.patch uploaded by
  6599. nbougues (license 6470) ........ Merged revisions 401497 from
  6600. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6601. revisions 401498 from
  6602. http://svn.asterisk.org/svn/asterisk/branches/11
  6603. 2013-10-23 02:31 +0000 [r401488] Michael L. Young <elgueromexicano@gmail.com>
  6604. * channels/chan_iax2.c, configs/iax.conf.sample: chan_iax2: Fix
  6605. Binding To Multiple Addresses Again When reworking chan_iax2 for
  6606. IPv6, the ability to bind to multiple addresses was removed by
  6607. mistake. This patch restores this functionality and adds notes
  6608. about IPv6 addresses in the sample config. (closes issue
  6609. ASTERISK-22741) Reported by: Joshua Colp Tested by: Michael L.
  6610. Young Patches: asterisk-22741-fix-binding-multiple-addr.diff
  6611. uploaded by Michael L. Young (license 5026) Review:
  6612. https://reviewboard.asterisk.org/r/2945/
  6613. 2013-10-22 22:50 +0000 [r401447] Matthew Jordan <mjordan@digium.com>
  6614. * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix crash when RTCP
  6615. is not available during SSRC change In r400089, a patch was put
  6616. in to correct erroneous RTCP statistic resets. Unfortunately,
  6617. ast_rtp_read can be called on an RTP instance that does not have
  6618. RTCP information. This patch prevents that crash by only
  6619. resetting the statistics if we do actually have an RTCP instance.
  6620. (issue AST-1174) (closes issue ASTERISK-22667) Reported by: John
  6621. Bigelow ........ Merged revisions 401445 from
  6622. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6623. revisions 401446 from
  6624. http://svn.asterisk.org/svn/asterisk/branches/11
  6625. 2013-10-22 19:03 +0000 [r401420-401434] Richard Mudgett <rmudgett@digium.com>
  6626. * apps/app_queue.c, /: app_queue: Fix CLI "queue remove member"
  6627. queue_log entry. The queue_log entry resulting from CLI "queue
  6628. remove member" when log_membername_as_agent is enabled is wrong.
  6629. It always uses the interface name instead of the member name in
  6630. the queue_log entry. * Get the queue member before removing it
  6631. from the queue so the member name is available for the queue_log
  6632. entry. (closes issue ASTERISK-21826) Reported by: Oscar Esteve
  6633. Patches: fix_membername.diff (license #6505) patch uploaded by
  6634. Oscar Esteve (modified to fix potential ref leak) ........ Merged
  6635. revisions 401433 from
  6636. http://svn.asterisk.org/svn/asterisk/branches/11
  6637. * main/bridge_channel.c,
  6638. include/asterisk/bridge_channel_internal.h, main/bridge.c:
  6639. Bridging: Fix orphaned bridge if neither of the joining channels
  6640. can join. The original issue noted that the bridge is orphaned
  6641. when res_parking.so is not loaded and a call uses the dial kK
  6642. flags. A similar issue happens when only one of the park flags is
  6643. used. In this case you have the bridge with one or the other
  6644. channel left in it. The channel and bridge will stay around until
  6645. the channel hangs up. * Fixed the initial bridge channel push
  6646. failure to act as if the channel were kicked out of the bridge.
  6647. The bridge then decides if it needs to be dissolved. (closes
  6648. issue ASTERISK-22629) Reported by: Kevin Harwell Review:
  6649. https://reviewboard.asterisk.org/r/2928/
  6650. * res/parking/parking_bridge_features.c,
  6651. res/parking/parking_bridge.c: res_parking: Give parking timeout
  6652. comebacktoorigin channel DTMF features. Parking timeouts did not
  6653. set any DTMF features for the channel calling the parker back. *
  6654. Added code to set the parkedcalltransfers, parkedcallreparking,
  6655. parkedcallhangup, and parkedcallrecording options appropriately
  6656. for the channels when a parking timeout occurs. The recall
  6657. channel DTMF options are set using the BRIDGE_FEATURES channel
  6658. variable to allow the other timeout options to have the DTMF
  6659. features available. (closes issue ASTERISK-22630) Reported by:
  6660. Kevin Harwell Review: https://reviewboard.asterisk.org/r/2942/
  6661. * res/res_parking.c: res_parking: Update XML documention for DTMF
  6662. features after parking timeout. * Updated the XML documentation
  6663. to indicate that the parkedcalltransfers, parkedcallreparking,
  6664. parkedcallhangup, and parkedcallrecording configuration options
  6665. also apply to parking timeouts. (issue ASTERISK-22630) Reported
  6666. by: Kevin Harwell Review:
  6667. https://reviewboard.asterisk.org/r/2942/
  6668. 2013-10-21 21:05 +0000 [r401364] Mark Michelson <mmichelson@digium.com>
  6669. * main/bridge_channel.c: Remove a noisy debug message from bridging
  6670. code. This particular debug message, during a stress test, was
  6671. logged so often that it appeared that there may be a memory leak
  6672. in the logger code. In actuality, there was no memory leak, but
  6673. the logger thread was having a hard time keeping up with the
  6674. demands of the rest of the system. Since this debug message has
  6675. no value at all, the best way to fix the problem was to just
  6676. remove the message. (closes issue AST-1225) reported by John
  6677. Bigelow Patches: spammy_log.diff uploaded by Mark Michelson
  6678. (License #5049)
  6679. 2013-10-21 19:48 +0000 [r401327] Kevin Harwell <kharwell@digium.com>
  6680. * main/editline/term.c, /: Segfault in LIBEDIT_INTERNAL after
  6681. tgetstr(), when libncurses5-dev isn't installed Include the
  6682. appropriate declarations when not using termcap, but term+curses
  6683. and [n]curses do not exist. (closes issue ASTERISK-22351)
  6684. Reported by: A. Iglesias Patches:
  6685. issueA22351_libedit_internal_without_ncurses_dev.patch uploaded
  6686. by wdoekes (license 5674) ........ Merged revisions 401325 from
  6687. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6688. revisions 401326 from
  6689. http://svn.asterisk.org/svn/asterisk/branches/11
  6690. 2013-10-21 18:58 +0000 [r401315] David M. Lee <dlee@digium.com>
  6691. * rest-api/api-docs/channels.json: Fixing r401281; the model name
  6692. is Channel, with a capital C
  6693. 2013-10-19 21:53 +0000 [r401291] Kinsey Moore <kmoore@digium.com>
  6694. * channels/chan_iax2.c: Fix IAX2 incoming call address lookups This
  6695. fixes address lookup for incoming calls without a peer
  6696. definition. The address family was unset instead of being set to
  6697. AST_AF_UNSPEC which was causing lookup failures on "127.0.0.1".
  6698. This is one of the causes of the current failure of the app_page
  6699. integration test. Review:
  6700. https://reviewboard.asterisk.org/r/2933/
  6701. 2013-10-19 14:43 +0000 [r401281] Joshua Colp <jcolp@digium.com>
  6702. * res/res_ari_channels.c, res/ari/resource_channels.h, main/pbx.c,
  6703. rest-api/api-docs/channels.json, res/ari/resource_channels.c:
  6704. Return a channel snapshot when originating using ARI, and
  6705. subscribe the Stasis application to it. This change allows a user
  6706. of ARI to know what channel it has originated and also follow any
  6707. progress. If a Stasis application is provided it will be
  6708. automatically subscribed to the originated channel immediately.
  6709. (closes issue ASTERISK-22485) Reported by: David Lee Review:
  6710. https://reviewboard.asterisk.org/r/2910/
  6711. 2013-10-18 22:51 +0000 [r401271] Richard Mudgett <rmudgett@digium.com>
  6712. * res/parking/parking_controller.c: res_parking: Remove setting
  6713. useless flag.
  6714. 2013-10-18 21:49 +0000 [r401261] David M. Lee <dlee@digium.com>
  6715. * contrib/scripts/get_swagger_ui.sh (added), Makefile, static-http:
  6716. This is just a quick script for dumping swagger-ui into
  6717. static-http, so that it can be served by the Asterisk web server.
  6718. I had to change the Makefile in order to recursively install
  6719. content from the static-http directory, hence the code review
  6720. instead of just putting it in. Review:
  6721. https://reviewboard.asterisk.org/r/2924/
  6722. 2013-10-18 18:33 +0000 [r401248] Mark Michelson <mmichelson@digium.com>
  6723. * main/manager.c, main/bridge.c, main/bucket.c, main/sorcery.c,
  6724. main/cli.c: Resolve some memory leaks due to incorrect for loop /
  6725. ao2 ref usage. A common idiom in Asterisk is to due something
  6726. like: for (ao2_obj = list_beginning; ao2_obj = next_item;
  6727. ao2_ref(ao2_obj, -1)) { ...do stuff... } This is nice because it
  6728. automatically takes care of the object references for you.
  6729. However, there is a pitfall here. If a break statement is in the
  6730. for loop, then the current reference is not cleaned up. In some
  6731. cases, this is on purpose, but in others there is a leak. This
  6732. commit fixes the leak cases.
  6733. 2013-10-18 16:52 +0000 [r401232-401239] Richard Mudgett <rmudgett@digium.com>
  6734. * apps/app_dial.c, main/channel.c, res/res_fax.c,
  6735. include/asterisk/channel.h: Add channel lock protection around
  6736. translation path setup. Most callers of
  6737. ast_channel_make_compatible() happen before the channels enter a
  6738. two party bridge. With the new bridging framework, two party
  6739. bridging technologies may also call ast_channel_make_compatible()
  6740. when there is more than one thread involved with the two
  6741. channels. * Added channel lock protection in set_format() and
  6742. ast_channel_make_compatible_helper() when dealing with the
  6743. channel's native formats while setting up a translation path. *
  6744. Fixed best_src_fmt and best_dst_fmt usage consistency in
  6745. ast_channel_make_compatible_helper(). The call to
  6746. ast_translator_best_choice() got them backwards. * Updated some
  6747. callers of ast_channel_make_compatible() and the function
  6748. documentation. There is actually a difference between the two
  6749. channels passed in. * Fixed the deadlock potential in res_fax.c
  6750. dealing with ast_channel_make_compatible(). The deadlock
  6751. potential was already there anyway because res_fax called
  6752. ast_channel_make_compatible() with chan locked. (closes issue
  6753. ASTERISK-22542) Reported by: Matt Jordan Review:
  6754. https://reviewboard.asterisk.org/r/2915/
  6755. * include/asterisk/bridge.h: Tweak ast_bridge_depart() doxygen.
  6756. 2013-10-18 16:05 +0000 [r401212-401223] Mark Michelson <mmichelson@digium.com>
  6757. * include/asterisk/bridge.h: Remove the bit about requiring
  6758. ast_bridge_depart() to be called before ast_bridge_destroy().
  6759. * include/asterisk/bridge.h: Clarify in ast_bridge_destroy() about
  6760. how departable channels must be handled.
  6761. 2013-10-18 15:13 +0000 [r401183] Michael L. Young <elgueromexicano@gmail.com>
  6762. * /, channels/chan_sip.c: Remove Port Restriction When Checking For
  6763. NAT When trying to determine if a peer is behind NAT, we should
  6764. not be using the ports when comparing addresses. This patch
  6765. removes the port from being checked and just useds the addresses
  6766. now. (closes issue ASTERISK-22729) Reported by: Michael L. Young
  6767. Tested by: Michael L. Young Patches:
  6768. asterisk-remove-using-port-for-nat-check.diff uploaded by Michael
  6769. L. Young (license 5026) Review:
  6770. https://reviewboard.asterisk.org/r/2927/ ........ Merged
  6771. revisions 401182 from
  6772. http://svn.asterisk.org/svn/asterisk/branches/11
  6773. 2013-10-18 14:47 +0000 [r401180] Walter Doekes <walter+asterisk@wjd.nu>
  6774. * main/channel.c, /: Properly copy/remove the device state cache
  6775. flag over a masquerade. In r378303 the
  6776. AST_FLAG_DISABLE_DEVSTATE_CACHE flag was added that tells the
  6777. devstate system to not cache states for non-real devices.
  6778. However, when optimizing away channels (ast_do_masquerade), that
  6779. flag wasn't copied. In my case, using Local devices as queue
  6780. members created a situation where the endpoint was considered in
  6781. use, but the state change of the device being available again was
  6782. ignored (not cached). The endpoint channel was optimized into the
  6783. (previously) Local channel, but kept the do-not-cache flag. The
  6784. end result being that the queue member apparently stayed in use
  6785. forever. (closes issue ASTERISK-22718) Reported by: Walter Doekes
  6786. Review: https://reviewboard.asterisk.org/r/2925/ ........ Merged
  6787. revisions 401178 from
  6788. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6789. revisions 401179 from
  6790. http://svn.asterisk.org/svn/asterisk/branches/11
  6791. 2013-10-17 20:37 +0000 [r401168] Michael L. Young <elgueromexicano@gmail.com>
  6792. * /, channels/chan_sip.c: Fix Setting A chan_sip Dialog's
  6793. SIP_NAT_FORCE_RPORT Flag A condition was added in a commit to fix
  6794. ASTERISK-21374, that, if the SIP_PAGE3_NAT_AUTO_RPORT flag was
  6795. set, to then copy a peer's SIP_NAT_FORCE_RPORT flag to the
  6796. dialog. This condition should not have been there since it
  6797. assumed that if Asterisk is in an environment where NAT is
  6798. involved, that the auto_* nat settings or force_rport setting
  6799. would be on in the global settings. If the nat setting in the
  6800. global setting is set to 'nat=no' and then turned on for peers
  6801. (which is not quite the recommended way, although it is allowed)
  6802. this flag is never copied to the dialog resulting in problems
  6803. like, REGISTER replies going to the wrong port. This patch
  6804. removes this conditional check and will now always use the peer's
  6805. flag which by this point in the code the checks on whether the
  6806. peer is behind NAT or not (if using auto_force_rport) have
  6807. already been run. (closes issue ASTERISK-22236) Reported by:
  6808. Filip Frank Tested by: Michael L. Young Patches:
  6809. asterisk-2236-always-set-rport.diff uploaded by Michael L. Young
  6810. (license 5026) Review: https://reviewboard.asterisk.org/r/2919/
  6811. ........ Merged revisions 401167 from
  6812. http://svn.asterisk.org/svn/asterisk/branches/11
  6813. 2013-10-17 18:16 +0000 [r401158] Jonathan Rose <jrose@digium.com>
  6814. * res/res_parking.c: res_parking: Fix bug where reloading
  6815. immediately wipes new parkpos extensions (closes issue
  6816. ASTERISK-22631) Reported by: Kevin Harwell
  6817. 2013-10-17 15:40 +0000 [r401121] Kinsey Moore <kmoore@digium.com>
  6818. * /, res/res_xmpp.c, res/res_jabber.c: Reduce log level of a
  6819. non-pubsub error message Drop an error log message to debug level
  6820. 1 since distributed device state functions correctly when
  6821. receiving this message and it spams the logs. (closes issue
  6822. ASTERISK-22410) Reported by: abelbeck Patches:
  6823. asterisk-1.8-res_jabber-log-nonpubsub-error-to-debug.patch
  6824. uploaded by abelbeck (License 5903)
  6825. asterisk-11-res_xmpp-log-nonpubsub-error-to-debug.patch uploaded
  6826. by abelbeck (License 5903) ........ Merged revisions 401119 from
  6827. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6828. revisions 401120 from
  6829. http://svn.asterisk.org/svn/asterisk/branches/11
  6830. 2013-10-16 21:20 +0000 [r401107] Richard Mudgett <rmudgett@digium.com>
  6831. * res/ari/resource_playback.c: ARI: Fix crash when POST
  6832. /playback/{id}/control does not have an operation parameter.
  6833. (closes issue ASTERISK-22680) Reported by: John Bigelow
  6834. 2013-10-16 21:17 +0000 [r401096-401106] David M. Lee <dlee@digium.com>
  6835. * res/res_ari.c: Fixed malformed Access-Control-Allow-Methods
  6836. header. Was causing Safari to barf on POST and DELETE.
  6837. * rest-api/resources.json: Oops. Leftover /stasis reference
  6838. 2013-10-16 14:01 +0000 [r401087] Kinsey Moore <kmoore@digium.com>
  6839. * res/ari/resource_bridges.h, rest-api/api-docs/channels.json,
  6840. rest-api/api-docs/bridges.json, res/ari/resource_channels.h:
  6841. Clarify documentation for channel and bridge list This makes it
  6842. clear that the ARI API calls for listing channels and bridges
  6843. will list all channels or bridges in the system and not just
  6844. those that are in or are controlled by a Stasis application.
  6845. (closes issue ASTERISK-22635) Reported by: Kevin Harwell
  6846. 2013-10-16 12:12 +0000 [r401077] Walter Doekes <walter+asterisk@wjd.nu>
  6847. * apps/app_queue.c, /: Don't check all realtime queues when doing
  6848. "queue show some_queue". When using realtime queues, queues have
  6849. to be fetched from the database every now and then to see if any
  6850. info has been changed or to see if the queue has been removed.
  6851. When fetching info for an individual queue, the pruning of other
  6852. queues is unnecessarily costly. Review:
  6853. https://reviewboard.asterisk.org/r/2907/ ........ Merged
  6854. revisions 401049 from
  6855. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6856. revisions 401076 from
  6857. http://svn.asterisk.org/svn/asterisk/branches/11
  6858. 2013-10-16 00:02 +0000 [r401040] Paul Belanger <paul.belanger@polybeacon.com>
  6859. * res/res_ari_bridges.c, rest-api/api-docs/bridges.json: Use POST /
  6860. DELETE to toggle ARI bridge moh Review:
  6861. https://reviewboard.asterisk.org/r/2911/
  6862. 2013-10-15 20:25 +0000 [r401030] Richard Mudgett <rmudgett@digium.com>
  6863. * channels/dahdi/bridge_native_dahdi.c: bridge_native_dahdi: Return
  6864. channel join failure if could not make the channels compatible.
  6865. 2013-10-15 20:02 +0000 [r401018] Kinsey Moore <kmoore@digium.com>
  6866. * rest-api/api-docs/bridges.json, res/res_ari_bridges.c: Ensure
  6867. bridge record error responses validate This adds the list of
  6868. expected errors to the /bridges/{bridgeId}/record ARI
  6869. documentation so that outbound 4xx errors validate properly.
  6870. Previously, this would result in a response validation failure.
  6871. (closes issue ASTERISK-22627) Reported by: Joshua Colp
  6872. 2013-10-15 20:01 +0000 [r401017] Richard Mudgett <rmudgett@digium.com>
  6873. * /, channels/chan_iax2.c: chan_iax2: Fix channel left locked in
  6874. off nominal code path. ........ Merged revisions 401016 from
  6875. http://svn.asterisk.org/svn/asterisk/branches/11
  6876. 2013-10-15 15:26 +0000 [r400999] Paul Belanger <paul.belanger@polybeacon.com>
  6877. * rest-api/api-docs/channels.json, res/res_ari_channels.c: Use POST
  6878. / DELETE to toggle hold / moh for ARI channels This change
  6879. updates how we handle toggle events, rather then create two
  6880. different function names, we'll just use POST / DELETE from HTTP
  6881. to handle it. Review: https://reviewboard.asterisk.org/r/2906/
  6882. 2013-10-15 15:21 +0000 [r400984] Mark Michelson <mmichelson@digium.com>
  6883. * /, channels/chan_sip.c: Prevent chan_sip from sending duplicate
  6884. BYEs. When a 200 OK for an initial INVITE is received, we were
  6885. doing the right thing by ACKing and sending an immediate BYE.
  6886. However, we also were doing the wrong thing and queuing an answer
  6887. frame, thus causing the call to be answered. This would cause the
  6888. call to be hung up by the channel thread, thus resulting in a
  6889. second BYE being sent out. In this fix, I also have set the
  6890. hangupcause to be correct since the initial BYE being sent by
  6891. Asterisk had an unknown hangup cause. I have changed to using
  6892. "Bearer capabilty not available" since the call was hung up due
  6893. to an SDP offer/answer error. (closes issue ASTERISK-22621)
  6894. reported by Kinsey Moore ........ Merged revisions 400970 from
  6895. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6896. revisions 400971 from
  6897. http://svn.asterisk.org/svn/asterisk/branches/11
  6898. 2013-10-15 13:43 +0000 [r400958] David M. Lee <dlee@digium.com>
  6899. * rest-api-templates/asterisk_processor.py: My doc correction in
  6900. r400842 had a silly bug. Because I added a wiki_description to
  6901. models and not their properties, the rendered wiki page had the
  6902. model description instead of the property descriptions, which
  6903. looks very silly indeed. (closes issue ASTERISK-22705)
  6904. 2013-10-14 21:55 +0000 [r400911] Richard Mudgett <rmudgett@digium.com>
  6905. * /, channels/chan_dahdi.h, channels/chan_dahdi.c: chan_dahdi:
  6906. Reflect the set software gain in the CLI "dahdi show channel"
  6907. output. * Remember the swgain setting from CLI "dahdi set swgain"
  6908. command so the CLI "dahdi show channel" output will reflect the
  6909. current setting. * Updated CLI "dahdi set hwgain" and "dahdi set
  6910. swgain" documentation. (issue ASTERISK-22429) Reported by: Jaco
  6911. Kroon Patches: jira_asterisk_22429_v1.8_v2.patch (license #5621)
  6912. patch uploaded by rmudgett ........ Merged revisions 400907 from
  6913. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  6914. revisions 400909 from
  6915. http://svn.asterisk.org/svn/asterisk/branches/11
  6916. 2013-10-14 21:52 +0000 [r400910] Mark Michelson <mmichelson@digium.com>
  6917. * /, channels/chan_sip.c: chan_sip: Do not increment the SDP
  6918. version between 183 and 200 responses. Bumping the SDP version
  6919. number can cause interoperability problems since receivers of the
  6920. responses will expect that a 200 SDP will be identical to a
  6921. previous 183 SDP. (closes issue ASTERISK-21204) reported by
  6922. NITESH BANSAL Patches:
  6923. dont-increment-session-version-in-2xx-after-183.patch uploaded by
  6924. NITESH BANSAL (License #6418) ........ Merged revisions 400906
  6925. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  6926. Merged revisions 400908 from
  6927. http://svn.asterisk.org/svn/asterisk/branches/11
  6928. 2013-10-14 15:52 +0000 [r400890] Kevin Harwell <kharwell@digium.com>
  6929. * res/res_pjsip_outbound_registration.c: pjsip outbound
  6930. registration: Log message says received a 408 when we didn't If
  6931. the server didn't exist that we are trying to register to the log
  6932. message would say that a 408 was received from that server when
  6933. in reality one wasn't. Added log messages stating no response was
  6934. received if the response does not exist. (closes issue
  6935. ASTERISK-22554) Reported by: Rusty Newton Review:
  6936. https://reviewboard.asterisk.org/r/2893/
  6937. 2013-10-14 14:57 +0000 [r400881] Matthew Jordan <mjordan@digium.com>
  6938. * res/res_pjsip_mwi.c: Remove duplicate module info block The
  6939. module info block was repeated twice. Once is sufficient.
  6940. 2013-10-13 15:41 +0000 [r400872] Joshua Colp <jcolp@digium.com>
  6941. * res/res_pjsip_session.c: Fix a race condition in
  6942. res_pjsip_session with rapidly terminating the session. The
  6943. INVITE session state callback wrongly assumes that a session will
  6944. always exist, but when rapidly terminating the session this
  6945. assumption goes out the window. As all handler code for the
  6946. INVITE session state callback requires the session it will now
  6947. just exit immediately if no session exists. (closes issue
  6948. ASTERISK-22668) Reported by: John Bigelow
  6949. 2013-10-12 16:49 +0000 [r400863] Kinsey Moore <kmoore@digium.com>
  6950. * res/res_pjsip_outbound_authenticator_digest.c: Fix realm
  6951. comparison for outbound auth When generating the list of
  6952. authentication credentials to pass to PJSIP, Asterisk was using
  6953. the raw pointer of a pj_str_t which is not always
  6954. NULL-terminated. This sometimes resulted in incorrect text for
  6955. the realm and a failure to match the realm for authentication
  6956. purposes which was causing the outbound nominal auth pjsip basic
  6957. call test to bounce. This now uses the pj_str_t that contains the
  6958. realm instead of generating a new one. Thanks to John Bigelow for
  6959. helping to narrow this down.
  6960. 2013-10-11 16:53 +0000 [r400849-400854] Richard Mudgett <rmudgett@digium.com>
  6961. * include/asterisk/channel.h: channel.h: whitespace changes.
  6962. * bridges/bridge_softmix.c: Softmix: Fix crash when switching from
  6963. softmix to another bridge technology. The crash is caused by a
  6964. race condition when switching between native RTP and softmix
  6965. bridging technologies. In this situation, the bridging technology
  6966. is switched from native RTP to softmix, and then back to native
  6967. RTP fast enough that the softmix private data gets destroyed
  6968. before the softmix mixing thread gets started. Thanks to Kinsey
  6969. Moore for the crash analysis. * Fix race condition when starting
  6970. the softmix mixing thread and switching to another bridge
  6971. technology. (closes issue ASTERISK-22678) Reported by: John
  6972. Bigelow Patches: jira_asterisk_22678_v12.patch (license #5621)
  6973. patch uploaded by rmudgett Tested by: John Bigelow
  6974. 2013-10-11 16:18 +0000 [r400842-400848] David M. Lee <dlee@digium.com>
  6975. * res/ari/resource_playback.h, rest-api/api-docs/playback.json: Fix
  6976. a stupid copy/paste error in ARI docs. Patches: ari-doc-patch.txt
  6977. uploaded by jbigelow (license 5091)
  6978. * res/ari/resource_bridges.h, rest-api/api-docs/channels.json,
  6979. rest-api/api-docs/bridges.json, res/ari/resource_channels.h:
  6980. Updated /play resource docs. The playback of http: resources
  6981. isn't implemented... yet
  6982. * rest-api-templates/models.wiki.mustache,
  6983. rest-api-templates/api.wiki.mustache,
  6984. rest-api-templates/asterisk_processor.py: Correct some ARI wiki
  6985. rendering errors
  6986. 2013-10-10 18:21 +0000 [r400824-400833] Joshua Colp <jcolp@digium.com>
  6987. * res/res_pjsip/location.c: Perform validation of permanent
  6988. contacts on AORs in res_pjsip.
  6989. * res/res_pjsip/pjsip_configuration.c, res/res_pjsip.c: Fix an
  6990. assertion in res_pjsip when specifying an invalid outbound proxy.
  6991. This change fixes two issues when setting an outbound proxy: 1.
  6992. The outbound proxy URI was not parsed and validated during
  6993. configuration. 2. If an outgoing dialog was created and the
  6994. outbound proxy could not be set an assertion would occur because
  6995. the usage count on the dialog was not decremented. The
  6996. documentation has also been updated to specify that a full URI
  6997. must be specified for the outbound proxy. (closes issue
  6998. ASTERISK-22672) Reported by: Antti Yrjola
  6999. 2013-10-09 11:00 +0000 [r400771-400812] Matthew Jordan <mjordan@digium.com>
  7000. * res/res_pjsip_header_funcs.c: Use 'z' as the format specifier for
  7001. size_t Using 'lu' will produce a compiler warning for some
  7002. versions of gcc and on some architectures. 'z' should be portable
  7003. as a format specifier for size_t.
  7004. * res/res_pjsip_header_funcs.c (added): Add PJSIP_HEADER function
  7005. for manipulation of SIP headers in the PJSIP stack This patch
  7006. adds support to the PJSIP stack in Asterisk for SIP header
  7007. manipulation. Note that this is analagous to
  7008. SIPAddHeader/SIPRemoveHeader. For PJSIP_HEADER, an incoming
  7009. supplemental session callback is registered that takes the
  7010. pjsip_hdrs from the incoming session and stores them in a linked
  7011. list in the session datastore. Calls to PJSIP_HEADER traverse
  7012. over the list and return the nth matching header where 'n' is the
  7013. 'number' argument to the function. When adding a header, the
  7014. first call creates a datastore and linked list and adds the
  7015. datastore to the session. The header is then created as a
  7016. pjsip_hdr and added to the list. An outgoing supplemental session
  7017. callback then traverses the list and adds the headers to the
  7018. outgoing pjsip_msg. When removing a header, the list created with
  7019. PJSIP_HEADER(add,...) is traversed and all matching entries are
  7020. removed. (closes issue ASTERISK-22498) Reported by: George Joseph
  7021. patch: res_pjsip_header_funcs_v1.patch uploaded by george.joseph
  7022. (License 6322)
  7023. 2013-10-08 22:30 +0000 [r400769] Kinsey Moore <kmoore@digium.com>
  7024. * /, configure, configure.ac: Add warning when compiling with iODBC
  7025. support When running configure, libiodbc2 development headers
  7026. will fulfill the requirement for ODBC development headers, but
  7027. will not function properly. This adds a warning when libiodbc2
  7028. development headers are detected instead of unixodbc development
  7029. headers. (closes issue ASTERISK-22459) Reported by: Patrick
  7030. Maille Tested by: Walter Doekes Patches:
  7031. issueA22459_warn_when_using_iodbc.patch uploaded by Walter Doekes
  7032. (License 5674) ........ Merged revisions 400767 from
  7033. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7034. revisions 400768 from
  7035. http://svn.asterisk.org/svn/asterisk/branches/11
  7036. 2013-10-08 21:19 +0000 [r400754] Richard Mudgett <rmudgett@digium.com>
  7037. * apps/app_agent_pool.c: app_agent_pool: Fix AMI/CLI AgentLogoff
  7038. soft preventing agents from logging back in. * Clear the
  7039. deferred_logoff flag when an agent logs in. (closes issue
  7040. ASTERISK-22669) Reported by: John Bigelow
  7041. 2013-10-08 20:51 +0000 [r400749] Mark Michelson <mmichelson@digium.com>
  7042. * res/res_pjsip.c, res/res_pjsip/config_transport.c: Switch from
  7043. using pjsip_strerror to pj_strerror. pjsip_strerror is only aware
  7044. of PJSIP-specific error codes. pj_strerror() is aware of all
  7045. PJProject error codes and OS-specific error codes. This
  7046. specifically fixes an oft-seen error in transport configuration
  7047. code where EADDRINUSE would result in "Unknown PJSIP error
  7048. 120098" instead of a useful message.
  7049. 2013-10-08 20:16 +0000 [r400724-400742] Richard Mudgett <rmudgett@digium.com>
  7050. * apps/app_confbridge.c, CHANGES,
  7051. apps/confbridge/conf_config_parser.c,
  7052. configs/confbridge.conf.sample, /,
  7053. apps/confbridge/include/confbridge.h: app_confbridge: Can now set
  7054. the language used for announcements to the conference. ConfBridge
  7055. now has the ability to set the language of announcements to the
  7056. conference. The language can be set on a bridge profile in
  7057. confbridge.conf or by the dialplan function
  7058. CONFBRIDGE(bridge,language)=en. (closes issue ASTERISK-19983)
  7059. Reported by: Jonathan White Patches: M19983_rev2.diff (license
  7060. #5138) patch uploaded by junky (modified) Tested by: rmudgett
  7061. ........ Merged revisions 400741 from
  7062. http://svn.asterisk.org/svn/asterisk/branches/11
  7063. * apps/confbridge/conf_config_parser.c, /: app_confbridge: Fix
  7064. duplicate default_user profile. * Fixed looking in the wrong
  7065. profiles container to see if the default_user profile is already
  7066. created in verify_default_profiles(). The bridge profile
  7067. container is never going to hold user profiles. :) ........
  7068. Merged revisions 400723 from
  7069. http://svn.asterisk.org/svn/asterisk/branches/11
  7070. 2013-10-08 18:19 +0000 [r400682-400701] Kinsey Moore <kmoore@digium.com>
  7071. * funcs/func_config.c, /: Fix func_config list entry allocation The
  7072. AST_CONFIG dialplan function defined in func_config.c allocates
  7073. its config file list entries using ast_malloc. List entry
  7074. allocations destined for use with Asterisk's linked list API must
  7075. be ast_calloc()d or otherwise initialized so that list pointers
  7076. are set to NULL. These uses of ast_malloc have been replaced by
  7077. ast_calloc to prevent dereferencing of uninitialized pointer
  7078. values when traversing the list. (closes issue ASTERISK-22483)
  7079. Reported by: Brian Scott ........ Merged revisions 400694 from
  7080. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7081. revisions 400697 from
  7082. http://svn.asterisk.org/svn/asterisk/branches/11
  7083. * res/res_rtp_asterisk.c, /: Fix STUN crash when using IPv6 any
  7084. address Ensure that when chan_sip binds to the IPv6 any address
  7085. ([::]), IPv4 candidates are also added. (closes issue
  7086. ASTERISK-21917) Reported by: Torrey Searle Patches:
  7087. 0023_ipv6_stun_crash.patch uploaded by Torrey Searle (License
  7088. 5334) ........ Merged revisions 400681 from
  7089. http://svn.asterisk.org/svn/asterisk/branches/11
  7090. 2013-10-08 15:36 +0000 [r400680] Mark Michelson <mmichelson@digium.com>
  7091. * res/res_pjsip/pjsip_options.c: Push CLI qualify into the
  7092. threadpool. If you run Asterisk in the background and then
  7093. connect to it through a separate console, the thread that runs
  7094. CLI commands is not registered with PJLIB. Thus PJLIB does not
  7095. like it when you attempt to send OPTIONS requests from that
  7096. thread. So now we push the task into the threadpool, which we
  7097. know to be registered with PJLIB. Thanks to Antti Yrjola for
  7098. reporting this.
  7099. 2013-10-08 15:11 +0000 [r400661-400671] Richard Mudgett <rmudgett@digium.com>
  7100. * res/res_agi.c, apps/app_queue.c: Make app_queue and res_agi
  7101. independent of AMI being enabled. The
  7102. https://reviewboard.asterisk.org/r/2888/ review changes manager
  7103. to not subscribe to stasis when it is disabled for performance
  7104. reasons. When manager is disabled app_queue and res_agi decline
  7105. to load and fail to clean up what they have already allocated. *
  7106. Made app_queue and res_agi clean up allocated resources when they
  7107. decline to load. * Made app_queue and res_agi use their own
  7108. subscriptions to the stasis topics instead of borrowing manager's
  7109. message router structure inappropriately. (closes issue
  7110. ASTERISK-22604) Reported by: rmudgett Review:
  7111. https://reviewboard.asterisk.org/r/2902/
  7112. * include/asterisk/stasis.h, apps/app_queue.c,
  7113. include/asterisk/manager.h: Miscellaneous stand alone comment
  7114. cleanups.
  7115. 2013-10-06 17:11 +0000 [r400624] Michael L. Young <elgueromexicano@gmail.com>
  7116. * apps/app_queue.c, /: app_queue: Fix Queuelog EXITWITHKEY only
  7117. logging two of four fields Commit r62462 added two extra fields
  7118. for logging "the original position the caller entered the queue
  7119. at, and the amount of time the caller was waiting in the queue."
  7120. But when r75969 was merged from 1.4 into trunk (r75977), these
  7121. two fields disappeared. Those two extra fields were not logged in
  7122. 1.4 and when the patch was merged, those fields went away.
  7123. Therefore, this is a regression and was caught by the reporter
  7124. because he was reading the awesome "Asterisk: The Definitive
  7125. Guide" book. (closes issue ASTERISK-22197) Reported by: Dalius M.
  7126. Tested by: Dalius M. Patches:
  7127. asterisk-22197-q-log-exitwithkey.diff uploaded by Michael L.
  7128. Young (license 5026) Review:
  7129. https://reviewboard.asterisk.org/r/2901/ ........ Merged
  7130. revisions 400622 from
  7131. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7132. revisions 400623 from
  7133. http://svn.asterisk.org/svn/asterisk/branches/11
  7134. 2013-10-05 00:41 +0000 [r400588] Richard Mudgett <rmudgett@digium.com>
  7135. * channels/iax2/include/parser.h: chan_iax2: Fix compile error.
  7136. 2013-10-04 21:40 +0000 [r400567] Michael L. Young <elgueromexicano@gmail.com>
  7137. * channels/iax2/include/parser.h, main/acl.c,
  7138. include/asterisk/netsock2.h, CHANGES, channels/chan_iax2.c,
  7139. channels/iax2/parser.c, main/netsock.c, main/netsock2.c: Add IPv6
  7140. Support To chan_iax2 This patch adds IPv6 support to chan_iax2.
  7141. Yay! (closes issue ASTERISK-22025) Patches:
  7142. iax2-ipv6-v5-reviewboard.diff by Michael L. Young (license 5026)
  7143. Review: https://reviewboard.asterisk.org/r/2660/
  7144. 2013-10-04 19:31 +0000 [r400552] David M. Lee <dlee@digium.com>
  7145. * rest-api/api-docs/applications.json (added): Added missing file
  7146. from r400522
  7147. 2013-10-04 18:42 +0000 [r400532-400542] Jonathan Rose <jrose@digium.com>
  7148. * res/res_pjsip_logger.c: chan_pjsip: Make logger togglable without
  7149. loading/unloading This patch makes the res_pjsip_logger do a few
  7150. things... First, it will be built and installed by default now,
  7151. so end users won't need to enable it in menuselect. Second, while
  7152. it is loaded, it no longer will immediately issue log messages.
  7153. Upon loading, it is in the disabled state and must be turned on
  7154. with the new CLI command. The CLI command 'pjsip set logger
  7155. <on/off/host> has been added and can be used to do the following:
  7156. pjsip set logger on: Enables logger for all PJSIP traffic pjsip
  7157. set logger off: Disables logger for all PJSIP traffic pjsip set
  7158. logger host <host>: Enables logger for the specific host Review:
  7159. https://reviewboard.asterisk.org/r/2900/
  7160. * contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
  7161. configs/extconfig.conf.sample, configs/sorcery.conf.sample,
  7162. contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
  7163. (added): chan_pjsip: Add alembic scripts for generating db tables
  7164. for PJSIP Also updates sample configurations for sorcery and
  7165. extconfig to demonstrate how to use databases created by that
  7166. alembic script. (closes issue ASTERISK-22133) Reported by: Matt
  7167. Jordan Review: https://reviewboard.asterisk.org/r/2892/
  7168. 2013-10-04 15:54 +0000 [r400522] Matthew Jordan <mjordan@digium.com>
  7169. * res/stasis/app.h, rest-api/resources.json,
  7170. include/asterisk/_private.h, main/endpoints.c,
  7171. res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
  7172. res/res_ari_model.c, main/json.c, res/ari.make,
  7173. res/ari/resource_applications.c (added),
  7174. res/ari/resource_applications.h (added), res/res_stasis.c,
  7175. main/asterisk.c, rest-api/api-docs/endpoints.json,
  7176. rest-api/api-docs/events.json, res/stasis/app.c,
  7177. include/asterisk/endpoints.h,
  7178. rest-api-templates/ari_model_validators.h.mustache,
  7179. res/res_ari_applications.c (added), res/ari/resource_endpoints.h,
  7180. include/asterisk/stasis_app.h: ARI: Add subscription support This
  7181. patch adds an /applications API to ARI, allowing explicit
  7182. management of Stasis applications. * GET /applications - list
  7183. current applications * GET /applications/{applicationName} - get
  7184. details of a specific application * POST
  7185. /applications/{applicationName}/subscription - explicitly
  7186. subscribe to a channel, bridge or endpoint * DELETE
  7187. /applications/{applicationName}/subscription - explicitly
  7188. unsubscribe from a channel, bridge or endpoint Subscriptions work
  7189. by a reference counting mechanism: if you subscript to an event
  7190. source X number of times, you must unsubscribe X number of times
  7191. to stop receiveing events for that event source. Review:
  7192. https://reviewboard.asterisk.org/r/2862 (issue ASTERISK-22451)
  7193. Reported by: Matt Jordan
  7194. 2013-10-04 15:48 +0000 [r400510-400520] Joshua Colp <jcolp@digium.com>
  7195. * res/res_pjsip.c: Enclose the To URI and update its user portion
  7196. if a request user has been specified.
  7197. * res/res_pjsip_session.c: Replace the connection address at the
  7198. SDP level if altering the SDP with the external media address.
  7199. 2013-10-04 04:54 +0000 [r400508] David M. Lee <dlee@digium.com>
  7200. * rest-api/api-docs/playback.json, res/res_ari_playback.c:
  7201. Corrected response class for stopPlayback
  7202. 2013-10-03 23:11 +0000 [r400471] Jonathan Rose <jrose@digium.com>
  7203. * /, channels/chan_sip.c: chan_sip: Don't ignore expires value in
  7204. contact header if it lacks semicolon (closes issue
  7205. ASTERISK-22574) Reported by: Filip Jenicek Patches:
  7206. chan_sip_expires.patch uploaded by Filip Jenicek (license 6277)
  7207. ........ Merged revisions 400469 from
  7208. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7209. revisions 400470 from
  7210. http://svn.asterisk.org/svn/asterisk/branches/11
  7211. 2013-10-03 21:40 +0000 [r400460] Matthew Jordan <mjordan@digium.com>
  7212. * main/channel_internal_api.c: Remove publication of a channel
  7213. snapshot when the technology is set This patch removes said
  7214. publication for a few reasons: (1) It is unnecessary. Association
  7215. of the channel technology with a specific channel is an
  7216. implementation detail that should be assumed to "just happen",
  7217. and consumers of Stasis don't need to be informed about it. (2)
  7218. Publication of said message can now cause crashes, as the actual
  7219. creation of a channel in normal locations now stages its
  7220. messages. As a result, things that create dummy channels (such as
  7221. the SIP RTP QOS unit test) and associate them with a channel
  7222. technology were now crashing, as the channel itself was not known
  7223. by Stasis.
  7224. 2013-10-03 19:31 +0000 [r400442] Joshua Colp <jcolp@digium.com>
  7225. * main/cdr.c: When serializing CDR variables (like for "core show
  7226. channels") don't output an error if CDRs aren't enabled.
  7227. 2013-10-03 19:29 +0000 [r400440] Kinsey Moore <kmoore@digium.com>
  7228. * /, main/security_events.c: Fix security events for AMI invalid
  7229. password In r337595, additional security events were added for
  7230. chan_sip authentication failures. The new IEs added to the
  7231. existing invalid password event were defined as required IEs, but
  7232. existing users of the event did not set the new IEs and could not
  7233. since they didn't apply to existing uses. They are now marked as
  7234. optional IEs. (closes issue ASTERISK-22578) Reported by: Matt
  7235. Jordan ........ Merged revisions 400421 from
  7236. http://svn.asterisk.org/svn/asterisk/branches/11
  7237. 2013-10-03 19:11 +0000 [r400403] Mark Michelson <mmichelson@digium.com>
  7238. * include/asterisk/bridge_technology.h,
  7239. bridges/bridge_native_rtp.c: Fix assumption in
  7240. bridge_native_rtp.c regarding number of participants in a bridge.
  7241. When a party leaves a bridge, there may be more participants in
  7242. the bridge than expected. As such, it is important not to make
  7243. assumptions regarding the list of channels in a bridge. This
  7244. change makes it so that when a party leaves a native RTP bridge,
  7245. we unbridge it and the party it was bridged with. Previously, the
  7246. first and last channels in the list were unbridged since it was
  7247. assumed that these were the two channels that had been bridged.
  7248. As previously stated, a new party had been inserted into the
  7249. bridge, so this logic did not work properly. (closes issue
  7250. ASTERISK-22615) reported by Matt Jordan (closes issue
  7251. ASTERISK-22532) reported by Matt Jordan Review:
  7252. https://reviewboard.asterisk.org/r/2899
  7253. 2013-10-03 19:05 +0000 [r400401] Joshua Colp <jcolp@digium.com>
  7254. * res/ari/resource_channels.c: Fix a crash caused by muting and
  7255. unmuting a channel in ARI without specifying a direction. (closes
  7256. issue ASTERISK-22637) Reported by: Scott Griepentrog Patch by
  7257. Matt Jordan, whose office I have taken over in the name of
  7258. Canada.
  7259. 2013-10-03 18:44 +0000 [r400398] Richard Mudgett <rmudgett@digium.com>
  7260. * main/cel.c: cel: Some whitespace cleanups
  7261. 2013-10-03 18:28 +0000 [r400384-400395] Kinsey Moore <kmoore@digium.com>
  7262. * res/res_rtp_multicast.c, /: res_rtp_multicast: Ensure SSRC is set
  7263. properly This fixes a bug where the SSRC field on multicast RTP
  7264. can be stuck at 0 which can cause problems for endpoints trying
  7265. to make sense of incoming streams. (closes issue ASTERISK-22567)
  7266. Reported by: Simone Camporeale Patches:
  7267. 22567_res_mulitcast_ssrc.patch uploaded by Simone Camporeale
  7268. (License 6536) ........ Merged revisions 400393 from
  7269. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7270. revisions 400394 from
  7271. http://svn.asterisk.org/svn/asterisk/branches/11
  7272. * configure, include/asterisk/autoconfig.h.in, configure.ac,
  7273. main/xml.c: Detect and use xsltCleanupGlobals when available This
  7274. introduces usage of an additional libxslt cleanup function,
  7275. xsltCleanupGlobals, when the configure script detects that it is
  7276. available. Early versions of the library did not include this
  7277. function. (closes issue ASTERISK-22570) Reported by: Corey
  7278. Farrell Patches: xsltCleanupGlobals.patch uploaded by Corey
  7279. Farrell (License 5909)
  7280. 2013-10-03 17:55 +0000 [r400383] Matthew Jordan <mjordan@digium.com>
  7281. * contrib/ast-db-manage/config/env.py,
  7282. contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
  7283. contrib/ast-db-manage/voicemail/env.py: Update Alembic database
  7284. scripts for external scripting and PostgreSQL, Oracle This patch
  7285. does the following: 1) The env scripts have been updated to be
  7286. tolerant of a NULL configuration file. This occurs when
  7287. configuration is provided by an external script, such that the
  7288. actual config.ini file is not used. 2) Enum types have all been
  7289. given names. This is needed for PostgreSQL script generation. 3)
  7290. The identifier meetme_confno_starttime_endtime is greater than 30
  7291. characters, and hence invalid for Oracle databases. This has been
  7292. truncated down to meetme_confno_start_end.
  7293. 2013-10-03 16:22 +0000 [r400373] Richard Mudgett <rmudgett@digium.com>
  7294. * channels/chan_vpb.cc: chan_vpb: Make compile again.
  7295. 2013-10-03 14:56 +0000 [r400362] Mark Michelson <mmichelson@digium.com>
  7296. * tests/test_cel.c: Get rid of uses of stasis_topic_wait()
  7297. 2013-10-03 14:51 +0000 [r400360] Joshua Colp <jcolp@digium.com>
  7298. * res/res_pjsip_sdp_rtp.c, res/res_pjsip_t38.c: Fix crashes in
  7299. res_pjsip_sdp_rtp and res_pjsip_t38 when a stream is rejected and
  7300. external_media_address is set. The callback function for changing
  7301. the media address in streams wrongly assumes that a connection
  7302. line will always be present. This is false as no line is present
  7303. if a stream has been rejected. (closes issue ASTERISK-22645)
  7304. Reported by: Rusty Newton
  7305. 2013-10-02 22:34 +0000 [r400318-400356] Mark Michelson <mmichelson@digium.com>
  7306. * main/rtp_engine.c, addons/chan_ooh323.c,
  7307. channels/chan_multicast_rtp.c, main/ccss.c, apps/app_meetme.c,
  7308. bridges/bridge_holding.c, main/bridge_basic.c,
  7309. bridges/bridge_softmix.c, channels/chan_gtalk.c,
  7310. channels/chan_iax2.c, main/media_index.c, main/channel.c,
  7311. channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
  7312. main/manager.c, pbx/pbx_spool.c, channels/chan_skinny.c,
  7313. main/format_cap.c, channels/chan_motif.c, res/res_agi.c,
  7314. channels/chan_alsa.c, apps/app_confbridge.c,
  7315. addons/chan_mobile.c, channels/chan_mgcp.c,
  7316. res/res_clioriginate.c, channels/chan_sip.c,
  7317. channels/chan_bridge_media.c, res/res_pjsip_sdp_rtp.c,
  7318. tests/test_format_api.c, bridges/bridge_simple.c,
  7319. apps/app_originate.c, res/parking/parking_applications.c,
  7320. main/core_local.c, channels/chan_console.c, channels/chan_oss.c,
  7321. include/asterisk/format_cap.h, res/res_pjsip_session.c,
  7322. res/ari/resource_bridges.c, channels/chan_jingle.c,
  7323. channels/chan_misdn.c, channels/dahdi/bridge_native_dahdi.c,
  7324. channels/chan_h323.c, main/file.c,
  7325. res/res_pjsip/pjsip_configuration.c, tests/test_config.c,
  7326. channels/chan_nbs.c, bridges/bridge_native_rtp.c,
  7327. res/res_stasis.c, channels/chan_pjsip.c, channels/chan_unistim.c:
  7328. Cache string values of formats on ast_format_cap() to save
  7329. processing. Channel snapshots have string representations of the
  7330. channel's native formats. Prior to this change, the format
  7331. strings were re-created on ever channel snapshot creation. Since
  7332. channel native formats rarely change, this was very wasteful.
  7333. Now, string representations of formats may optionally be stored
  7334. on the ast_format_cap for cases where string representations may
  7335. be requested frequently. When formats are altered, the string
  7336. cache is marked as invalid. When strings are requested, the cache
  7337. validity is checked. If the cache is valid, then the cached
  7338. strings are copied. If the cache is invalid, then the string
  7339. cache is rebuilt and copied, and the cache is marked as being
  7340. valid again. Review: https://reviewboard.asterisk.org/r/2879
  7341. * /: Remove svn:mergeinfo property.
  7342. * main/stasis_endpoints.c, main/stasis_wait.c (removed),
  7343. res/ari/resource_endpoints.c, /, include/asterisk/stasis.h,
  7344. tests/test_cel.c, include/asterisk/stasis_endpoints.h,
  7345. channels/chan_pjsip.c, main/stasis.c: Remove unnecessary waits
  7346. from stasis. Since caches are updated on publisher threads, there
  7347. is no need to wait for the cache updates to occur after a stasis
  7348. message is published. In the case of chan_pjsip device state
  7349. changes, this set of changes caused an improvement to
  7350. performance. Review: https://reviewboard.asterisk.org/r/2890
  7351. 2013-10-02 21:32 +0000 [r400316] Michael L. Young <elgueromexicano@gmail.com>
  7352. * /, channels/chan_iax2.c: Cast Integer Argument To Unsigned Char
  7353. The member reg in the peercnt structure is an unsigned char and
  7354. peercnt_modify() is expecting an unsigned char argument which
  7355. gets assigned to peercnt->reg. This patch fixes that by casting
  7356. the integer argument being passed to peercnt_modify to unsigned
  7357. char. ........ Merged revisions 400314 from
  7358. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7359. revisions 400315 from
  7360. http://svn.asterisk.org/svn/asterisk/branches/11
  7361. 2013-10-02 21:25 +0000 [r400312] Matthew Jordan <mjordan@digium.com>
  7362. * main/cel.c, main/cdr.c, main/manager.c: Only create Stasis
  7363. subscriptions when enabled Subscribing to Stasis isn't free. As
  7364. such, this patch makes AMI, CDR, and CEL - the "big 3" - only
  7365. subscribe when enabled. Toggling their availability via a .conf
  7366. file will unsubscribe/subscribe as appropriate. Review:
  7367. https://reviewboard.asterisk.org/r/2888/
  7368. 2013-10-02 20:30 +0000 [r400303] Richard Mudgett <rmudgett@digium.com>
  7369. * main/pbx.c: Originate: Make setting caller id on outgoing call
  7370. use either name or number. Previous code was requiring both name
  7371. and number to be available. Also restored a comment block on why
  7372. caller id is also set on an outgoing call leg in addition to
  7373. connected line from earlier versions of Asterisk.
  7374. 2013-10-02 19:19 +0000 [r400291] Kinsey Moore <kmoore@digium.com>
  7375. * rest-api/api-docs/asterisk.json: Correct allowable values for ARI
  7376. general information filter
  7377. 2013-10-02 18:57 +0000 [r400286] Matthew Jordan <mjordan@digium.com>
  7378. * main/cdr.c: Fix the CDR CLI command 'cdr show active {channel}'
  7379. When the switch from channel names to channel unique IDs
  7380. happened, the poor CLI command got left in the dust. This fixes
  7381. the command so that users can once again see how Asterisk is
  7382. messing up your billing information.
  7383. 2013-10-02 18:42 +0000 [r400284] Joshua Colp <jcolp@digium.com>
  7384. * res/res_pjsip_t38.c: Fix a crash in res_pjsip_t38 caused by the
  7385. wrong assumption that a session will always have a channel. When
  7386. starting up or shutting down this assumption is false.
  7387. 2013-10-02 18:25 +0000 [r400281] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
  7388. * Makefile, doc/astdb2sqlite3.8 (added), /, doc/astdb2bdb.8
  7389. (added): man pages for astdb2bdb and astdb2sqlite3 Review:
  7390. https://reviewboard.asterisk.org/r/2898/ ........ Merged
  7391. revisions 400279 from
  7392. http://svn.asterisk.org/svn/asterisk/branches/11
  7393. 2013-10-02 17:11 +0000 [r400268-400270] Richard Mudgett <rmudgett@digium.com>
  7394. * main/utils.c, apps/app_stack.c, res/stasis_recording/stored.c,
  7395. main/json.c, main/stasis_cache.c, res/res_ari.c: MALLOC_DEBUG:
  7396. Fix some misuses of free() when MALLOC_DEBUG is enabled. * There
  7397. were several places in ARI where an external library was
  7398. mallocing memory that must always be released with free(). When
  7399. MALLOC_DEBUG is enabled, free() is redirected to the MALLOC_DEBUG
  7400. version. Since the external library call still uses the normal
  7401. malloc(), MALLOC_DEBUG complains that the freed memory block is
  7402. not registered and will not free it. These cases must use
  7403. ast_std_free(). * Changed calls to asprintf() and vasprintf() to
  7404. the equivalent ast_asprintf() and ast_vasprintf() versions
  7405. respectively.
  7406. * channels/sig_ss7.c: sig_ss7: Fix compiler warnings.
  7407. 2013-10-02 16:20 +0000 [r400245-400265] Joshua Colp <jcolp@digium.com>
  7408. * channels/chan_jingle.c, main/channel.c, main/dial.c,
  7409. channels/chan_dahdi.c, include/asterisk/stasis_channels.h,
  7410. channels/chan_skinny.c, channels/chan_motif.c,
  7411. channels/chan_alsa.c, main/stasis_channels.c,
  7412. channels/chan_pjsip.c, channels/sig_ss7.c, channels/chan_mgcp.c,
  7413. channels/chan_unistim.c, apps/app_dial.c, main/pbx.c,
  7414. channels/chan_sip.c, main/bridge.c, include/asterisk/channel.h,
  7415. channels/chan_gtalk.c, channels/chan_console.c,
  7416. channels/sig_pri.c, channels/chan_iax2.c: Reduce channel snapshot
  7417. creation and publishing by up to 50%. This change introduces the
  7418. ability to stage channel snapshot creation and publishing by
  7419. suppressing the implicit creation and publishing that some
  7420. functions have. Once all operations are executed the staging is
  7421. marked as done and a single snapshot is created and published.
  7422. Review: https://reviewboard.asterisk.org/r/2889/
  7423. * res/res_pjsip_session.c: Fix a random one way audio issue in
  7424. PJSIP. Due to the asynchronous design of the PJMEDIA SDP
  7425. negotiator it was possible for the SDP to be negotiated *after* a
  7426. channel was created and after it was being wait on by an
  7427. application. It is only after negotiation occurs that the file
  7428. descriptors for RTP are placed on the channel. Since the channel
  7429. was already being waited on these file descriptors were not
  7430. monitored, causing incoming media to never be read. This change
  7431. wakes up any application waiting on the channel so that added
  7432. file descriptors end up being monitored. (closes issue AST-1227)
  7433. Reported by: John Bigelow
  7434. * res/stasis/control.c, include/asterisk/stasis_app.h,
  7435. res/ari/resource_channels.c: Allow specifying a channel to dial
  7436. an extension and context in an ARI dial operation. (issue
  7437. ASTERISK-22625) Reported by: Scott Griepentrog
  7438. * res/res_pjsip_session.c: Retrieve and store the hostname only
  7439. once so multiple threads do not potentially initialize it at the
  7440. same time.
  7441. 2013-10-01 21:17 +0000 [r400227-400236] Richard Mudgett <rmudgett@digium.com>
  7442. * channels/chan_dahdi.c, channels/sig_analog.c: chan_dahdi: Fix
  7443. analog parking using flash-hook. Transferring an analog call
  7444. using a flash-hook to parking would fail to park the call and
  7445. result in an invalid ao2 object unref. * Park the correct bridged
  7446. channel.
  7447. * main/features_config.c: Features: Rearm the parking config
  7448. options have moved warning for each reload.
  7449. 2013-10-01 15:48 +0000 [r400217] Matthew Jordan <mjordan@digium.com>
  7450. * main/cdr.c: Filter out internal channels for bridge leave
  7451. messages and parked call messages Granted, if you manage to park
  7452. a Conference announcer channel, something has gone horrifically
  7453. wrong.
  7454. 2013-09-30 21:31 +0000 [r400205] Jonathan Rose <jrose@digium.com>
  7455. * configs/res_parking.conf.sample, configs/features.conf.sample:
  7456. configuration samples: Pull all parking related stuff out of
  7457. features.conf This patch also adds documentation for parking from
  7458. features.conf to res_parking.conf
  7459. 2013-09-30 19:57 +0000 [r400194-400196] Matthew Jordan <mjordan@digium.com>
  7460. * funcs/func_cdr.c: Parse arguments passed to the CDR_PROP function
  7461. correctly I can only blame this on a bad merge, because this in
  7462. no way worked properly the way it was written. Mea culpa. The
  7463. function should now parse its arguments correctly and function
  7464. properly. (Note that the API used by the CDR_PROP function has
  7465. working unit tests... this was merely bad coding of the actual
  7466. registered function) (closes issue ASTERISK-22613) Reported by:
  7467. Private Name
  7468. * main/cdr.c: Remove spurious event raised when CDRs are reloaded
  7469. The Reload event is now raised by the module loading core. As
  7470. such, the Reload event in the CDR engine was a duplicate and not
  7471. needed.
  7472. 2013-09-30 18:48 +0000 [r400178-400181] David M. Lee <dlee@digium.com>
  7473. * include/asterisk/stasis.h, main/devicestate.c, res/res_xmpp.c,
  7474. main/taskprocessor.c, main/sounds_index.c, main/endpoints.c,
  7475. channels/chan_iax2.c, res/res_jabber.c,
  7476. res/parking/parking_bridge_features.c, res/res_chan_stats.c,
  7477. main/cdr.c, main/manager_bridges.c, main/manager.c,
  7478. channels/chan_skinny.c, tests/test_devicestate.c,
  7479. res/res_pjsip_mwi.c, tests/test_taskprocessor.c,
  7480. tests/test_stasis.c, res/parking/parking_manager.c,
  7481. channels/chan_mgcp.c, res/res_security_log.c, main/pbx.c,
  7482. main/ccss.c, apps/app_meetme.c, include/asterisk/taskprocessor.h,
  7483. res/parking/parking_applications.c, channels/sig_pri.c,
  7484. apps/app_queue.c, main/cel.c, main/stasis.c,
  7485. channels/chan_dahdi.c, main/stasis_message_router.c,
  7486. funcs/func_presencestate.c, apps/confbridge/confbridge_manager.c,
  7487. res/res_agi.c, res/res_stasis_test.c, main/manager_channels.c,
  7488. main/manager_mwi.c, res/res_pjsip_refer.c, apps/app_voicemail.c,
  7489. main/stasis_cache.c, main/stasis_wait.c, res/stasis/app.c,
  7490. include/asterisk/stasis_internal.h, channels/chan_sip.c,
  7491. main/manager_endpoints.c: Remove dispatch object allocation from
  7492. Stasis publishing While looking for areas for performance
  7493. improvement, I realized that an unused feature in Stasis was
  7494. negatively impacting performance. When a message is sent to a
  7495. subscriber, a dispatch object is allocated for the dispatch,
  7496. containing the topic the message was published to, the subscriber
  7497. the message is being sent to, and the message itself. The topic
  7498. is actually unused by any subscriber in Asterisk today. And the
  7499. subscriber is associated with the taskprocessor the message is
  7500. being dispatched to. First, this patch removes the unused topic
  7501. parameter from Stasis subscription callbacks. Second, this patch
  7502. introduces the concept of taskprocessor local data, data that may
  7503. be set on a taskprocessor and provided along with the data
  7504. pointer when a task is pushed using the
  7505. ast_taskprocessor_push_local() call. This allows the task to have
  7506. both data specific to that taskprocessor, in addition to data
  7507. specific to that invocation. With those two changes, the dispatch
  7508. object can be removed completely, and the message is simply
  7509. refcounted and sent directly to the taskprocessor. Review:
  7510. https://reviewboard.asterisk.org/r/2884/
  7511. * main/manager_system.c, tests/test_stasis.c,
  7512. main/manager_channels.c, main/manager_mwi.c,
  7513. main/stasis_cache_pattern.c, include/asterisk/vector.h (added),
  7514. res/stasis/app.c, main/channel_internal_api.c,
  7515. include/asterisk/stasis.h, apps/app_queue.c, main/cel.c,
  7516. main/stasis.c, tests/test_stasis_endpoints.c, main/cdr.c,
  7517. main/manager_bridges.c, main/manager.c: Optimize how Stasis
  7518. forwards are dispatched This patch optimizes how forwards are
  7519. dispatched in Stasis. Originally, forwards were dispatched as
  7520. subscriptions that are invoked on the publishing thread. This did
  7521. not account for the vast number of forwards we would end up
  7522. having in the system, and the amount of work it would take to
  7523. walk though the forward subscriptions. This patch modifies Stasis
  7524. so that rather than walking the tree of forwards on every
  7525. dispatch, when forwards and subscriptions are changed, the
  7526. subscriber list for every topic in the tree is changed. This has
  7527. a couple of benefits. First, this reduces the workload of
  7528. dispatching messages. It also reduces contention when dispatching
  7529. to different topics that happen to forward to the same
  7530. aggregation topic (as happens with all of the channel, bridge and
  7531. endpoint topics). Since forwards are no longer subscriptions, the
  7532. bulk of this patch is simply changing stasis_subscription objects
  7533. to stasis_forward objects (which, admittedly, I should have done
  7534. in the first place.) Since this required me to yet again put in a
  7535. growing array, I finally abstracted that out into a set of
  7536. ast_vector macros in asterisk/vector.h. Review:
  7537. https://reviewboard.asterisk.org/r/2883/
  7538. * configure, include/asterisk/autoconfig.h.in,
  7539. configs/stasis.conf.sample (removed), include/asterisk/sem.h
  7540. (added), configure.ac, include/asterisk/stasis.h,
  7541. main/taskprocessor.c, main/sem.c (added), main/stasis.c,
  7542. main/stasis_config.c (removed), include/asterisk/taskprocessor.h:
  7543. Taskprocessor optimization; switch Stasis to use taskprocessors
  7544. This patch optimizes taskprocessor to use a semaphore for
  7545. signaling, which the OS can do a better job at managing
  7546. contention and waiting that we can with a mutex and condition.
  7547. The taskprocessor execution was also slightly optimized to reduce
  7548. the number of locks taken. The only observable difference in the
  7549. taskprocessor implementation is that when the final reference to
  7550. the taskprocessor goes away, it will execute all tasks to
  7551. completion instead of discarding the unexecuted tasks. For
  7552. systems where unnamed semaphores are not supported, a really
  7553. simple semaphore implementation is provided. (Which gives
  7554. identical performance as the original taskprocessor
  7555. implementation). The way we ended up implementing Stasis caused
  7556. the threadpool to be a burden instead of a boost to performance.
  7557. This was switched to just use taskprocessors directly for
  7558. subscriptions. Review: https://reviewboard.asterisk.org/r/2881/
  7559. 2013-09-30 15:55 +0000 [r400141] Kinsey Moore <kmoore@digium.com>
  7560. * configs/pjsip.conf.sample, res/res_pjsip_outbound_registration.c,
  7561. configs/sip.conf.sample, CHANGES, /, channels/chan_sip.c:
  7562. chan_sip: Allow Asterisk to retry after 403 on register This adds
  7563. a global option in chan_sip to allow it to continue attempting
  7564. registration if a 403 is received, clearing the cached nonce and
  7565. treating it as a non-fatal response. Normally, this would cause
  7566. registration attempts to that endpoint to stop. This also adds a
  7567. similar per-outbound-registration option to chan_pjsip which
  7568. allows the retry interval to be altered for 403 responses to
  7569. REGISTER requests. (closes issue ASTERISK-17138) Review:
  7570. https://reviewboard.asterisk.org/r/2874/ Reported by: Rudi
  7571. ........ Merged revisions 400137 from
  7572. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7573. revisions 400140 from
  7574. http://svn.asterisk.org/svn/asterisk/branches/11
  7575. 2013-09-30 15:24 +0000 [r400138] David M. Lee <dlee@digium.com>
  7576. * main/astobj2.c, main/stasis.c, main/stasis_message_router.c,
  7577. main/taskprocessor.c, include/asterisk/stasis_message_router.h,
  7578. res/res_pjsip/include/res_pjsip_private.h, tests/test_stasis.c:
  7579. Stasis performance improvements This patch addresses several
  7580. performance problems that were found in the initial performance
  7581. testing of Asterisk 12. The Stasis dispatch object was allocated
  7582. as an AO2 object, even though it has a very confined lifecycle.
  7583. This was replaced with a straight ast_malloc(). The Stasis
  7584. message router was spending an inordinate amount of time
  7585. searching hash tables. In this case, most of our routers had 6 or
  7586. fewer routes in them to begin with. This was replaced with an
  7587. array that's searched linearly for the route. We more heavily
  7588. rely on AO2 objects in Asterisk 12, and the memset() in ao2_ref()
  7589. actually became noticeable on the profile. This was #ifdef'ed to
  7590. only run when AO2_DEBUG was enabled. After being misled by an
  7591. erroneous comment in taskprocessor.c during profiling, the wrong
  7592. comment was removed. Review:
  7593. https://reviewboard.asterisk.org/r/2873/
  7594. 2013-09-28 22:56 +0000 [r400058-400121] Matthew Jordan <mjordan@digium.com>
  7595. * res/res_pjsip_notify.c, configs/pjsip_notify.conf.sample (added):
  7596. res_pjsip_notify: Add documentation We forgot to add
  7597. documentation for res_pjsip_notify, which would prevent it from
  7598. being loaded. Whoops. This patch also updates res_pjsip_notify to
  7599. use pjsip_notify.conf, which now has its own sample file in the
  7600. configs directory as well. Review:
  7601. https://reviewboard.asterisk.org/r/2835/
  7602. * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Correct erroneous
  7603. lost packet information in RTCP reports RTCP's calculation of the
  7604. number of lost packets in an RTP stream is based on that stream's
  7605. sequence number count, the number of received packets, and how
  7606. many packets we expect to receive. When the SSRC for an RTP
  7607. stream changes, there can - and almost always will be - a large
  7608. jump in the next packet's timestamp and sequence number. If we
  7609. don't reset the number of received packets, sequence number
  7610. count, and other metrics used by RTCP, the next RR/SR report will
  7611. use the previous SSRC's values to calculate the lost packet count
  7612. for the new SSRC - resulting in a very large number of lost
  7613. packets. This patch modifies res_rtp_asterisk such that, if it
  7614. detects a SSRC change, it will reset the various values used by
  7615. the RTCP calculations. From the perspective of RTCP, this appears
  7616. as a new media stream - which is what it is. Review:
  7617. https://reviewboard.asterisk.org/r/2886/ (closes issue AST-1174)
  7618. Reported by: Thomas Arimont ........ Merged revisions 400089 from
  7619. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7620. revisions 400093 from
  7621. http://svn.asterisk.org/svn/asterisk/branches/11
  7622. * configure.ac, /, configure: Add check for openSUSE when detecting
  7623. bfd library In ASTERISK-17842, some additional library checks
  7624. were added to the configure script so that the bfd library could
  7625. be found on CentOS and Fedora systems. As it turns out, openSUSE
  7626. requires an additional library. This patch adds another check to
  7627. the configure script for openSUSE that will add that library.
  7628. Review: https://reviewboard.asterisk.org/r/2885/ (closes issue
  7629. AST-1169) Reported by: Guenther Kelleter ........ Merged
  7630. revisions 400073 from
  7631. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7632. revisions 400075 from
  7633. http://svn.asterisk.org/svn/asterisk/branches/11
  7634. * main/cdr.c: CDR: Improve handling of parking; resolve assertion
  7635. when originating into park This patch covers two problems: 1)
  7636. Currently, when a call is transferred into a parking lot from a
  7637. bridge (using either the blind transfer or one touch parking
  7638. mechanisms), the application fails to be set to "Park" in the
  7639. resulting CDR record for the parked channel. This is due to the
  7640. ParkedCall message arriving before the BridgeEnter for the
  7641. channel entering the parking bridge. The ParkedCall message isn't
  7642. handled as the CDR for the channel has already been finalized
  7643. (due to the channel having left its two party bridge), and the
  7644. BridgeEnter - which creates the new CDR - doesn't have the
  7645. parking information. This patch modifies the behavior so that
  7646. reception of a ParkedCall message will - if not handled by a CDR
  7647. chain - cause a new CDR to be created and put into the Parking
  7648. state. 2) It fixes a FRACK that occurred when a channel is
  7649. originated into a parking space. The DialedPending state - which
  7650. occurs for both Dialed and Originated channels - assumed that it
  7651. couldn't handle the parking transitions due to it having a Party
  7652. B; however, Originated channels don't have a Party B. As such,
  7653. the existing CDR needs to transition into the parking state -
  7654. this patch does that. Review:
  7655. https://reviewboard.asterisk.org/r/2877/ (closes issue
  7656. ASTERISK-22482) Reported by: Richard Mudgett
  7657. * apps/app_queue.c: app_queue: Make manager events tolerant of
  7658. Local channel shenanigans app_queue currently attempts to handle
  7659. Local channel optimizations in an effort to provide accurate
  7660. information in Stasis messages (and their corresponding AMI
  7661. events) as well as the Queue log. Sometimes, however, things
  7662. don't go as planned. Consider the following scenario: SIP/foo <->
  7663. L;1 <-> L;2 <-> SIP/agent SIP/agent answers, triggering a Local
  7664. channel optimization. app_queue will normally do the following: *
  7665. Listen for the Local optimization events and update our agent
  7666. accordingly to SIP/agent in the queue log and messages * When we
  7667. get a hangup, publish the AgentComplete event based on our
  7668. information (SIP/foo and SIP/agent) However, as with all things
  7669. that depend on sanity from something as capricious as Local
  7670. channels, things can go wrong: (1) SIP/agent immediately hangs up
  7671. upon answering. This triggers a race condition between
  7672. termination messages coming from SIP/agent and the ongoing Local
  7673. channel optimization messages. (Note that this can also occur
  7674. with SIP/foo) (2) In a race condition, Asterisk can (rarely)
  7675. deliver the hangup messages prior to the Local channel
  7676. optimization. In that case, the messages *may* arrive to
  7677. app_queue in the following order: * Hangup SIP/Agent * Hangup
  7678. SIP/foo * Optimize L;1/L;2 * Hangup L;2 * Hangup L;1 When
  7679. app_queue receives the hangup of the agent or the caller, it will
  7680. attempt to publish the AgentComplete event. However, it now has a
  7681. problem - it thinks its agent is the ;1 side of the Local
  7682. channel, as it never received the optimization event. At the same
  7683. time, that channel is already gone. This results in getting NULL
  7684. from the Stasis cache. What's more, we can't really wait for the
  7685. optimization message, as we are currently handling the hangup of
  7686. the channel that the optimization event would tell us to use.
  7687. This patch modifies the behavior in app_queue such that, since we
  7688. still have a lot of pertinent queue information (interface, queue
  7689. name, etc.), we now raise the event with what information we
  7690. know. The channels involved now may or may not be present. Users
  7691. will still at least get the "AgentComplete" event, which
  7692. "completes" the known Agent information. Review:
  7693. https://reviewboard.asterisk.org/r/2878/ (closes issue
  7694. ASTERISK-22507) Reported by: Richard Mudgett
  7695. * main/manager.c: manager: Fix crash when appending a manager
  7696. channel variable In r399887, a minor performance improvement was
  7697. introduced by not allocating the manager variable struct if it
  7698. wasn't used. Unfortunately, when directly accessing an
  7699. ast_channel struct, manager assumed that the struct was always
  7700. allocated. Since this was no longer the case, things got a bit
  7701. crashy. This fixes that problem by simply bypassing appending
  7702. variables if the manager channel variable struct isn't there.
  7703. 2013-09-27 21:56 +0000 [r400015-400020] Richard Mudgett <rmudgett@digium.com>
  7704. * apps/app_cdr.c, res/res_parking.c: app_cdr and res_parking: Fix
  7705. some resource leaks. * app_cdr left the ResetCDR application
  7706. registered. * res_parking leaked a ref to config global. (closes
  7707. issue ASTERISK-22566) Reported by: Corey Farrell Patches:
  7708. ASTERISK-22566-r2.patch (license #5909) patch uploaded by Corey
  7709. Farrell
  7710. * /, channels/chan_sip.c, channels/sip/reqresp_parser.c: chan_sip:
  7711. Increase some scratch buffer sizes dealing with caller id. *
  7712. Eliminated an unnecessary initialization in check_user_full().
  7713. (closes issue ASTERISK-22477) Reported by: Michael Shepelev
  7714. ........ Merged revisions 400013 from
  7715. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7716. revisions 400014 from
  7717. http://svn.asterisk.org/svn/asterisk/branches/11
  7718. 2013-09-27 18:26 +0000 [r399990] Kevin Harwell <kharwell@digium.com>
  7719. * include/asterisk/res_pjsip.h, res/res_pjsip.exports.in,
  7720. res/res_pjsip.c, res/res_pjsip_session.c: res_pjsip: crash when
  7721. using localnet and external_signaling_address options There was a
  7722. collision of mod_data use on the transaction between using a nat
  7723. hook and an session response callback. During state change it was
  7724. assumed what was in the mod_data was nothing or the response
  7725. callback. However, it was possible for it to also contain a nat
  7726. hook thus resulting in a bad cast and a crash. Added the ability
  7727. to store multiple data elements in mod_data via a hash table. In
  7728. this instance, mod_data now stores a hash table of the two values
  7729. that can be retrieved using an associated string key. (closes
  7730. issue ASTERISK-22394) Reported by: Rusty Newton Review:
  7731. https://reviewboard.asterisk.org/r/2843/
  7732. 2013-09-27 17:34 +0000 [r399976] Jonathan Rose <jrose@digium.com>
  7733. * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
  7734. Reject calls on 200 OKs if no SDP has been received When Asterisk
  7735. receives a 200 OK in response to an invite, that peer should have
  7736. sent an SDP at some point by then. If the channel has never
  7737. received an SDP, media won't have been set and the remote address
  7738. won't be known. Endpoints in general should not be doing this.
  7739. This patch makes it so that Asterisk will simply hang up a call
  7740. if it sends a 200 OK at this point. So far this odd behavior for
  7741. endpoints has only been observed in tests which involved manually
  7742. created SIP transactions in SIPp. (closes issue ASTERISK-22424)
  7743. Reported by: Jonathan Rose Review:
  7744. https://reviewboard.asterisk.org/r/2827/ ........ Merged
  7745. revisions 399939 from
  7746. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7747. revisions 399962 from
  7748. http://svn.asterisk.org/svn/asterisk/branches/11
  7749. 2013-09-27 17:03 +0000 [r399937] Richard Mudgett <rmudgett@digium.com>
  7750. * include/asterisk/astobj2.h, tests/test_astobj2.c, main/astobj2.c:
  7751. astobj2: Remove OBJ_CONTINUE support. OBJ_CONTINUE was a strange
  7752. feature that came into the world under suspicious circumstances
  7753. to support an abuse of the ao2_container by chan_iax2. Since
  7754. chan_iax2 no longer uses OBJ_CONTINUE, it is safe to remove it.
  7755. The simplified code should help performance slightly and make
  7756. understanding the code easier. Review:
  7757. https://reviewboard.asterisk.org/r/2887/
  7758. 2013-09-27 14:29 +0000 [r399924] Mark Michelson <mmichelson@digium.com>
  7759. * bridges/bridge_native_rtp.c: Fix refleaks of ast_rtp_instance
  7760. structures. These refleaks were causing bridged calls not to
  7761. close their RTP ports. Thus a call would leave open 4 ports (RTP
  7762. for party A, RTCP for party A, RTP for party B, and RTCP for
  7763. party B). This led to an eventual depletion of available RTP
  7764. ports.
  7765. 2013-09-27 14:01 +0000 [r399912] Kinsey Moore <kmoore@digium.com>
  7766. * include/asterisk/cel.h, tests/test_cel.c, main/cel.c: Restore
  7767. usefulness of the CEL Peer field This change makes the CEL peer
  7768. field useful again for BRIDGE_ENTER and BRIDGE_EXIT events and
  7769. fills the field with a comma-separated list of all channels in
  7770. the bridge other than the channel that is entering or exiting the
  7771. bridge. Review: https://reviewboard.asterisk.org/r/2840/ (closes
  7772. issue ASTERISK-22393)
  7773. 2013-09-26 18:48 +0000 [r399897] Kevin Harwell <kharwell@digium.com>
  7774. * res/res_pjsip/security_events.c, res/res_pjsip_registrar.c,
  7775. include/asterisk/res_pjsip.h, res/res_pjsip.exports.in: pjsip:
  7776. race condition in registrar While handling a registration request
  7777. a race condition could occur if/when two+ clients registered at
  7778. the same time. This happened when one request obtained a copy of
  7779. the current contacts for an AOR and another request did the same
  7780. before the first request updated. Thus the second would update
  7781. and overwrite the first (or vice-versa depending on which
  7782. actually updated first). In the case of it being the same contact
  7783. two "add" events would be raised. pjsip registration handling is
  7784. now serialized to alleviate this issue. (closes issue AST-1213)
  7785. Reported by: John Bigelow Review:
  7786. https://reviewboard.asterisk.org/r/2860/
  7787. 2013-09-26 15:41 +0000 [r399887] David M. Lee <dlee@digium.com>
  7788. * main/channel.c: Minor performance bump by not allocate manager
  7789. variable struct if we don't need it
  7790. 2013-09-26 14:12 +0000 [r399874] Rusty Newton <rnewton@digium.com>
  7791. * apps/app_dial.c: Adding a few words to the Dial option 'r' help
  7792. text to clarify its tone argument description
  7793. 2013-09-25 20:36 +0000 [r399842] Richard Mudgett <rmudgett@digium.com>
  7794. * channels/sig_ss7.c, channels/chan_dahdi.c, /: chan_dahdi: CLI
  7795. "core stop gracefully" has needless delay for PRI and SS7. The
  7796. PRI and SS7 link control threads are not stopped correctly when
  7797. the chan_dahdi.so module is unloaded. The link control threads
  7798. pri_dchannel() and ss7_linkset() are not awakened from a poll()
  7799. to cancel the thread. * Added a SIGURG signal after requesting
  7800. the thread cancel to break the link control thread poll()
  7801. immediately. For SS7 it was slightly worse, the link poll()
  7802. timeout would always be whatever was the last libss7 scheduled
  7803. event time used. If no libss7 scheduled event was pending, the
  7804. thread could run more often than necessary. * Set nextms to 60
  7805. seconds for the ss7_linkset() poll() if there is no other libss7
  7806. scheduled event. ........ Merged revisions 399818 from
  7807. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7808. revisions 399834 from
  7809. http://svn.asterisk.org/svn/asterisk/branches/11
  7810. 2013-09-25 19:40 +0000 [r399798] Rusty Newton <rnewton@digium.com>
  7811. * res/res_pjsip.c: Broke the build - Fixing XML DTD violation added
  7812. in r399782, missing <para> tags inside a <note>
  7813. 2013-09-25 19:28 +0000 [r399796] Michael L. Young <elgueromexicano@gmail.com>
  7814. * /, channels/chan_sip.c: chan_sip: Fix Realtime Peer Update
  7815. Problem When Un-registering And Expires Header In 200ok 1st Issue
  7816. When a realtime peer sends an un-REGISTER request, Asterisk
  7817. un-registers the peer but the database table record still has
  7818. regseconds and fullcontact for the peer. This results in calls
  7819. attempting to be routed to the peer which is no longer
  7820. registered. The expected behavior is to get busy/congested when
  7821. attempting to call an un-registered peer through the dialplan.
  7822. What was discovered is that we are clearing out the peer's
  7823. registration in the database in parse_register_contact() when
  7824. calling expire_register() but then upon returning from
  7825. parse_register_contact(), update_peer() is run which stores back
  7826. in the database table regseconds and fullcontact. 2nd Issue The
  7827. reporter pointed out that the 200 ok being returned by Asterisk
  7828. after un-registering a peer contains a Contact header with
  7829. ;expires= and the Expires header is not set to 0. This is
  7830. actually a regression. Tests were created for this second issue
  7831. (ASTERISK-22548). The tests have been reviewed and a Ship It! was
  7832. received on those tests. This patch does the following: * Do not
  7833. ignore the Expires header value even when it is set to 0. The
  7834. patch sets the pvt->expiry earlier on in the function so that it
  7835. is set properly and used. * If pvt->expiry is 0, do not call
  7836. update_peer since that means the peer has already been
  7837. un-registered and there is no need to update the database record
  7838. again since nothing has changed. (closes issue ASTERISK-22428)
  7839. Reported by: Ben Smithurst Tested by: Ben Smithurst, Michael L.
  7840. Young Patches:
  7841. asterisk-22428-rt-peer-update-and-expires-header.diff by Michael
  7842. L. Young (license 5026) Review:
  7843. https://reviewboard.asterisk.org/r/2869/ ........ Merged
  7844. revisions 399794 from
  7845. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7846. revisions 399795 from
  7847. http://svn.asterisk.org/svn/asterisk/branches/11
  7848. 2013-09-25 18:36 +0000 [r399781] Rusty Newton <rnewton@digium.com>
  7849. * res/res_pjsip.c: Fixing documentation for the configOption
  7850. "external_media_address" of both Endpoints and Transports
  7851. Re-using some of Mark Michelson's text from an E-mail discussion
  7852. for: * Modifying synopsis for both options * Adding description
  7853. to both options * Changing name of "external_media_address" for
  7854. Endpoint configuration to "media_address" in anticipation of the
  7855. option name being changed. (As it is not really specific to
  7856. external destinations) (issue ASTERISK-22405) (closes issue
  7857. ASTERISK-22405) Reported by: Rusty Newton Review:
  7858. https://reviewboard.asterisk.org/r/2850/
  7859. 2013-09-24 22:50 +0000 [r399736-399749] Richard Mudgett <rmudgett@digium.com>
  7860. * main/astobj2.c: astobj2: Made use OBJ_SEARCH_xxx identifiers as
  7861. field enum values internally. * Made ao2_unlink to protect itself
  7862. from stray OBJ_SEARCH_xxx values passed in.
  7863. * channels/chan_iax2.c, /: chan_iax2: Prevent some needless
  7864. breaking of the native IAX2 bridge. * Clean up some twisted code
  7865. in the iax2_bridge() loop. * Add AST_CONTROL_VIDUPDATE and
  7866. AST_CONTROL_SRCCHANGE to a list of frames to prevent the native
  7867. bridge loop from breaking. * Passing the
  7868. AST_CONTROL_T38_PARAMETERS frame should also allow FAX over a
  7869. native IAX2 bridge. (issue ABE-2912) Review:
  7870. https://reviewboard.asterisk.org/r/2870/ ........ Merged
  7871. revisions 399697 from
  7872. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  7873. revisions 399708 from
  7874. http://svn.asterisk.org/svn/asterisk/branches/11 For v12 and
  7875. above this is really just documentation until IAX2 native
  7876. bridging is restored.
  7877. 2013-09-24 19:22 +0000 [r399666-399695] Matthew Jordan <mjordan@digium.com>
  7878. * apps/app_queue.c: app_queue: Don't be quite so aggressive in
  7879. initializing the array We only need the first character.
  7880. * apps/app_queue.c: app_queue: Initialize array holding MixMonitor
  7881. exec options If the channel variable MONITOR_EXEC is set,
  7882. app_queue will pass the specified execution parameters to the
  7883. MixMonitor application when a queue is recorded. If that channel
  7884. variable is not set, the buffer that holds the escaped value was
  7885. not being initialized to NULL, and so would be passed to the
  7886. MixMonitor application with garbage. Hilarity ensued as
  7887. app_mixmonitor attempted to execute gobeldy-gook.
  7888. * main/cdr.c, main/stasis_bridges.c, tests/test_cdr.c: Fix a
  7889. performance problem CDRs There is a large performance price
  7890. currently in the CDR engine. We currently perform two
  7891. ao2_callback calls on a container that has an entry for every
  7892. channel in the system. This is done to create matching pairs
  7893. between channels in a bridge. As such, the portion of the CDR
  7894. logic that this patch deals with is how we make pairings when a
  7895. channel enters a mixing bridge. In general, when a channel enters
  7896. such a bridge, we need to do two things: (1) Figure out if anyone
  7897. in the bridge can be this channel's Party B. (2) Make pairings
  7898. with every other channel in the bridge that is not already our
  7899. Party B. This is a two step process. In the first step, we look
  7900. through everyone in the bridge and see if they can be our Party B
  7901. (single_state_process_bridge_enter). If they can - yay! We mark
  7902. our CDR as having gotten a Party B. If not, we keep searching. If
  7903. we don't find one, we wait until someone joins who can be our
  7904. Party B. Step 2 is where we changed the logic
  7905. (handle_bridge_pairings and bridge_candidate_process).
  7906. Previously, we would first find candidates - those channels in
  7907. the bridge with us - from the active_cdrs_by_channel container.
  7908. Because a channel could be a candidate if it was Party B to an
  7909. item in the container, the code implemented multiple
  7910. ao2_container callbacks to get all the candidates. We also had to
  7911. store them in another container with some other meta information.
  7912. This was rather complex and costly, particularly if you have 300
  7913. Local channels (600 channels!) going at once. Luckily, none of it
  7914. is needed: when a channel enters a bridge (which is when we're
  7915. figuring all this stuff out), the bridge snapshot tells us the
  7916. unique IDs of everyone already in the bridge. All we need to do
  7917. is: For all channels in the bridge: If the channel is us or our
  7918. Party B that we got in step 1, skip it Compare us and the
  7919. candidate to figure out who is Party A (based on some specific
  7920. rules) If we are Party A: Make a new CDR for us, append it to our
  7921. chain, and set the candidate as Party B If they are Party A: If
  7922. they don't have a Party B: Make a new CDR for them, append us to
  7923. their chain, and us as Party B Otherwise: Copy us over as Party B
  7924. on their existing CDR. This patch does that. Because we now use
  7925. channel unique IDs to find the candidates during bridging,
  7926. active_cdrs_by_channel now looks up things using uniqueid instead
  7927. of channel name. This makes the more complex code simpler; it
  7928. does, however, have the drawback that dialplan applications and
  7929. functions will be slightly slower as they have to iterate through
  7930. the container looking for the CDR by name. That's a small price
  7931. to pay however as the bridging code will be called a lot more
  7932. often. This patch also does two other minor changes: (1) It
  7933. reduces the container size of the channels in a bridge snapshot
  7934. to 1. In order to be predictable for multi-party bridges, the
  7935. order of the channels in the container must be stable; that is,
  7936. it must always devolve to a linked list. (2) CDRs and the
  7937. multi-party test was updated to show the relationship between two
  7938. dialed channels. You still want to know if they talked -
  7939. previously, dialed channels were always ignored, which is wrong
  7940. when they have managed to get a Party B. (closes issue
  7941. ASTERISK-22488) Reported by: Richard Mudgett Review:
  7942. https://reviewboard.asterisk.org/r/2861/
  7943. 2013-09-23 12:02 +0000 [r399624] Joshua Colp <jcolp@digium.com>
  7944. * res/res_pjsip.c, res/res_pjsip_session.c: Fix crash in res_pjsip
  7945. on load if error occurs, and prevent unloading of res_pjsip and
  7946. res_pjsip_session. During load time in res_pjsip if an error
  7947. occurred the operation would attempt to rollback all operations
  7948. done during load. This is not permitted by PJSIP as it will
  7949. assert if the operation has not been done. This fix changes the
  7950. code so it will only rollback what has been initialized already.
  7951. Further changes also prevent res_pjsip and res_pjsip_session from
  7952. being unloaded. This is due to limitations within PJSIP itself.
  7953. The library environment can only be changed to a certain extent
  7954. and does not provide the ability, currently, to deinitialize
  7955. certain required functionality. (closes issue ASTERISK-22474)
  7956. Reported by: Corey Farrell
  7957. 2013-09-21 04:48 +0000 [r399576-399607] Richard Mudgett <rmudgett@digium.com>
  7958. * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix ref leaks in
  7959. ast_rtcp_read(). Moved rtcp_report RAII_VAR declaration into the
  7960. loop so it is unref'ed after every loop. Moved message_blob to
  7961. loop and switched it to a regular variable. The regular variable
  7962. was used since message_blob is used in a very contained way.
  7963. (closes issue ASTERISK-22565) Reported by: Corey Farrell Patches:
  7964. rtcp_report-leak.patch (license #5909) patch uploaded by Corey
  7965. Farrell Tested by: Corey Farrell
  7966. * main/media_index.c: media_index: Fix process_description_file()
  7967. memory leak of file_id_persist.
  7968. * main/features_config.c: features_config: Fix config ref leak of
  7969. parkinglots. This leak happend for just about every channel
  7970. created.
  7971. * apps/app_queue.c: app_queue: Fix json blob ref leak. The json ref
  7972. from queue_member_blob_create() was never released.
  7973. * main/json.c: json: Make it obvious that ast_json_unref() is NULL
  7974. safe. It looked like the safety check was done after the NULL
  7975. pointer was used.
  7976. 2013-09-20 22:41 +0000 [r399565] Kinsey Moore <kmoore@digium.com>
  7977. * main/config_options.c, /: Ensure global types in the config
  7978. framework are initialized If a config object was allocated but
  7979. one of its global objects was never encountered, then the global
  7980. object's defaults were never applied. Ensure that global objects
  7981. are initialized properly upon allocation instead of on
  7982. configuration. Review: https://reviewboard.asterisk.org/r/2866/
  7983. ........ Merged revisions 399564 from
  7984. http://svn.asterisk.org/svn/asterisk/branches/11
  7985. 2013-09-20 22:04 +0000 [r399553] Jonathan Rose <jrose@digium.com>
  7986. * main/dial.c: originate/call forwarding: Fix a crash when
  7987. forwarding a call from originate (closes issue ASTERISK-22487)
  7988. Reported by: David M. Lee Review:
  7989. https://reviewboard.asterisk.org/r/2868/
  7990. 2013-09-20 16:17 +0000 [r399531] Joshua Colp <jcolp@digium.com>
  7991. * channels/chan_pjsip.c: Add a missing session supplement
  7992. unregistration in chan_pjsip for ACKs. (closes issue
  7993. ASTERISK-22453) Reported by: Corey Farrell Patches:
  7994. chan_pjsip_session_unregister_supplement.patch uploaded by Corey
  7995. Farrell (license 5909)
  7996. 2013-09-20 14:25 +0000 [r399514] Kevin Harwell <kharwell@digium.com>
  7997. * /, main/logger.c: Fix memory leak in logger. Fixed a memory leak
  7998. discovered in the logger where a temporary string buffer was not
  7999. being freed. (closes issue ASTERISK-22540) Reported by: John
  8000. Hardin ........ Merged revisions 399513 from
  8001. http://svn.asterisk.org/svn/asterisk/branches/11
  8002. 2013-09-19 23:16 +0000 [r399501] Richard Mudgett <rmudgett@digium.com>
  8003. * main/optional_api.c: optional_api: Make always use the standard
  8004. malloc functions even with MALLOC_DEBUG.
  8005. 2013-09-19 16:53 +0000 [r399458] Jonathan Rose <jrose@digium.com>
  8006. * /, channels/chan_sip.c: chan_sip: Make direct media reinvites for
  8007. T38 put Asterisk in the media path Prior to this patch, Asterisk
  8008. would incorrectly use the previous endpoint addresses in SDP in
  8009. spite of providing its own port. T38 is never meant to be done
  8010. through directmedia and Asterisk should always be in the media
  8011. path for these streams. (closes issue ASTERISK-17273) Reported
  8012. by: Kevin Stewart (closes issue ASTERISK-18706) Reported by:
  8013. Jeremy Kister Review: https://reviewboard.asterisk.org/r/2853/
  8014. ........ Merged revisions 399456 from
  8015. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8016. revisions 399457 from
  8017. http://svn.asterisk.org/svn/asterisk/branches/11
  8018. 2013-09-18 19:59 +0000 [r399404] Kinsey Moore <kmoore@digium.com>
  8019. * main/abstract_jb.c, /: Fix jitter buffer log file creation This
  8020. adjusts '/'-to-'#' replacement to replace all instances of '/'
  8021. instead of just the first to ensure that the jitter buffer log
  8022. file gets the correct name as per Richard Kenner's suggestion.
  8023. (closes issue ASTERISK-21036) Reported by: Richard Kenner
  8024. ........ Merged revisions 399402 from
  8025. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8026. revisions 399403 from
  8027. http://svn.asterisk.org/svn/asterisk/branches/11
  8028. 2013-09-18 17:23 +0000 [r399365-399376] Matthew Jordan <mjordan@digium.com>
  8029. * /, build_tools/prep_tarball: Update prep_tarball with new
  8030. documentation files on the Asterisk wiki This will now pull both
  8031. a command reference for the version being prepared, as well as an
  8032. Admin Guide that applies to all versions of Asterisk. (issue
  8033. ASTERISK-22439) Reported by: Olle Johansson ........ Merged
  8034. revisions 399351 from
  8035. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8036. revisions 399373 from
  8037. http://svn.asterisk.org/svn/asterisk/branches/11
  8038. * bridges/bridge_softmix.c, /: Add a WARNING in bridge_softmix when
  8039. a timing module isn't loaded If bridge_softmix fails to be
  8040. created because no timing source is present in Asterisk, this
  8041. will currently fail gracefully but with (most likely) a generic
  8042. error message by whatever module tried to create the softmix
  8043. bridge. This patch adds a more explicit warning so you can
  8044. actually diagnose and fix the problem. Review:
  8045. https://reviewboard.asterisk.org/r/2857/ ........ Merged
  8046. revisions 399353 from
  8047. http://svn.asterisk.org/svn/asterisk/branches/11
  8048. 2013-09-18 14:34 +0000 [r399339] Kevin Harwell <kharwell@digium.com>
  8049. * res/res_pjsip_messaging.c: res_pjsip_messaging: Register message
  8050. technology as pjsip pjsip's message technology was being
  8051. registered as 'sip', which was causing it to not load due it
  8052. conflicting with chan_sip's registered 'sip' technology for
  8053. messaging. It now registers as 'pjsip'. However, due to this
  8054. change the "to" field for outgoing pjsip messages need to be
  8055. prefixed with 'pjsip:' instead of 'sip:'. Incoming messages to
  8056. res_pjsip_messaging will automatically have their "to" fields
  8057. altered in order to accommodate the change. Outgoing messages
  8058. also handle changing it back to 'sip' before being sent so the
  8059. pjsip library will properly handle it. (closes issue
  8060. ASTERISK-22445) Reported by: Matt Jordan Review:
  8061. https://reviewboard.asterisk.org/r/2833/
  8062. 2013-09-18 00:12 +0000 [r399294] Michael L. Young <elgueromexicano@gmail.com>
  8063. * main/features_config.c: Fix Segfault In features-config.c When
  8064. Application Has No Arguments Some applications do not require
  8065. arguments. Therefore, when parsing application maps in
  8066. features.conf, it is possible that app_data will be set to NULL.
  8067. * This patch sets app_data to "" if it is NULL. Review:
  8068. https://reviewboard.asterisk.org/r/2804
  8069. 2013-09-17 23:08 +0000 [r399283] Mark Michelson <mmichelson@digium.com>
  8070. * include/asterisk/res_pjsip.h, res/res_pjsip_sdp_rtp.c,
  8071. res/res_pjsip/pjsip_configuration.c, res/res_pjsip_t38.c: Change
  8072. the "external_media_address" PJSIP endpoint option to
  8073. "media_address". The endpoint option does not apply to
  8074. communication with external entities. Rather, the option is
  8075. applied to all communications with the endpoint. The
  8076. external_media_address transport configuration option may
  8077. override the endpoint option if it turns out that we are going to
  8078. be communicating with an external entity. Two things of note: 1)
  8079. I have not updated the XML documentation. This is being taken
  8080. care of by Rusty as part of his work on issue ASTERISK-22405 2)
  8081. This commit is likely to cause testsuite failures since there are
  8082. tests that use the external_media_address endpoint option, and
  8083. they will need to be changed over. Well, I'm planning to get that
  8084. updated ASAP after this commit. (closes issue ASTERISK-22528)
  8085. reported by Rusty Newton
  8086. 2013-09-17 18:37 +0000 [r399268] Kevin Harwell <kharwell@digium.com>
  8087. * main/asterisk.c, /, main/logger.c: Remote console: more output
  8088. discrepancies The remote console continued to have issues with
  8089. its output. In this case CLI command output would either not show
  8090. up (if verbose level = 0) or would contain verbose prefixes (if
  8091. verbose level > 0) once log messages were sent to the remote
  8092. console. The fix now now adds verbose prefix data to all new
  8093. lines contained in a verbose log string. (closes issue
  8094. ASTERISK-22450) Reported by: David Brillert (closes issue
  8095. AST-1193) Reported by: Guenther Kelleter Review:
  8096. https://reviewboard.asterisk.org/r/2825/ ........ Merged
  8097. revisions 399267 from
  8098. http://svn.asterisk.org/svn/asterisk/branches/11
  8099. 2013-09-17 17:54 +0000 [r399257] Richard Mudgett <rmudgett@digium.com>
  8100. * include/asterisk/features_config.h: Fix doxygen to use correct
  8101. units of features.conf options.
  8102. 2013-09-17 17:09 +0000 [r399237-399247] Mark Michelson <mmichelson@digium.com>
  8103. * main/features_config.c, main/bridge_basic.c: Fix other timeouts
  8104. (atxferloopdelay and atxfernoanswertimeout) to use seconds
  8105. instead of milliseconds. Thanks to Richard Mudgett for pointing
  8106. this out.
  8107. * include/asterisk/features_config.h, main/bridge_basic.c,
  8108. main/features_config.c: Switch transferdigittimeout to be
  8109. configured as seconds instead of milliseconds. This was an
  8110. unintentional consequence of the update of features.conf to use
  8111. the config framework in Asterisk 12. Thanks to Marco Signorini on
  8112. the Asterisk developers list for pointing out the problem.
  8113. 2013-09-17 14:48 +0000 [r399225] Kevin Harwell <kharwell@digium.com>
  8114. * /, apps/confbridge/conf_state_multi_marked.c: Confbridge: empty
  8115. conference not being torn down Confbridge would not properly tear
  8116. down an empty conference bridge when all users were kicked via
  8117. end_marked=yes and at least one user was also set to wait_marked.
  8118. This occurred because while end_marked users were being kicked
  8119. and at least one was also set to wait_marked then the leave
  8120. wait_marked handler would be called on that user, but there would
  8121. be no waiting user (still considered active). The waiting users
  8122. would decrement and now be negative. The conference would remain,
  8123. but be put into an inactive state. The solution was to move from
  8124. the active list to the wait list, those users with wait_marked
  8125. set right before kicking. This allows both the active and wait
  8126. users to decrement correctly and the confbridge to tear down
  8127. properly. A crashed also occurred when trying to list the
  8128. specific conference from the CLI. This happened because the
  8129. conference specified was invalid. Since the conference properly
  8130. tears down now there is no way to reference it thus alleviating
  8131. the crash as well. (closes issue ASTERISK-21859) Reported by:
  8132. Chris Gentle Review: https://reviewboard.asterisk.org/r/2848/
  8133. ........ Merged revisions 399222 from
  8134. http://svn.asterisk.org/svn/asterisk/branches/11
  8135. 2013-09-16 18:34 +0000 [r399160-399207] Richard Mudgett <rmudgett@digium.com>
  8136. * tests/test_ari_model.c: Fix module load errors for
  8137. test_ari_model.so. You cannot use a function pointer variable
  8138. with an external function from another dynamically loaded module
  8139. because data variables are always resolved even with RTLD_LAZY. *
  8140. Added wrapper functions for ast_ari_validate_int() and
  8141. ast_ari_validate_string() to use instead for the function pointer
  8142. variable. (closes issue ASTERISK-22457) Reported by: David M. Lee
  8143. * res/res_speech.exports.in, apps/app_speech_utils.c:
  8144. app_speech_utils: Fix unresolved symbol ast_speech_get_setting().
  8145. Fixes regression introduced by -r374096. * Made
  8146. res_speech.export.in export ast_* symbols instead of specific
  8147. functions. * Made app_speech_utils.c declare that it is dependent
  8148. upon res_speech. (issue ASTERISK-17136) Reported by: Richard
  8149. Kenner
  8150. * /, channels/chan_iax2.c: chan_iax2: Fix saving the wrong expiry
  8151. time in astdb. When a new IAX2 client registers, the astdb
  8152. database is updated with the value of minregexpire defined in
  8153. iax.conf instead of using the expiry time that is provided by the
  8154. client. The provided expiry time of the client is updated after
  8155. inserting the astdb entry. As a consequence, restarting or
  8156. reloading asterisk creates clients whose registration may expire
  8157. before they reregister. The clients are therefore unavailable
  8158. after minregexpire seconds until they reregister. * Move updating
  8159. of the expiry time to before inserting into the astdb. (closes
  8160. issue ASTERISK-22504) Reported by: Stefan Wachtler Patches:
  8161. chan_iax2.c.patch (license #6533) patch uploaded by Stefan
  8162. Wachtler ........ Merged revisions 399158 from
  8163. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8164. revisions 399159 from
  8165. http://svn.asterisk.org/svn/asterisk/branches/11
  8166. 2013-09-16 02:33 +0000 [r399146] Matthew Jordan <mjordan@digium.com>
  8167. * main/cdr.c: Filter internal channels out of bridge enter/leave
  8168. message handling Some channels exist merely as an implementation
  8169. detail in Asterisk, such as ConfBridge's announcer/recorder
  8170. channels. These channels should never be exposed to the outside
  8171. world, or to interfaces that report on Asterisk. We already
  8172. filter out such channels in snapshot processing; however, we
  8173. failed to filter out bridge related messages that involved these
  8174. channels. This patch filters out bridge related messages that are
  8175. for such channels. This prevents a spurious WARNING message from
  8176. being displayed when those channels move in and out of bridges.
  8177. 2013-09-13 22:05 +0000 [r399136] Richard Mudgett <rmudgett@digium.com>
  8178. * channels/chan_sip.c, res/stasis/control.c, main/bridge.c,
  8179. main/bridge_basic.c, main/core_unreal.c,
  8180. res/parking/parking_applications.c, main/core_local.c,
  8181. res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
  8182. include/asterisk/features.h, main/channel.c,
  8183. include/asterisk/bridge_channel.h, res/parking/parking_tests.c,
  8184. main/features.c, tests/test_cel.c, main/bridge_channel.c,
  8185. include/asterisk/bridge.h, apps/confbridge/conf_chan_announce.c,
  8186. tests/test_cdr.c, res/res_pjsip_refer.c: Restore Dial, Queue, and
  8187. FollowMe 'I' option support. The Dial, Queue, and FollowMe
  8188. applications need to inhibit the bridging initial connected line
  8189. exchange in order to support the 'I' option. * Replaced the
  8190. pass_reference flag on ast_bridge_join() with a flags parameter
  8191. to pass other flags defined by enum ast_bridge_join_flags. *
  8192. Replaced the independent flag on ast_bridge_impart() with a flags
  8193. parameter to pass other flags defined by enum
  8194. ast_bridge_impart_flags. * Since the Dial, Queue, and FollowMe
  8195. applications are now the only callers of ast_bridge_call() and
  8196. ast_bridge_call_with_flags(), changed the calling contract to
  8197. require the initial COLP exchange to already have been done by
  8198. the caller. * Made all callers of ast_bridge_impart() check the
  8199. return value. It is important. As a precaution, I also made the
  8200. compiler complain now if it is not checked. * Did some cleanup in
  8201. parking_tests.c as a result of checking the ast_bridge_impart()
  8202. return value. An independent, but associated change is: * Reduce
  8203. stack usage in ast_indicate_data() and add a dropping redundant
  8204. connected line verbose message. (closes issue ASTERISK-22072)
  8205. Reported by: Joshua Colp Review:
  8206. https://reviewboard.asterisk.org/r/2845/
  8207. 2013-09-13 20:54 +0000 [r399100] David M. Lee <dlee@digium.com>
  8208. * main/astobj2.c, /: Don't write to /tmp/refs when REF_DEBUG is not
  8209. defined. If MALLOC_DEBUG is enabled, then the debug destructor
  8210. for the container is used, which would erroneously write to
  8211. /tmp/refs. This patch only uses the debug destructor if ref_debug
  8212. is used. (closes issue ASTERISK-22536) ........ Merged revisions
  8213. 399098 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  8214. ........ Merged revisions 399099 from
  8215. http://svn.asterisk.org/svn/asterisk/branches/11
  8216. 2013-09-13 14:49 +0000 [r399083] Mark Michelson <mmichelson@digium.com>
  8217. * res/res_pjsip.c, res/res_pjsip_pubsub.c, res/res_pjsip_session.c,
  8218. include/asterisk/res_pjsip.h, res/res_pjsip.exports.in: Create
  8219. more accurate Contact headers for dialogs when we are the UAS.
  8220. (closes issue AST-1207) reported by John Bigelow Review:
  8221. https://reviewboard.asterisk.org/r/2842
  8222. 2013-09-13 14:25 +0000 [r399064] Rusty Newton <rnewton@digium.com>
  8223. * res/res_pjsip_endpoint_identifier_ip.c: Broke the build! Forgot
  8224. para tags within my description.
  8225. https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD-304
  8226. 2013-09-13 14:24 +0000 [r399059] Mark Michelson <mmichelson@digium.com>
  8227. * res/res_pjsip_outbound_authenticator_digest.c,
  8228. res/res_pjsip_authenticator_digest.c,
  8229. res/res_pjsip/config_auth.c: Change how realms are handled for
  8230. outbound authentication. With this change, if no realm is
  8231. specified in an outbound auth section, then we will simply match
  8232. the realm that was present in the 401/407 challenge. (closes
  8233. issue ASTERISK-22471) Reported by George Joseph (closes issue
  8234. ASTERISK-22386) Reported by Rusty Newton Patches:
  8235. outbound_auth_realm_v4.patch uploaded by George Joseph (License
  8236. #6322)
  8237. 2013-09-13 14:21 +0000 [r399039-399049] David M. Lee <dlee@digium.com>
  8238. * res/res_pjsip_logger.c, res/res_rtp_asterisk.c,
  8239. res/res_pjsip_log_forwarder.c (added): res_pjsip: Forward PJSIP
  8240. logging to Asterisk logging This patch uses PJSIP's
  8241. pj_log_set_log_func() to forward PJSIP's log messages to
  8242. Asterisk's logger. This is done in a new module:
  8243. res_pjsip_log_forwarder.so. This patch sets defaultenabled on the
  8244. existing res_pjsip_logger.so to no, since logging every SIP
  8245. packet seems a bit odd to do by default, and is (hopefully) less
  8246. necessary with regular PJSIP logging. It also removes
  8247. res_rtp_asterisk's disabling of PJSIP logging. (closes issue
  8248. ASTERISK-22360) Reported by: Joshua Colp Review:
  8249. https://reviewboard.asterisk.org/r/2830/
  8250. * res/res_http_websocket.c: ARI: Fix WebSocket response when
  8251. subprotocol isn't specified When I moved the ARI WebSocket from
  8252. /ws to /ari/events, I added code to allow a WebSocket to connect
  8253. without specifying the subprotocol if there's only one
  8254. subprotocol handler registered for the WebSocket. Naively, I
  8255. coded it to always respond with the subprotocol in use.
  8256. Unfortunately, according to RFC 6455, if the server's response
  8257. includes a subprotocol header field that "indicates the use of a
  8258. subprotocol that was not present in the client's handshake [...],
  8259. the client MUST _Fail the WebSocket Connection_.", emphasis
  8260. theirs. This patch correctly omits the Sec-WebSocket-Protocol if
  8261. one is not specified by the client. (closes issue ASTERISK-22441)
  8262. Review: https://reviewboard.asterisk.org/r/2828/
  8263. 2013-09-13 13:54 +0000 [r399035] Kinsey Moore <kmoore@digium.com>
  8264. * /, apps/app_meetme.c: Fix several crashes in MeetMeAdmin This
  8265. change ensures that MeetMeAdmin commands requiring a user
  8266. actually get a user and fixes another issue where an extra
  8267. dereference could occur for a last-entered user being ejected if
  8268. a user identifier was also provided. (closes issue
  8269. ASTERISK-21907) Reported by: Alex Epshteyn Review:
  8270. https://reviewboard.asterisk.org/r/2844/ ........ Merged
  8271. revisions 399033 from
  8272. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8273. revisions 399034 from
  8274. http://svn.asterisk.org/svn/asterisk/branches/11
  8275. 2013-09-13 13:27 +0000 [r399031] Rusty Newton <rnewton@digium.com>
  8276. * res/res_pjsip_endpoint_identifier_ip.c: 'identify' configObject
  8277. doesn't have a synopsis Add a straightforward synopsis and
  8278. description to the identify config object in XML documentation.
  8279. (issue ASTERISK-22311) (closes issue ASTERISK-22311) Reported By:
  8280. Rusty Newton
  8281. 2013-09-12 23:41 +0000 [r399019-399021] Richard Mudgett <rmudgett@digium.com>
  8282. * main/bridge.c: CLI bridge: Fix "bridge destroy <id>" and "bridge
  8283. kick <id> <chan>" tab completion. These two commands must deal
  8284. with the live bridges container for tab completion and not the
  8285. stasis cache.
  8286. * main/bridge.c: astobj2: Register the bridges container for debug
  8287. inspection.
  8288. 2013-09-12 23:21 +0000 [r399017] Rusty Newton <rnewton@digium.com>
  8289. * res/res_pjsip_acl.c: Documentation fix and improvements to XML
  8290. configuration help res_pjsip_acl * One bug fix. Made the synopsis
  8291. for "type" to accurate. * changing the usage of "IP-domains" to
  8292. "IP addresses" * clarifying the usage for the options, by adding
  8293. a relevant description for each * modified other areas of the XML
  8294. help for clarity, such as the module description and a few
  8295. synopsis changes here and there. See the patch. (issue
  8296. ASTERISK-22458) (closes issue ASTERISK-22458) Reported By: Rusty
  8297. Newton Review: https://reviewboard.asterisk.org/r/2823/
  8298. 2013-09-12 20:20 +0000 [r398991] Jonathan Rose <jrose@digium.com>
  8299. * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
  8300. Revert r398835 due to failing tests involving originate (issue
  8301. ASTERISK-22424) Reported by: Jonathan Rose ........ Merged
  8302. revisions 398977 from
  8303. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8304. revisions 398986 from
  8305. http://svn.asterisk.org/svn/asterisk/branches/11
  8306. 2013-09-12 16:38 +0000 [r398938] Richard Mudgett <rmudgett@digium.com>
  8307. * main/core_unreal.c: core_local: Fix memory corruption race
  8308. condition. The masquerade super test is failing on v12 with high
  8309. fence violations and crashing. The fence violations are showing
  8310. that party id allocated memory strings are somehow getting
  8311. corrupted in the bridge_reconfigured_connected_line_update()
  8312. function. The invalid string values happen to be the freed memory
  8313. fill pattern. After much puzzling, I deduced that the
  8314. bridge_reconfigured_connected_line_update() is copying a string
  8315. out of the source channel's caller party id struct just as
  8316. another thread is updating it with a new value. The copying
  8317. thread is using the old string pointer being freed by the
  8318. updating thread. A search of the code found the
  8319. unreal_colp_redirect_indicate() routine updating the caller party
  8320. id's without holding the channel lock. A latent bug in v1.8 and
  8321. v11 hatched in v12 because of the bridging and connected line
  8322. changes. :) (issue ASTERISK-22221) Reported by: Matt Jordan
  8323. Review: https://reviewboard.asterisk.org/r/2839/
  8324. 2013-09-12 15:23 +0000 [r398927] David M. Lee <dlee@digium.com>
  8325. * res/res_pjsip.c: Fix symbol collision with pjsua. We shouldn't be
  8326. exporting any symbols that start with pjsip_.
  8327. 2013-09-12 00:04 +0000 [r398882-398886] Rusty Newton <rnewton@digium.com>
  8328. * apps/app_queue.c, /: 'queue add member' help text correction You
  8329. are adding dial strings to the queue, not channels. An aribitrary
  8330. string could be used, but you are typically referencing a
  8331. channel. Correcting the command help text. (issue ASTERISK-22263)
  8332. (closes issue ASTERISK-22263) Reported By: Rusty Newton ........
  8333. Merged revisions 398884 from
  8334. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8335. revisions 398885 from
  8336. http://svn.asterisk.org/svn/asterisk/branches/11
  8337. * configs/chan_dahdi.conf.sample, /: Documentation fix -
  8338. waitfordialtone is not boolean, it's time in milliseconds
  8339. Changing text in chan_dahdi.conf sample to be accurate. (issue
  8340. ASTERISK-22308) (closes issue ASTERISK-22308) Reported By:
  8341. Malcolm Davenport ........ Merged revisions 398880 from
  8342. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8343. revisions 398881 from
  8344. http://svn.asterisk.org/svn/asterisk/branches/11
  8345. 2013-09-11 19:56 +0000 [r398837] Jonathan Rose <jrose@digium.com>
  8346. * channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip:
  8347. Reject calls without prior SDP on 200 OK If we receive a 200 OK
  8348. without SDP, we will now check to see if the remote address has
  8349. been established for that channel's RTP session and if the to tag
  8350. for that channel has changed from the most recent to tag in a
  8351. response less than 200. If either a change has been made since
  8352. the last to-tag was received or the remote address is unset, then
  8353. we will drop the call. (closes issue ASTERISK-22424) Reported by:
  8354. Jonathan Rose Review:
  8355. https://reviewboard.asterisk.org/r/2827/diff/#index_header
  8356. ........ Merged revisions 398835 from
  8357. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8358. revisions 398836 from
  8359. http://svn.asterisk.org/svn/asterisk/branches/11
  8360. 2013-09-11 18:02 +0000 [r398821] Russell Bryant <russell@russellbryant.com>
  8361. * configs/confbridge.conf.sample, /: Fix typo in
  8362. confbridge.conf.sample The denoise filter requires func_speex,
  8363. not codec_speex. Fix this in the description of the denoise=yes
  8364. option in confbridge.conf. ........ Merged revisions 398820 from
  8365. http://svn.asterisk.org/svn/asterisk/branches/11
  8366. 2013-09-11 14:14 +0000 [r398806] Kevin Harwell <kharwell@digium.com>
  8367. * res/res_pjsip_caller_id.c, channels/chan_pjsip.c: pjsip: reinvite
  8368. for connected line updates occurs when it should not Connected
  8369. line updates are now only sent out if an actual update needs to
  8370. occur. This happens under the following conditions: 1. The
  8371. endpoint we are sending to is trusted. 2. Either a
  8372. P-Asserted-Identity or Remote Party-ID header needs to be
  8373. added/sent. 3. The connected id's number and name are valid. Also
  8374. added an SDP when an update is sent out. (closes issue AST-1212)
  8375. Reported by: John Bigelow Review:
  8376. https://reviewboard.asterisk.org/r/2831/
  8377. 2013-09-10 18:03 +0000 [r398759] Richard Mudgett <rmudgett@digium.com>
  8378. * res/res_musiconhold.c, main/indications.c, main/asterisk.c,
  8379. main/xmldoc.c, main/cli.c, /, funcs/func_dialgroup.c,
  8380. main/heap.c, res/res_pjsip/pjsip_configuration.c, main/event.c:
  8381. Fix incorrect usages of ast_realloc(). There are several
  8382. locations in the code base where this is done: buf =
  8383. ast_realloc(buf, new_size); This is going to leak the original
  8384. buf contents if the realloc fails. Review:
  8385. https://reviewboard.asterisk.org/r/2832/ ........ Merged
  8386. revisions 398757 from
  8387. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8388. revisions 398758 from
  8389. http://svn.asterisk.org/svn/asterisk/branches/11
  8390. 2013-09-10 17:49 +0000 [r398750-398754] David M. Lee <dlee@digium.com>
  8391. * /, utils/check_expr.c: Fixed utils directory breakage from
  8392. r398748, this time with extra hate. ........ Merged revisions
  8393. 398752 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  8394. ........ Merged revisions 398753 from
  8395. http://svn.asterisk.org/svn/asterisk/branches/11
  8396. * utils/ael_main.c, utils/conf2ael.c, utils/check_expr.c, /: Fixed
  8397. utils directory breakage from r398648 ........ Merged revisions
  8398. 398748 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  8399. ........ Merged revisions 398749 from
  8400. http://svn.asterisk.org/svn/asterisk/branches/11
  8401. 2013-09-09 23:23 +0000 [r398726] Richard Mudgett <rmudgett@digium.com>
  8402. * /, main/astmm.c: MALLOC_DEBUG: Change fence magic number to be
  8403. completely different from the freed magic number. Race conditions
  8404. between freeing a nul terminated string and ast_strdup()'ing it
  8405. are more likely to be detected if the fence and freed magic
  8406. numbers are completely different. ........ Merged revisions
  8407. 398703 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  8408. ........ Merged revisions 398721 from
  8409. http://svn.asterisk.org/svn/asterisk/branches/11
  8410. 2013-09-09 21:59 +0000 [r398694] Mark Michelson <mmichelson@digium.com>
  8411. * res/res_pjsip_endpoint_identifier_ip.c: Add extra debugging to
  8412. res_pjsip_endpoint_identifier_ip
  8413. 2013-09-09 20:12 +0000 [r398638-398651] David M. Lee <dlee@digium.com>
  8414. * main/lock.c, /, main/utils.c, include/asterisk/lock.h: Fix
  8415. DEBUG_THREADS when lock is acquired in __constructor__ This patch
  8416. fixes some long-standing bugs in debug threads that were
  8417. exacerbated with recent Optional API work in Asterisk 12. With
  8418. debug threads enabled, on some systems, there's a lock ordering
  8419. problem between our mutex and glibc's mutex protecting its module
  8420. list (Ubuntu Lucid, glibc 2.11.1 in this instance). In one
  8421. thread, the module list will be locked before acquiring our
  8422. mutex. In another thread, our mutex will be locked before locking
  8423. the module list (which happens in the depths of calling
  8424. backtrace()). This patch fixes this issue by moving backtrace()
  8425. calls outside of critical sections that have the mutex acquired.
  8426. The bigger change was to reentrancy tracking for
  8427. ast_cond_{timed,}wait, which wrongly assumed that waiting on the
  8428. mutex was equivalent to a single unlock (it actually suspends all
  8429. recursive locks on the mutex). (closes issue ASTERISK-22455)
  8430. Review: https://reviewboard.asterisk.org/r/2824/ ........ Merged
  8431. revisions 398648 from
  8432. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8433. revisions 398649 from
  8434. http://svn.asterisk.org/svn/asterisk/branches/11
  8435. * res/ari/resource_channels.h: Added note about expected behavior
  8436. of originate (the rest of the commit)
  8437. * rest-api/api-docs/channels.json: Added note about expected
  8438. behavior of originate
  8439. 2013-09-08 23:25 +0000 [r398628] Matthew Jordan <mjordan@digium.com>
  8440. * tests/test_cdr.c: Update CDR Unit tests to reflect container
  8441. changes in r398579 When a channel joins a multi-party bridge, the
  8442. ordering of the CDRs that is created is determined by the
  8443. ordering of the channels who happen to be in that bridge. When
  8444. r398579 changed the number of buckets in the container to
  8445. something sensible, it changed the ordering that the CDRs was
  8446. created in, causing one of the multiparty tests to fail. This
  8447. fixes the test with the now expected ordering.
  8448. 2013-09-07 01:02 +0000 [r398580-398619] Kinsey Moore <kmoore@digium.com>
  8449. * /, res/res_xmpp.c: Prevent XMPP timeout on blank responses
  8450. Sometimes the Google Voice servers have a bad habit of sending
  8451. out 1 byte replies to the xmpp resource. When a blank 1 byte
  8452. reply is received from the socket the buffer attempts to wait
  8453. (endlessly) for the rest of the reply from google which
  8454. effectively blocks the socket and google voice calls will no
  8455. longer come into the server. This patch allows the xmpp module to
  8456. correctly detect empty packets and send out ping replies to
  8457. google. It also sets a socket timeout on the default socket which
  8458. prevents the xmpp socket from closing and preventing future
  8459. google voice calls from coming into the server. Furthermore
  8460. instead of sending an empty reply back to google we send a proper
  8461. xmpp ping reply back. This also adds several more socket
  8462. messages. (closes issue ASTERISK-22347) Reported by: Andrew Nagy
  8463. Review: https://reviewboard.asterisk.org/r/2771 Patches:
  8464. xmpp_fix_1.diff uploaded by Andrew Nagy (License #6524) ........
  8465. Merged revisions 398618 from
  8466. http://svn.asterisk.org/svn/asterisk/branches/11
  8467. * /, res/res_xmpp.c, res/res_jabber.c: Multiple revisions
  8468. 398558,398577 ........ r398558 | kmoore | 2013-09-06 14:28:16
  8469. -0500 (Fri, 06 Sep 2013) | 17 lines Fix Jabber/XMPP distributed
  8470. MWI The mailbox and context are swapped on the receiving end for
  8471. all users of Jabber and XMPP distributed MWI in Asterisk 1.8 and
  8472. all more recent versions. This swaps those values to be correct
  8473. when publishing to the internal event system from Jabber/XMPP
  8474. distributed MWI state. (closes issue ASTERISK-22435) Reported by:
  8475. abelbeck Tested by: Michael Keuter Patches:
  8476. asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch uploaded by
  8477. abelbeck asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch
  8478. uploaded by abelbeck ........ Merged revisions 398523 from
  8479. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  8480. r398577 | kmoore | 2013-09-06 16:00:56 -0500 (Fri, 06 Sep 2013) |
  8481. 10 lines Commit the remainder of r398523 This is a missing part
  8482. of the commit in revision 398523 that corrects the name of a
  8483. variable. (issue ASTERISK-22435) ........ Merged revisions 398576
  8484. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  8485. Merged revisions 398558,398577 from
  8486. http://svn.asterisk.org/svn/asterisk/branches/11
  8487. 2013-09-06 21:16 +0000 [r398579] Richard Mudgett <rmudgett@digium.com>
  8488. * main/cdr.c: cdr: Change the number of container buckets to be
  8489. similar to the channels container. * Fix the temporary cdr
  8490. candidate containers to use a prime number of buckets.
  8491. 2013-09-06 21:03 +0000 [r398578] Kinsey Moore <kmoore@digium.com>
  8492. * /: Unblock r398558
  8493. 2013-09-06 20:20 +0000 [r398533-398572] Richard Mudgett <rmudgett@digium.com>
  8494. * main/core_local.c: core_local: Fix LocalOptimizationBegin AMI
  8495. event missing Source channel snapshot. * Fix the
  8496. LocalOptimizationBegin AMI event by eliminating an artificial
  8497. buffer size limitation that is too small anyway.
  8498. * main/cdr.c: cdr: Fix some ref leaks. * Added missing unregister
  8499. of the cdr container in cdr_engine_shutdown(). * Fixed ref leak
  8500. in off nominal path of cdr_object_alloc(). * Removed some
  8501. unnecessary NULL checks in cdr_object_dtor().
  8502. * main/parking.c, main/stasis_config.c, include/asterisk/astobj2.h,
  8503. main/cel.c, main/features_config.c, apps/app_agent_pool.c,
  8504. main/cdr.c, main/udptl.c: astobj2: Add warn unused attribute to
  8505. some functions. * Fixed resulting warnings with improper use of
  8506. ao2_global_obj_replace(). * Made a couple uses of
  8507. ao2_global_obj_replace_unref(x, NULL) into the equivalent and
  8508. more appropriate ao2_global_obj_release() call.
  8509. 2013-09-06 18:49 +0000 [r398511-398521] Kinsey Moore <kmoore@digium.com>
  8510. * res/stasis/app.c, main/http.c: Fix build warnings When
  8511. AST_DEVMODE is not defined, ast_asserts are not compiled into the
  8512. binary. In some cases, this means variables are not referenced or
  8513. are set but unused which causes warnings to show up. (closes
  8514. issue ASTERISK-22446) Reported by: Jason Parker (qwell)
  8515. * channels/chan_h323.c, /: Fix chan_h323 compilation This fixes the
  8516. things in chan_h323 that were missed or ignored in the great
  8517. channel opaquification and gets chan_h323 back into a compiling
  8518. state. (closes issue ASTERISK-22365) Reported by: Dmitry Melekhov
  8519. Patches: chan_h323.patch uploaded by Dmitry Melekhov ........
  8520. Merged revisions 398510 from
  8521. http://svn.asterisk.org/svn/asterisk/branches/11
  8522. 2013-09-05 21:46 +0000 [r398381-398498] Richard Mudgett <rmudgett@digium.com>
  8523. * main/astobj2.c: astobj2: Only define ao2_bt() once. * Make
  8524. ao2_bt() not use single char variable names. * Fix ao2_bt()
  8525. formatting.
  8526. * channels/chan_iax2.c, /: chan_iax2: Reduce indentation in
  8527. __attempt_transmit(). * Reduce indentation in
  8528. __attempt_transmit(). * Don't update the static last error time
  8529. variable every time in __schedule_action() and socket_read().
  8530. ........ Merged revisions 398456 from
  8531. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8532. revisions 398457 from
  8533. http://svn.asterisk.org/svn/asterisk/branches/11
  8534. * channels/chan_iax2.c, /: chan_iax2: Fix stray reference to worker
  8535. thread idle_list. * Fix stray reference to idle_list in
  8536. cleanup_thread_list(). This may be the reason for the note in
  8537. iax2_process_thread() about threads not being removed from the
  8538. task lists. * Move cleanup_thread_list(&idle_list) to after the
  8539. other lists are cleaned up. ........ Merged revisions 398416 from
  8540. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8541. revisions 398417 from
  8542. http://svn.asterisk.org/svn/asterisk/branches/11
  8543. * channels/chan_iax2.c, /: chan_iax2: Fix bridgecallno deadlock
  8544. avoidance. * Fix bridgecallno deadlock avoidance. When doing
  8545. deadlock avoidance, you need to retest the status of values for
  8546. each loop to see if you still need the lock for bridgecallno. *
  8547. As a safety check, after acquiring the bridgecallno lock you
  8548. should check if iaxs[bridgecallno] is NULL just like the current
  8549. callno checks. * Move setting thread->iostate to IAX_IOSTATE_IDLE
  8550. to after processing any deferred frames to ensure that the
  8551. iostate is IDLE when it is placed back into the idle list.
  8552. defer_full_frame() tries to ensure iax2_process_thread() wakes up
  8553. to process the frame. ........ Merged revisions 398379 from
  8554. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8555. revisions 398380 from
  8556. http://svn.asterisk.org/svn/asterisk/branches/11
  8557. 2013-09-05 14:09 +0000 [r398368] Mark Michelson <mmichelson@digium.com>
  8558. * res/res_pjsip_outbound_registration.c: Clarify server_uri and
  8559. client_uri registration settings. Used some of Rusty's suggested
  8560. language plus also included more SIPesque descriptions of where
  8561. the URIs are actually used in an outgoing REGISTER. (closes issue
  8562. ASTERISK-22390) reported by Rusty Newton
  8563. 2013-09-04 23:06 +0000 [r398303] Richard Mudgett <rmudgett@digium.com>
  8564. * channels/iax2/parser.c, /: chan_iax2: Add missing control frame
  8565. names to debug frame decode output. ........ Merged revisions
  8566. 398301 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  8567. ........ Merged revisions 398302 from
  8568. http://svn.asterisk.org/svn/asterisk/branches/11
  8569. 2013-09-04 22:28 +0000 [r398299] Mark Michelson <mmichelson@digium.com>
  8570. * res/res_pjsip_outbound_authenticator_digest.c: Give more detail
  8571. regarding failures to create request with auth credentials.
  8572. (issue ASTERISK-22386)
  8573. 2013-09-04 21:36 +0000 [r398283-398286] Jonathan Rose <jrose@digium.com>
  8574. * /, tests/test_voicemail_api.c: unit tests: test_voicemail_api
  8575. leaks stringfields from snapshots (closes issue ASTERISK-22414)
  8576. Reported by: Corey Farrell Patches:
  8577. test_voicemail_api-leaks-11.patch uploaded by coreyfarrell
  8578. (license 5909) ........ Merged revisions 398285 from
  8579. http://svn.asterisk.org/svn/asterisk/branches/11
  8580. * apps/app_voicemail.c, /: app_voicemail: Fix leaking config
  8581. objects when msg_id doesn't match (issues ASTERISK-22414)
  8582. Reported by: Corey Farrell Patch:
  8583. test_voicemail_api-leaks-11.patch uploaded by coreyfarrell
  8584. (license 5909) ........ Merged revisions 398281 from
  8585. http://svn.asterisk.org/svn/asterisk/branches/11
  8586. 2013-09-04 16:00 +0000 [r398237] Richard Mudgett <rmudgett@digium.com>
  8587. * channels/chan_misdn.c, /: chan_misdn: Fix misdn debug output
  8588. printed with arbitrary verbose levels. Fix the misdn debug output
  8589. to remote consoles. chan_misdn uses ast_console_puts() which
  8590. doesn't know about verbose levels. Better to use ast_verbose()
  8591. instead. Without this patch the misdn debug messages are appended
  8592. to the verbose level which ever was set by the message sent to
  8593. the console before, i.e. any undefined level. (closes issue
  8594. AST-1218) Reported by: Guenther Kelleter Patches: misdnlog.patch
  8595. (license #6372) patch uploaded by Guenther Kelleter ........
  8596. Merged revisions 398235 from
  8597. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8598. revisions 398236 from
  8599. http://svn.asterisk.org/svn/asterisk/branches/11
  8600. 2013-09-04 14:29 +0000 [r398226] Kevin Harwell <kharwell@digium.com>
  8601. * res/res_pjsip_outbound_registration.c: Debug messages for pjsip
  8602. outbound registration Added debug messages indicating that an
  8603. outbound registration attempt was made and it was successful in
  8604. pjsip. (closes issue ASTERISK-22388) Reported by: Rusty Newton
  8605. 2013-09-03 19:49 +0000 [r398215] Alexandr Anikin <may@telecom-service.ru>
  8606. * /, addons/ooh323c/src/ooh245.c: Fix remote tcs sequence handling
  8607. on empty tcs received ........ Merged revisions 398214 from
  8608. http://svn.asterisk.org/svn/asterisk/branches/11
  8609. 2013-09-03 18:08 +0000 [r398206] Kinsey Moore <kmoore@digium.com>
  8610. * res/res_pjsip_dtmf_info.c: Prevent a crash in
  8611. res_pjsip_dtmf_info.c This change makes sure that a content type
  8612. header exists before checking the contents of the header against
  8613. known SIP INFO DTMF content types.
  8614. 2013-09-03 14:36 +0000 [r398198] David M. Lee <dlee@digium.com>
  8615. * Makefile: Fixed 'make clean' for wiki docs
  8616. 2013-09-03 14:27 +0000 [r398196] Walter Doekes <walter+asterisk@wjd.nu>
  8617. * /, cel/cel_custom.c: Be a little more verbose when loading
  8618. cel_custom.conf. Review: https://reviewboard.asterisk.org/r/2805/
  8619. ........ Merged revisions 398167 from
  8620. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8621. revisions 398168 from
  8622. http://svn.asterisk.org/svn/asterisk/branches/11
  8623. 2013-08-30 20:58 +0000 [r398149] David M. Lee <dlee@digium.com>
  8624. * main/optional_api.c, main/asterisk.c,
  8625. include/asterisk/optional_api.h: Fix graceful shutdown crash. The
  8626. cleanup code for optional_api needs to happen after all of the
  8627. optional API users and providers have unused/unprovided.
  8628. Unfortunately, regsitering the atexit() handler at the beginning
  8629. of main() isn't soon enough, since module destructors run after
  8630. that.
  8631. 2013-08-30 20:34 +0000 [r398147] Rusty Newton <rnewton@digium.com>
  8632. * configs/pjsip.conf.sample: New pjsip.conf.sample (issue
  8633. ASTERISK-22145) (closes issue ASTERISK-22145) Reported By: Matt
  8634. Jordan Review: https://reviewboard.asterisk.org/r/2811/
  8635. 2013-08-30 19:51 +0000 [r398116-398139] Kevin Harwell <kharwell@digium.com>
  8636. * include/asterisk/sorcery.h, res/res_pjsip.c,
  8637. res/res_pjsip/config_transport.c, main/sorcery.c,
  8638. res/res_pjsip_outbound_registration.c: Add a reloadable option
  8639. for sorcery type objects Some configuration objects currently
  8640. won't place nice if reloaded. Specifically, in this case the
  8641. pjsip transport objects. Now when registering an object in
  8642. sorcery one may specify that the object is allowed to be reloaded
  8643. or not. If the object is set to not reload then upon reloading of
  8644. the configuration the objects of that type will not be reloaded.
  8645. The initially loaded objects of that type however will remain.
  8646. While the transport objects will not longer be reloaded it is
  8647. still possible for a user to configure an endpoint to an invalid
  8648. transport. A couple of log messages were added to help diagnose
  8649. this problem if it occurs. (closes issue ASTERISK-22382) Reported
  8650. by: Rusty Newton (closes issue ASTERISK-22384) Reported by: Rusty
  8651. Newton Review: https://reviewboard.asterisk.org/r/2807/
  8652. * main/translate.c, main/named_acl.c, main/indications.c,
  8653. main/config.c, res/res_security_log.c, /, channels/chan_sip.c:
  8654. Fix various memory leaks main/config.c - cleanup cache fie
  8655. includes res/res_security_log.c - unregister logger level
  8656. channesl/chan_sip.c - cleanup io context and notify_types
  8657. main/translator.c - cleanup at shutdown main/named_acl.c -
  8658. cleanup cli commands main/indications.c -
  8659. ast_get_indication_tone() unref default_tone_zone if used (closes
  8660. issues ASTERISK-22378) Reported by: Corey Farrell Patches:
  8661. config_shutdown.patch uploaded by coreyfarrell (license 5909)
  8662. res_security_log.patch uploaded by coreyfarrell (license 5909)
  8663. chan_sip-11.patch uploaded by coreyfarrell (license 5909)
  8664. indications_refleak.patch uploaded by coreyfarrell (license 5909)
  8665. named_acl-cli_unreg-trunk.patch uploaded by coreyfarrell (license
  8666. 5909) translate_shutdown.patch uploaded by coreyfarrell (license
  8667. 5909) ........ Merged revisions 398102 from
  8668. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8669. revisions 398103 from
  8670. http://svn.asterisk.org/svn/asterisk/branches/11
  8671. 2013-08-30 18:35 +0000 [r398100] Matthew Jordan <mjordan@digium.com>
  8672. * UPGRADE.txt: Update UPGRADE.txt file for Asterisk 12 This simply
  8673. pulls in the changes that were breaking from the CHANGES file and
  8674. updates a few other areas accordingly. It also removes the 10 =>
  8675. 11 notes, which are traditionally removed from each major version
  8676. and stored in the appropriate UPGRADE-X.txt file.
  8677. 2013-08-30 18:18 +0000 [r398068] Jonathan Rose <jrose@digium.com>
  8678. * main/config_options.c, main/features_config.c: features_config:
  8679. Ignore parkinglots in features.conf instead of failing to load
  8680. Parkinglots are defined in res_features.conf now, but this patch
  8681. fixes features_config so that features don't fail to load when
  8682. parkinglots are present in features.conf Review:
  8683. https://reviewboard.asterisk.org/r/2801/
  8684. 2013-08-30 17:57 +0000 [r398062] Kevin Harwell <kharwell@digium.com>
  8685. * main/manager.c, /, res/res_agi.c: Memory leak fix
  8686. ast_xmldoc_printable returns an allocated block that must be
  8687. freed by the caller. Fixed manager.c and res_agi.c to stop
  8688. leaking these results. (closes issue ASTERISK-22395) Reported by:
  8689. Corey Farrell Patches: manager-leaks-12.patch uploaded by
  8690. coreyfarrell (license 5909) res_agi-xmldoc-leaks.patch uploaded
  8691. by coreyfarrell (license 5909) ........ Merged revisions 398060
  8692. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  8693. Merged revisions 398061 from
  8694. http://svn.asterisk.org/svn/asterisk/branches/11
  8695. 2013-08-30 17:10 +0000 [r398023-398025] Richard Mudgett <rmudgett@digium.com>
  8696. * tests/test_substitution.c: test_substitution: Fix failing test.
  8697. Revert the -r392190 change. The original test was correct. The
  8698. CDR code was actually returning an unititialized buffer.
  8699. * /, tests/test_substitution.c: test_substituition: Fix failed test
  8700. reporting to actually report failure. You cannot put the "Testing
  8701. <blah> pass/fail" on a single line before actually performing the
  8702. test. Now any additional failure information is logged before the
  8703. test pass/fail announcement. * Added an additional CDR(answer,u)
  8704. test. ........ Merged revisions 398018 from
  8705. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  8706. revisions 398019 from
  8707. http://svn.asterisk.org/svn/asterisk/branches/11
  8708. 2013-08-30 16:57 +0000 [r398020] Jonathan Rose <jrose@digium.com>
  8709. * main/udptl.c, main/features_config.c: features_config: Don't
  8710. require features.conf to be present for Asterisk to load (closes
  8711. issue ASTERISK-22426) Reported by: Matt Jordan Review:
  8712. https://reviewboard.asterisk.org/r/2806/
  8713. 2013-08-30 16:26 +0000 [r398002-398016] Kevin Harwell <kharwell@digium.com>
  8714. * apps/app_mixmonitor.c, /: Fix memory leaks (closes issue
  8715. ASTERISK-22368) Reported by: Corey Farrell Patches:
  8716. issueA22368_mixmonitor_free_filename.patch uploaded by wdoekes
  8717. (license 5674) ........ Merged revisions 398004 from
  8718. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  8719. revisions 398011 from
  8720. http://svn.asterisk.org/svn/asterisk/branches/11
  8721. * main/asterisk.c, /: Check return value on fwrite ........ Merged
  8722. revisions 398000 from
  8723. http://svn.asterisk.org/svn/asterisk/branches/11
  8724. 2013-08-30 13:39 +0000 [r397985-397989] David M. Lee <dlee@digium.com>
  8725. * build_tools/cflags.xml, configure, res/res_ari_events.c,
  8726. include/asterisk/http_websocket.h, main/optional_api.c (added),
  8727. rest-api-templates/swagger_model.py, res/ari/ari_websockets.c,
  8728. main/asterisk.c, channels/sip/include/sip.h, res/res_ari.c,
  8729. tests/test_optional_api.c (added), channels/chan_sip.c,
  8730. include/asterisk/autoconfig.h.in, configure.ac,
  8731. rest-api-templates/res_ari_resource.c.mustache,
  8732. res/ari/internal.h, res/res_http_websocket.c, CHANGES,
  8733. include/asterisk/compiler.h, include/asterisk/ari.h,
  8734. main/loader.c, include/asterisk/optional_api.h: optional_api: Fix
  8735. linking problems between modules that export global symbols With
  8736. the new work in Asterisk 12, there are some uses of the
  8737. optional_api that are prone to failure. The details are rather
  8738. involved, and captured on [the wiki][1]. This patch addresses the
  8739. issue by removing almost all of the magic from the optional API
  8740. implementation. Instead of relying on weak symbol resolution, a
  8741. new optional_api.c module was added to Asterisk core. For modules
  8742. providing an optional API, the pointer to the implementation
  8743. function is registered with the core. For modules that use an
  8744. optional API, a pointer to a stub function, along with a
  8745. optional_ref function pointer are registered with the core. The
  8746. optional_ref function pointers is set to the implementation
  8747. function when it's provided, or the stub function when it's now.
  8748. Since the implementation no longer relies on magic, it is now
  8749. supported on all platforms. In the spirit of choice, an
  8750. OPTIONAL_API flag was added, so we can disable the optional_api
  8751. if needed (maybe it's buggy on some bizarre platform I haven't
  8752. tested on) The AST_OPTIONAL_API*() macros themselves remained
  8753. unchanged, so existing code could remain unchanged. But to help
  8754. with debugging the optional_api, the patch limits the #include of
  8755. optional API's to just the modules using the API. This also
  8756. reduces resource waste maintaining optional_ref pointers that
  8757. aren't used. Other changes made as a part of this patch: * The
  8758. stubs for http_websocket that wrap system calls set errno to
  8759. ENOSYS. * res_http_websocket now properly increments module use
  8760. count. * In loader.c, the while() wrappers around dlclose() were
  8761. removed. The while(!dlclose()) is actually an anti-pattern, which
  8762. can lead to infinite loops if the module you're attempting to
  8763. unload exports a symbol that was directly linked to. * The
  8764. special handling of nonoptreq on systems without weak symbol
  8765. support was removed, since we no longer rely on weak symbols for
  8766. optional_api. [1]: https://wiki.asterisk.org/wiki/x/wACUAQ
  8767. (closes issue ASTERISK-22296) Reported by: Matt Jordan Review:
  8768. https://reviewboard.asterisk.org/r/2797/
  8769. * res/stasis_recording (added), res/ari/resource_recordings.c,
  8770. res/ari/ari_model_validators.h, res/res_ari_recordings.c,
  8771. res/res_stasis_playback.c,
  8772. include/asterisk/stasis_app_recording.h,
  8773. res/ari/resource_recordings.h, res/res_stasis_recording.c,
  8774. res/Makefile, res/ari/ari_model_validators.c,
  8775. rest-api/api-docs/recordings.json: ARI: Implement
  8776. /recordings/stored API's his patch implements the ARI API's for
  8777. stored recordings. While the original task only specified
  8778. deleting a recording, it was simple enough to implement the GET
  8779. for all recordings, and for an individual recording. The
  8780. recording playback operation was modified to use the same code
  8781. for accessing the recording as the REST API, so that they will
  8782. behave consistently. There were several problems with the
  8783. api-docs that were also fixed, bringing the ARI spec in line with
  8784. the implementation. There were some 'wishful thinking' fields on
  8785. the stored recording model (duration and timestamp) that were
  8786. removed, because I ended up not implementing a metadata file to
  8787. go along with the recording to store such information. The GET
  8788. /recordings/live operation was removed, since it's not really
  8789. that useful to get a list of all recordings that are currently
  8790. going on in the system. (At least, if we did that, we'd probably
  8791. want to also list all of the current playbacks. Which seems
  8792. weird.) (closes issue ASTERISK-21582) Review:
  8793. https://reviewboard.asterisk.org/r/2693/
  8794. 2013-08-30 01:19 +0000 [r397975-397977] Richard Mudgett <rmudgett@digium.com>
  8795. * main/pbx.c: pbx.c: Make pbx_substitute_variables_helper_full()
  8796. not mask variables.
  8797. * main/pbx.c, tests/test_substitution.c, funcs/func_cdr.c: Revert
  8798. last commit.
  8799. * funcs/func_cdr.c, main/pbx.c, tests/test_substitution.c: pbx.c:
  8800. Make ast_str_substitute_variables_full() not mask variables.
  8801. 2013-08-30 00:10 +0000 [r397960-397968] Mark Michelson <mmichelson@digium.com>
  8802. * res/res_pjsip_pidf.c: Sanitize XML output for PIDF bodies.
  8803. PJSIP's PIDF API does not replace angle brackets with their
  8804. appropriate counterparts for XML. So we have to do it ourself. In
  8805. this particular case, the problem had to do with attempting to
  8806. place an unsanitized SIP URI into an XML node. Now we don't get a
  8807. 488 from recipients of our PIDF NOTIFYs.
  8808. * res/res_pjsip_pidf.c: Fix method for creating activities string
  8809. in PIDF bodies. The previous method did not allocate enough space
  8810. to create the entire string, but adjusted the string's slen value
  8811. to be larger than the actual allocation. This resulted in garbled
  8812. text in NOTIFY requests from Asterisk. This method allocates the
  8813. proper amount of space first and then writes the content into the
  8814. buffer.
  8815. 2013-08-29 22:45 +0000 [r397958] Kevin Harwell <kharwell@digium.com>
  8816. * apps/app_verbose.c, main/asterisk.c, channels/chan_misdn.c, /,
  8817. apps/app_dumpchan.c, main/logger.c: Verbose logging discrepancies
  8818. Refactored cases where a combination of
  8819. ast_verbose/options_verbose were present. Also in general tried
  8820. to eliminate, in as many places as possible, where the
  8821. options_verbose global variable was being used. Refactored the
  8822. way local and remote consoles handle verbose message logging in
  8823. an attempt to solve the various discrepancies that sometimes
  8824. would show between the two. (closes issue AST-1193) Reported by:
  8825. Guenther Kelleter Review:
  8826. https://reviewboard.asterisk.org/r/2798/ ........ Merged
  8827. revisions 397948 from
  8828. http://svn.asterisk.org/svn/asterisk/branches/11
  8829. 2013-08-29 22:24 +0000 [r397955] Mark Michelson <mmichelson@digium.com>
  8830. * res/res_pjsip_pubsub.c: Fix when the subscription_terminated
  8831. callback is called for subscription handlers. The previous
  8832. placement would result in the resubscribe() callback called
  8833. instead of the subscription_terminated() callback being called
  8834. when a subscription was ended via a SUBSCRIBE request. This would
  8835. result in confusing PJSIP and having it throw an assertion.
  8836. 2013-08-29 21:34 +0000 [r397946] Kevin Harwell <kharwell@digium.com>
  8837. * main/cel.c, main/asterisk.c, main/cdr.c, main/manager.c,
  8838. main/stasis_config.c, main/file.c, main/app.c,
  8839. main/config_options.c: Memory leaks fix (closes ASTERISK-22376)
  8840. Reported by: John Hardin Patches: memleak.patch uploaded by
  8841. jhardin (license 6512) memleak2.patch uploaded by jhardin
  8842. (license 6512)
  8843. 2013-08-29 21:33 +0000 [r397945] Mark Michelson <mmichelson@digium.com>
  8844. * res/res_pjsip_session.c: Fix a race condition where a canceled
  8845. call was answered. RFC 5407 section 3.1.2 details a scenario
  8846. where a UAC sends a CANCEL at the same time that a UAS sends a
  8847. 200 OK for the INVITE that the UAC is canceling. When this
  8848. occurs, it is the role of the UAC to immediately send a BYE to
  8849. terminate the call. This scenario was reproducible by have a
  8850. Digium phone with two lines place a call to a second phone that
  8851. forwarded the call to the second line on the original phone. The
  8852. Digium phone, upon realizing that it was connecting to itself,
  8853. would attempt to cancel the call. The timing of this happened to
  8854. trigger the aforementioned race condition about 80% of the time.
  8855. Asterisk was not doing its job of sending a BYE when receiving a
  8856. 200 OK on a cancelled INVITE. The result was that the ast_channel
  8857. structure was destroyed but the underlying SIP session, as well
  8858. as the PJSIP inv_session and dialog, were still alive. Attempting
  8859. to perform an action such as a transfer, once in this state,
  8860. would result in Asterisk crashing. The circumstances are now
  8861. detected properly and the session is ended as recommended in RFC
  8862. 5407. (closes issue AST-1209) reported by John Bigelow
  8863. 2013-08-29 20:21 +0000 [r397938] Matthew Jordan <mjordan@digium.com>
  8864. * CHANGES, contrib/scripts/safe_asterisk, Makefile,
  8865. configs/safe_asterisk.conf.sample (removed): Revert r394939 due
  8866. to (numerous) objections The patch from ASTERISK-21965 was
  8867. committed perhaps a bit too hastily. Walter and Tzafrir have
  8868. pointed out numerous issues with the approach and have propsed an
  8869. alternative in r/2757. Since it's not a time critical issue and
  8870. is not worth holding up the release of 12 for it, I've gone ahead
  8871. and reverted r394939 from 12/trunk and re-opened ASTERISK-21965.
  8872. 2013-08-29 16:18 +0000 [r397927] David M. Lee <dlee@digium.com>
  8873. * rest-api-templates/asterisk_processor.py,
  8874. rest-api-templates/make_ari_stubs.py,
  8875. rest-api-templates/api.wiki.mustache: Account for {} in Swagger
  8876. notes
  8877. 2013-08-29 16:04 +0000 [r397924] Matthew Jordan <mjordan@digium.com>
  8878. * Makefile: Recursively search for '.c' files when making
  8879. documentation with 'make full' Without this, documentation
  8880. defined in sub-folders is ignored. Since having properly
  8881. generated documentation is especially important in Asterisk 12 -
  8882. not having it can cause a module to not load - 'make full' needs
  8883. to look in all .c files.
  8884. 2013-08-29 15:42 +0000 [r397921-397922] Mark Michelson <mmichelson@digium.com>
  8885. * main/cel.c: Remove extra debug message.
  8886. * apps/app_queue.c, main/cel.c, main/stasis_bridges.c: Resolve
  8887. assumptions that bridge snapshots would be non-NULL for transfer
  8888. stasis events. Attempting to transfer an unbridged call would
  8889. result in crashes in either CEL code or in the conversion to AMI
  8890. messages.
  8891. 2013-08-29 12:27 +0000 [r397911] Matthew Jordan <mjordan@digium.com>
  8892. * contrib/ast-db-manage/README.md (added),
  8893. contrib/ast-db-manage/config/versions (added),
  8894. contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py
  8895. (added), contrib/ast-db-manage (added),
  8896. contrib/ast-db-manage/voicemail/versions (added),
  8897. contrib/ast-db-manage/config.ini.sample (added),
  8898. contrib/ast-db-manage/config/env.py (added),
  8899. contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py
  8900. (added), contrib/ast-db-manage/config (added),
  8901. contrib/ast-db-manage/config/script.py.mako (added),
  8902. contrib/ast-db-manage/voicemail.ini.sample (added),
  8903. contrib/ast-db-manage/voicemail/env.py (added),
  8904. contrib/ast-db-manage/voicemail (added),
  8905. contrib/ast-db-manage/voicemail/script.py.mako (added): Actually
  8906. *add* the database schema management utilities In r397874, the
  8907. scripts were removed... but not replaced. Thanks to Michael Young
  8908. for noticing this!
  8909. 2013-08-28 23:14 +0000 [r397885-397902] Richard Mudgett <rmudgett@digium.com>
  8910. * main/stdtime/localtime.c, main/cdr.c, funcs/func_cdr.c: Fix some
  8911. uninitialized buffers for CDR handling valgrind found. * Made
  8912. ast_strftime_locale() ensure that the output buffer is
  8913. initialized. The std library strftime() returns 0 and does not
  8914. touch the buffer if it has an error. However, the function can
  8915. also return 0 without an error. (closes issue ASTERISK-22412)
  8916. Reported by: rmudgett
  8917. * main/cdr.c: Fixed problems with ast_cdr_serialize_variables(). *
  8918. Fixed return value of ast_cdr_serialize_variables() on error. It
  8919. needs to return 0 indicating no CDR variables found. * Made
  8920. ast_cdr_serialize_variables() check the return value of
  8921. cdr_object_format_property() and assert if nonzero. A member of
  8922. the cdr_readonly_vars[] was not handled. * Removed unused
  8923. elements from cdr_readonly_vars[]: total_duration, total_billsec,
  8924. first_start, and first_answer.
  8925. * main/cdr.c: Made the on/off in CLI "cdr set debug [on|off]" case
  8926. insensitive.
  8927. * main/cdr.c: Make CDR variable name chandling consistently case
  8928. insensitive.
  8929. * main/cdr.c: Make CDR code deal with channel names case
  8930. insensitively.
  8931. * funcs/func_cdr.c, main/cdr.c: Some CDR code optimization.
  8932. * funcs/func_cdr.c: Whitespace and curly braces.
  8933. 2013-08-28 21:05 +0000 [r397876] Mark Michelson <mmichelson@digium.com>
  8934. * res/res_pjsip_refer.c: Improve detection of answer on SIP blind
  8935. transfer. A problem encountered during testing was that
  8936. res_pjsip_refer would not ever send a NOTIFY with a 200 OK
  8937. sipfrag. This is because the framehook that was supposed to send
  8938. the NOTIFY would never be told that an answer had occurred. This
  8939. happened for two reasons: 1) The transferee channel on which the
  8940. framehook was on was already up. 2) Answers are rarely if ever
  8941. written to channels. Rather, the ast_answer() or ast_raw_answer()
  8942. function is used to answer channels. Thanks to a suggestion by
  8943. Matt Jordan, the best way to detect that the call had been
  8944. answered was to find out when the transferee channel joined a
  8945. bridge. With stasis this is an easy task. So now, in addition to
  8946. the framehook logic, there is a stasis subscription used to
  8947. determine when the transferee has entered a bridge. Once it has
  8948. entered, an appropriate NOTIFY is sent.
  8949. 2013-08-28 20:55 +0000 [r397870-397874] Matthew Jordan <mjordan@digium.com>
  8950. * contrib/realtime/mysql/voicemail_messages.sql,
  8951. contrib/realtime/postgresql/realtime.sql,
  8952. contrib/realtime/mysql/voicemail_data.sql, CHANGES,
  8953. contrib/realtime/mysql/musiconhold.sql,
  8954. contrib/realtime/mysql/queue_log.sql,
  8955. contrib/realtime/mysql/voicemail.sql,
  8956. contrib/realtime/mysql/sippeers.sql,
  8957. contrib/realtime/mysql/iaxfriends.sql,
  8958. contrib/realtime/mysql/meetme.sql: Add database schema management
  8959. using Alembic This patch replaces contrib/realtime/ with a new
  8960. setup for managing the database schema required for database
  8961. integration with Asterisk. In addition to initializing a database
  8962. with the proper schema, alembic can do a database migration to
  8963. assist with upgrading Asterisk in the future. Hopefully this
  8964. helps make setting up and operating Asterisk with a database
  8965. easier. With this the schema only needs to be maintained in one
  8966. place instead of once per database. The schemas I have added here
  8967. have a bit of improvement over the examples that were there
  8968. before (some added consistency and added some missing indexes).
  8969. Managing the schema in one place here also applies to all
  8970. databases supported by SQLAlchemy. See
  8971. contrib/ast-db-manage/README.md for more details. Review:
  8972. https://reviewboard.asterisk.org/r/2731 patch by Russell Bryant
  8973. (license 6300)
  8974. * CHANGES: Update CHANGES file for Asterisk 12 This updates the
  8975. Asterisk 12 CHANGES file with the things that were missed during
  8976. the development cycle. Review:
  8977. https://reviewboard.asterisk.org/r/2795/
  8978. 2013-08-28 16:12 +0000 [r397856-397859] Richard Mudgett <rmudgett@digium.com>
  8979. * main/pbx.c: pbx.c: Make ast_str_substitute_variables_full() not
  8980. mask variables.
  8981. * include/asterisk/threadstorage.h: Match use of ast_free() with
  8982. ast_calloc() and add some curly braces.
  8983. 2013-08-28 15:40 +0000 [r397854] Mark Michelson <mmichelson@digium.com>
  8984. * res/res_pjsip/pjsip_distributor.c: Fix dialog matching in the SIP
  8985. distributor. Dialog matching is performed in the distributor for
  8986. the sole purpose of retrieving an associated serializer so the
  8987. request may be serialized. This patch fixes two problems. First,
  8988. incoming CANCEL requests that had no to-tag (which really should
  8989. be *all* CANCEL requests) would not match with a dialog. An
  8990. earlier bug fix to deal with early CANCEL requests would result
  8991. in the CANCEL being replied to with a 481. The fix for this is to
  8992. find the matching INVITE transaction and get the dialog from that
  8993. transaction. Second, no SIP responses were matching dialogs. This
  8994. is because we were inverting the tags that we were passing into
  8995. PJSIP's dialog finding function. This logic has been corrected by
  8996. setting local and remote tag variables based on whether the
  8997. incoming message is a request or response.
  8998. 2013-08-27 19:15 +0000 [r397816] David M. Lee <dlee@digium.com>
  8999. * res/res_ari_bridges.c, res/stasis/app.c, res/res_ari_events.c,
  9000. res/res_ari_asterisk.c,
  9001. rest-api-templates/res_ari_resource.c.mustache, res/stasis/app.h,
  9002. res/res_stasis.c, main/stasis_bridges.c,
  9003. rest-api-templates/param_parsing.mustache: ARI: WebSocket event
  9004. cleanup Stasis events (which get distributed over the ARI
  9005. WebSocket) are created by subscribing to the channel_all_cached
  9006. and bridge_all_cached topics, filtering out events for
  9007. channels/bridges currently subscribed to. There are two issues
  9008. with that. First was a race condition, where messages in-flight
  9009. to the master subscribe-to-all-things topic would get sent out,
  9010. even though the events happened before the channel was put into
  9011. Stasis. Secondly, as the number of channels and bridges grow in
  9012. the system, the work spent filtering messages becomes excessive.
  9013. Since r395954, individual channels and bridges have caching
  9014. topics, and can be subscribed to individually. This patch takes
  9015. advantage, so that channels and bridges are subscribed to on
  9016. demand, instead of filtering the global topics. The one case
  9017. where filtering is still required is handling BridgeMerge
  9018. messages, which are published directly to the bridge_all topic.
  9019. Other than the change to how subscriptions work, this patch
  9020. mostly just moves code around. Most of the work generating JSON
  9021. objects from messages was moved to .to_json handlers on the
  9022. message types. The callback functions handling app subscriptions
  9023. were moved from res_stasis (b/c they were global to the model) to
  9024. stasis/app.c (b/c they are local to the app now). (closes issue
  9025. ASTERISK-21969) Reported by: Matt Jordan Review:
  9026. https://reviewboard.asterisk.org/r/2754/
  9027. 2013-08-27 18:49 +0000 [r397809] Richard Mudgett <rmudgett@digium.com>
  9028. * main/astmm.c: Made MALLOC_DEBUG less CPU intensive by default.
  9029. Storing a backtrace for each allocation in anticipation of a
  9030. memory management problem is very CPU intensive. * Added the CLI
  9031. "memory backtrace {on|off}" command to request that the backtrace
  9032. be gathered only on request. The backtrace is off by default.
  9033. (issue ASTERISK-22221) Reported by: Matt Jordan
  9034. 2013-08-27 18:05 +0000 [r397759] Matthew Jordan <mjordan@digium.com>
  9035. * /, channels/chan_sip.c: AST-2013-005: Fix crash caused by invalid
  9036. SDP If the SIP channel driver processes an invalid SDP that
  9037. defines media descriptions before connection information, it may
  9038. attempt to reference the socket address information even though
  9039. that information has not yet been set. This will cause a crash.
  9040. This patch adds checks when handling the various media
  9041. descriptions that ensures the media descriptions are handled only
  9042. if we have connection information suitable for that media. Thanks
  9043. to Walter Doekes, OSSO B.V., for reporting, testing, and
  9044. providing the solution to this problem. (closes issue
  9045. ASTERISK-22007) Reported by: wdoekes Tested by: wdoekes patches:
  9046. issueA22007_sdp_without_c_death.patch uploaded by wdoekes
  9047. (License 5674) ........ Merged revisions 397756 from
  9048. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9049. revisions 397757 from
  9050. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  9051. revisions 397758 from
  9052. http://svn.asterisk.org/svn/asterisk/branches/11
  9053. 2013-08-27 16:47 +0000 [r397745] Richard Mudgett <rmudgett@digium.com>
  9054. * channels/chan_dahdi.c, channels/sig_analog.c, /,
  9055. channels/chan_sip.c, channels/chan_motif.c, channels/chan_iax2.c,
  9056. channels/sig_pri.c, channels/sig_ss7.c: Fix uninitialized value
  9057. in struct ast_control_pvt_cause_code usage. ........ Merged
  9058. revisions 397744 from
  9059. http://svn.asterisk.org/svn/asterisk/branches/11
  9060. 2013-08-27 16:03 +0000 [r397690-397713] Matthew Jordan <mjordan@digium.com>
  9061. * /, channels/chan_sip.c: AST-2013-004: Fix crash when handling ACK
  9062. on dialog that has no channel A remote exploitable crash
  9063. vulnerability exists in the SIP channel driver if an ACK with SDP
  9064. is received after the channel has been terminated. The handling
  9065. code incorrectly assumed that the channel would always be
  9066. present. This patch adds a check such that the SDP will only be
  9067. parsed and applied if Asterisk has a channel present that is
  9068. associated with the dialog. Note that the patch being applied was
  9069. modified only slightly from the patch provided by Walter Doekes
  9070. of OSSO B.V. (closes issue ASTERISK-21064) Reported by: Colin
  9071. Cuthbertson Tested by: wdoekes, Colin Cutherbertson patches:
  9072. issueA21064_fix.patch uploaded by wdoekes (License 5674) ........
  9073. Merged revisions 397710 from
  9074. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9075. revisions 397711 from
  9076. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  9077. revisions 397712 from
  9078. http://svn.asterisk.org/svn/asterisk/branches/11
  9079. * main/bridge_channel.c: Better handle clearing the OUTGOING flag
  9080. when a channel leaves a bridge When a channel with the OUTGOING
  9081. flag leaves a bridge, and it will survive being pulled from the
  9082. bridge (either because it will execute dialplan, go into another
  9083. bridge, or live in a friendly autoloop), we have to clear the
  9084. OUTGOING flag. This is the signal to the CDR engine that this
  9085. channel is no longer a second class citizen, i.e., it is not
  9086. "dialed". The soft hangup flags are only half the picture. If a
  9087. channel is being moved from one bridge to another, the soft
  9088. hangup flags aren't set; however, the state of the bridge_channel
  9089. will not be hung up. Since the channel does not have one of the
  9090. two hang up states, that implies that the channel is still
  9091. technically alive. This patch modifies the check so that it
  9092. checks both the soft hangup flags as well as the bridge_channel
  9093. state. If either suggests that the channel is going to persist,
  9094. we clear the OUTGOING flag.
  9095. 2013-08-26 21:30 +0000 [r397673] David M. Lee <dlee@digium.com>
  9096. * main/bucket.c: Fixed bucket.c for systems where tv_usec is not an
  9097. unsigned long.
  9098. 2013-08-26 16:24 +0000 [r397643-397650] Richard Mudgett <rmudgett@digium.com>
  9099. * include/asterisk/bridge_channel.h, main/bridge_channel.c:
  9100. bridging: Fix a livelock with local channel optimization. Use a
  9101. better means of waking up the bridge channel thread.
  9102. * channels/Makefile: chan_dahdi: Add some missing build cleanup.
  9103. 2013-08-25 18:12 +0000 [r397621-397630] Matthew Jordan <mjordan@digium.com>
  9104. * tests/test_bucket.c: Fix bucket unit tests After the review for
  9105. buckets was completed (r2715), the handling of names in the
  9106. bucket core was deferred to the wizards. As such, the bucket unit
  9107. tests cannot expect that passing a URI with a scheme specified
  9108. but no actual resource name will automatically fail. The tests
  9109. have been updated to not make this check.
  9110. * include/asterisk/config_options.h, main/config_options.c,
  9111. tests/test_config.c: Fix the config_options_test The config
  9112. options test requires the entire configuration item to be
  9113. transparent from the documentation system. So we let it do that
  9114. too. As an aside, please do not use this power for evil.
  9115. Documentation is your friend, and you really should document your
  9116. configurations. Hiding your module's configuration information
  9117. from the system attempting to enforce some sanity in the universe
  9118. is something only a Bond villain would contemplate.
  9119. * res/res_pjsip/pjsip_configuration.c: Add rtpengine configuration
  9120. parameter The rtpengine configuration parameter was documented in
  9121. the XML documentation, but it was not actually registered with
  9122. the sorcery object. This adds the parameter with a default of
  9123. "asterisk", such that res_rtp_asterisk is chosen as the default
  9124. RTP implementation. (closes issue ASTERISK-22380) Reported by:
  9125. Rusty Newton Tested by: Rusty Newton
  9126. 2013-08-23 22:36 +0000 [r397614] Matthew Jordan <mjordan@digium.com>
  9127. * / (added): __________ | \ |_______ | | | ______| | / | _ _ _ _ _
  9128. | _______| / \ ___| |_ ___ _ __(_)___| | __ / || | / _ \ / __|
  9129. __/ _ \ '__| / __| |/ / | || |_______ / ___ \__ \| | __/ | | \__
  9130. \ < | || | /_/ \_\___/\__\___|_| |_|___/_|\_\ |_| \__________|
  9131. 2013-08-23 22:20 +0000 [r397613] Joshua Colp <jcolp@digium.com>
  9132. * main/bucket.c: Fix building of trunk. Note: This is why I commit
  9133. on the weekend.
  9134. 2013-08-23 22:12 +0000 [r397606] Matthew Jordan <mjordan@digium.com>
  9135. * main/pbx.c: Fix channel reference leak in Originated channels
  9136. When originating channels, ast_pbx_outgoing_* caused the dialed
  9137. channel reference to be bumped twice. Ostensibly, this routine is
  9138. bumping the channel lifetime such that the channel doesn't get
  9139. nuked in between locks/unlocks; however, since the routine should
  9140. return the dialed channel with its reference bumped, it only
  9141. needs to do this one time.
  9142. 2013-08-23 21:53 +0000 [r397603] Mark Michelson <mmichelson@digium.com>
  9143. * res/res_pjsip.c: Add some clarifying documentation to the
  9144. rewrite_contact endpoint option.
  9145. 2013-08-23 21:51 +0000 [r397602] Richard Mudgett <rmudgett@digium.com>
  9146. * main/bridge_channel.c: Blank line tweaks.
  9147. 2013-08-23 21:49 +0000 [r397599-397600] Joshua Colp <jcolp@digium.com>
  9148. * makeopts.in, main/asterisk.c, include/asterisk/bucket.h (added),
  9149. main/sorcery.c, include/asterisk/config_options.h,
  9150. tests/test_bucket.c (added), build_tools/menuselect-deps.in,
  9151. configure, include/asterisk/autoconfig.h.in, main/Makefile,
  9152. main/bucket.c (added), configure.ac, main/config_options.c: Add
  9153. the bucket API. Bucket is a URI based API for the creation,
  9154. retrieval, updating, and deletion of "buckets" and files
  9155. contained within them. Review:
  9156. https://reviewboard.asterisk.org/r/2715/
  9157. * include/asterisk/sorcery.h: Fix a bug where the argc value was
  9158. passed as no_doc when registering custom sorcery types. This also
  9159. adds a _nodoc equivalent.
  9160. 2013-08-23 21:02 +0000 [r397593] Mark Michelson <mmichelson@digium.com>
  9161. * main/bridge_channel.c: Add test events necessary for bridge tests
  9162. to pass in the test suite. (closes issue AST-1200) reported by
  9163. John Bigelow Review: https://reviewboard.asterisk.org/r/2790/
  9164. 2013-08-23 20:14 +0000 [r397585] Matthew Jordan <mjordan@digium.com>
  9165. * main/stasis_channels.c: Fix error in using
  9166. ast_channel_snapshot_type before initialization Starting Asterisk
  9167. would kick back an ERROR message stating that the Stasis message
  9168. type ast_channel_snapshot_type was used prior to initialization.
  9169. This occurred due to the caching topic being created prior to the
  9170. message type that it depended on. This patch re-orders the start
  9171. up such that the message type is initialized prior to the caching
  9172. topic. It also checks the return value of the initialization of
  9173. the agent login/logoff types.
  9174. 2013-08-23 19:05 +0000 [r397578] Jonathan Rose <jrose@digium.com>
  9175. * bridges/bridge_native_rtp.c: bridge_native_rtp: Fix hold chain
  9176. bugs caused by native RTP bridge framehook Issuing hold/unhold
  9177. would lead to odd behavior. Between two chan_sip devices, a hold
  9178. could cause an endless chain of updates while with pjsip a
  9179. similar chain would begin but then end somewhat randomly. This
  9180. patch fixes that by no longer tweaking the RTP glue on both sides
  9181. of the call for every HOLD/UNHOLD/UPDATE_RTP_PEER frame. (issue
  9182. ASTERISK-22217) Reported by: Matt Jordan Review:
  9183. https://reviewboard.asterisk.org/r/2794/
  9184. 2013-08-23 18:33 +0000 [r397577] Richard Mudgett <rmudgett@digium.com>
  9185. * include/asterisk/bridge_channel.h, main/channel_internal_api.c,
  9186. bridges/bridge_builtin_interval_features.c,
  9187. include/asterisk/channel.h, res/res_musiconhold.c,
  9188. main/bridge_channel.c, main/channel.c,
  9189. include/asterisk/bridge_channel_internal.h, main/bridge.c: Handle
  9190. DTMF and hold wrapup when a channel leaves the bridging system.
  9191. DTMF start/end and hold/unhold events have state because a DTMF
  9192. begin event and hold event must be ended by something. The
  9193. following cases need to be handled when a channel is moved around
  9194. in the system. * When a channel leaves a bridge it may owe a DTMF
  9195. end event to the bridge. * When a channel leaves a bridge it may
  9196. owe an UNHOLD event to the bridge. (This case is explicitly
  9197. ignored because things like transfers need explicit control over
  9198. this.) * When a channel leaves the bridging system it may need to
  9199. simulate a DTMF end event to the channel. * When a channel leaves
  9200. the bridging system it may need to simulate an UNHOLD event to
  9201. the channel. The patch also fixes the following: * Fixes playing
  9202. a file and restarting MOH using the latest MOH class used.
  9203. (closes issue ASTERISK-22043) Reported by: Matt Jordan Review:
  9204. https://reviewboard.asterisk.org/r/2791/
  9205. 2013-08-23 18:10 +0000 [r397571] Matthew Jordan <mjordan@digium.com>
  9206. * tests/test_sorcery_realtime.c, tests/test_sorcery_astdb.c,
  9207. tests/test_sorcery.c: Fix sorcery unit tests When strict XML
  9208. documentation checking was re-enabled, the test objects used in
  9209. sorcery would fail to register as the types were not marked
  9210. internal and the nodoc option wasn't used for the options. This
  9211. fixes that problem, such that, as one would hope, they once again
  9212. pass.
  9213. 2013-08-23 18:07 +0000 [r397570] Richard Mudgett <rmudgett@digium.com>
  9214. * include/asterisk/utils.h, include/asterisk/astmm.h, /,
  9215. main/backtrace.c, main/logger.c, main/utils.c,
  9216. include/asterisk/lock.h, main/astmm.c, channels/sig_pri.c,
  9217. main/astobj2.c, include/asterisk/backtrace.h, main/lock.c: Fix
  9218. memory corruption when trying to get "core show locks". Review
  9219. https://reviewboard.asterisk.org/r/2580/ tried to fix the
  9220. mismatch in memory pools but had a math error determining the
  9221. buffer size and didn't address other similar memory pool
  9222. mismatches. * Effectively reverted the previous patch to go in
  9223. the same direction as trunk for the returned memory pool of
  9224. ast_bt_get_symbols(). * Fixed memory leak in ast_bt_get_symbols()
  9225. when BETTER_BACKTRACES is defined. * Fixed some formatting in
  9226. ast_bt_get_symbols(). * Fixed sig_pri.c freeing memory allocated
  9227. by libpri when MALLOC_DEBUG is enabled. * Fixed
  9228. __dump_backtrace() freeing memory from ast_bt_get_symbols() when
  9229. MALLOC_DEBUG is enabled. * Moved __dump_backtrace() because of
  9230. compile issues with the utils directory. (closes issue
  9231. ASTERISK-22221) Reported by: Matt Jordan Review:
  9232. https://reviewboard.asterisk.org/r/2778/ ........ Merged
  9233. revisions 397525 from
  9234. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9235. revisions 397528 from
  9236. http://svn.asterisk.org/svn/asterisk/branches/11
  9237. 2013-08-23 18:02 +0000 [r397568] Matthew Jordan <mjordan@digium.com>
  9238. * main/config_options.c: Prevent seg fault in off nominal path when
  9239. registered option fails to validate If an option is registered to
  9240. a type and it is the last known type in the list of registered
  9241. types, and the option fails to register, an overrun of the types
  9242. array can occur due to the index variable having been already
  9243. incremented.
  9244. 2013-08-23 17:45 +0000 [r397567] Kevin Harwell <kharwell@digium.com>
  9245. * contrib/scripts/sip_to_res_sip/sip_to_res_sip.py,
  9246. contrib/scripts/sip_to_res_sip/astconfigparser.py,
  9247. contrib/scripts/sip_to_res_sip/astdicts.py: PSJIP - sip.conf to
  9248. res_sip.conf script Most, if not all, of the backing features of
  9249. a conf file should now be implemented (e.g. multi-line comments,
  9250. includes, templates, etc...). A few of the options still need to
  9251. be mapped. Those are currently listed in the 'sip_to_res_sip.py'
  9252. file. Things to do: (1) There is more work to do here, at least
  9253. for the sip.conf items that aren't currently parsed. An issue
  9254. will be created for that. (2) All of the scripts should probably
  9255. be passed through pylint and have as many PEP8 issues fixed as
  9256. possible. (3) A public review is probably warranted at that point
  9257. of the entire script. Reported by: Matt Jordan
  9258. 2013-08-23 17:19 +0000 [r397565] David M. Lee <dlee@digium.com>
  9259. * rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
  9260. res/res_ari_bridges.c, res/stasis/control.c,
  9261. include/asterisk/stasis_app.h,
  9262. include/asterisk/stasis_app_impl.h: ARI: Correct error codes for
  9263. bridge operations This patch adds error checking to ARI bridge
  9264. operations, when adding/removing channels to/from bridges. In
  9265. general, the error codes fall out as follows: * Bridge not found
  9266. - 404 Not Found * Bridge not in Stasis - 409 Conflict * Channel
  9267. not found - 400 Bad Request * Channel not in Stasis - 422
  9268. Unprocessable Entity * Channel not in this bridge (on remove) -
  9269. 422 Unprocessable Entity (closes issue ASTERISK-22036) Review:
  9270. https://reviewboard.asterisk.org/r/2769/
  9271. 2013-08-23 15:49 +0000 [r397524-397527] Matthew Jordan <mjordan@digium.com>
  9272. * CHANGES: Update CHANGES file to reflect pass through support for
  9273. Opus/VP8
  9274. * channels/chan_sip.c, res/res_pjsip_sdp_rtp.c,
  9275. include/asterisk/opus.h (added), include/asterisk/format.h,
  9276. channels/chan_pjsip.c, res/res_format_attr_opus.c (added),
  9277. main/channel.c, main/format.c, res/res_rtp_asterisk.c,
  9278. main/frame.c, main/rtp_engine.c: Add pass through support for
  9279. Opus and VP8; Opus format attribute negotiation This patch adds
  9280. pass through support for Opus and VP8. That includes: * Format
  9281. attribute negotiation for Opus. Note that unlike some other
  9282. codecs, the draft RFC specifies having spaces delimiting the
  9283. attributes in addition to ';', so you have "attra=X; attrb=Y".
  9284. This broke the attribute parsing in chan_sip, so a small tweak
  9285. was also included in this patch for that. * A format attribute
  9286. negotiation module for Opus, res_format_attr_opus * Fast picture
  9287. update for VP8. Since VP8 uses a different RTCP packet number
  9288. than FIR, this really is specific to VP8 at this time. Note that
  9289. the format attribute negotiation in res_pjsip_sdp_rtp was written
  9290. by mjordan. The rest of this patch was written completely by
  9291. Lorenzo Miniero. Review: https://reviewboard.asterisk.org/r/2723/
  9292. (closes issue ASTERISK-21981) Reported by: Tzafrir Cohen patches:
  9293. asterisk_opus+vp8_passthrough_20130718.patch uploaded by lminiero
  9294. (License 6518)
  9295. * main/sorcery.c, include/asterisk/config_options.h,
  9296. include/asterisk/sorcery.h, res/res_pjsip/pjsip_configuration.c,
  9297. main/config_options.c, main/features_config.c,
  9298. res/res_pjsip/pjsip_options.c, res/res_pjsip.c: Update config
  9299. framework/sorcery with types/options without documentation There
  9300. are times when a configuration option should not have
  9301. documentation. 1. Some options are registered with a particular
  9302. object merely as a warning to users. These options aren't even
  9303. really 'deprecated' - which has its own separate API call - they
  9304. are actually provided by a different configuration file. The
  9305. options are merely registered so that the user gets a warning
  9306. that a different configuration file provides the item. 2. Some
  9307. object types - most notably some used by modules that use sorcery
  9308. - are completely internal and should never be shown to the user.
  9309. 3. Sorcery itself has several 'hidden' fields that should never
  9310. be shown to a user. This patch updates the configuration
  9311. framework and sorcery with additional API calls that allow a
  9312. module to register types as internal and options as not requiring
  9313. documentation. This bypasses the XML documentation checking. This
  9314. patch also re-enables the strict XML documentation checking in
  9315. trunk, as well as updates some documentation that was missing.
  9316. Review: https://reviewboard.asterisk.org/r/2785/ (closes issue
  9317. ASTERISK-22359) Reported by: Matt Jordan (closes issue
  9318. ASTERISK-22112) Reported by: Rusty Newton
  9319. 2013-08-23 13:58 +0000 [r397515] Joshua Colp <jcolp@digium.com>
  9320. * channels/chan_pjsip.c: Fix crash when answering after a transport
  9321. error occurs. If a response to an initial incoming INVITE results
  9322. in a transport error the INVITE transaction is removed from the
  9323. INVITE session. Any attempts to answer the INVITE session after
  9324. this results in a crash as it requires the INVITE transaction to
  9325. exist. This change explicitly locks the dialog and checks to
  9326. ensure that the INVITE transaction exists before answering.
  9327. (closes issue AST-1203) Reported by: John Bigelow
  9328. 2013-08-23 13:18 +0000 [r397514] Kinsey Moore <kmoore@digium.com>
  9329. * configs/cel.conf.sample: Update CEL sample config
  9330. 2013-08-23 00:26 +0000 [r397505] Jonathan Rose <jrose@digium.com>
  9331. * res/res_stasis.c, rest-api/api-docs/bridges.json,
  9332. res/ari/resource_bridges.c, res/res_ari_bridges.c,
  9333. res/ari/resource_bridges.h, include/asterisk/stasis_app.h: ARI:
  9334. Music on Hold/Background Music for bridges Adds ARI functions to
  9335. be able to turn on/off music on hold in a bridge. It actually
  9336. functions more as a background music without further actions on
  9337. the bridge since if the rest of the channels in the bridge aren't
  9338. explicitly muted, they will still be able to communicate. (closes
  9339. issue ASTERISK-21974) Reported by: Matt Jordan Review:
  9340. https://reviewboard.asterisk.org/r/2688/
  9341. 2013-08-22 23:15 +0000 [r397494] Richard Mudgett <rmudgett@digium.com>
  9342. * apps/app_followme.c, main/channel.c, bridges/bridge_holding.c:
  9343. Minor tweaks with ast_moh_start() callers.
  9344. 2013-08-22 22:33 +0000 [r397493] Kinsey Moore <kmoore@digium.com>
  9345. * include/asterisk/say.h, apps/app_voicemail.c, main/channel.c,
  9346. main/pbx.c, main/say.c, res/res_agi.c, CHANGES,
  9347. apps/app_directory.c, apps/app_chanspy.c: Add SayAlphaCase and
  9348. similar functionality for AGI This adds a new dialplan
  9349. application, SayAlphaCase, that performs much the same function
  9350. as SayAlpha except that it takes additional options which allow
  9351. the user to specify whether the case of each letter should be
  9352. announced for uppercase, lowercase, or all letters. Similar
  9353. functionality has been added to the SAY ALPHA AGI command via an
  9354. optional parameter. Original Patch by: Kevin Scott Adams Reported
  9355. by: Kevin Scott Adams Review:
  9356. https://reviewboard.asterisk.org/r/2725/ (closes issue
  9357. ASTERISK-20782)
  9358. 2013-08-22 22:09 +0000 [r397484] Kevin Harwell <kharwell@digium.com>
  9359. * res/res_pjsip.c, res/res_pjsip_dtmf_info.c: res_sip_dtmf_info:
  9360. Support sending of 'raw' DTMF Added the ability to handle 'raw'
  9361. DTMF within the body of an INFO message. Also made it so values
  9362. 10-16 are mapped to valid DTMF values. (closes issue
  9363. ASTERISK-22144) Reported by: Matt Jordan Review:
  9364. https://reviewboard.asterisk.org/r/2776/
  9365. 2013-08-22 21:39 +0000 [r397483] Kinsey Moore <kmoore@digium.com>
  9366. * res/res_pjsip.c: Add missing configOption close tags
  9367. 2013-08-22 21:29 +0000 [r397482] Richard Mudgett <rmudgett@digium.com>
  9368. * include/asterisk/musiconhold.h: Update MOH start/stop routine
  9369. doxygen.
  9370. 2013-08-22 21:21 +0000 [r397481] Rusty Newton <rnewton@digium.com>
  9371. * res/res_pjsip.c: Fix missing xml doc configOption 'type' for for
  9372. both 'system' and 'global' configObjects (issue ASTERISK-22344)
  9373. (closes issue ASTERISK-22344)
  9374. 2013-08-22 21:09 +0000 [r397472] Richard Mudgett <rmudgett@digium.com>
  9375. * include/asterisk/bridge_channel.h, main/features.c,
  9376. bridges/bridge_builtin_interval_features.c,
  9377. include/asterisk/bridge_internal.h, apps/app_confbridge.c,
  9378. main/bridge_channel.c, res/res_stasis.c,
  9379. include/asterisk/bridge.h, apps/app_dial.c, main/bridge.c,
  9380. main/bridge_basic.c, apps/app_bridgewait.c,
  9381. res/parking/parking_applications.c,
  9382. res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
  9383. res/res_parking.c, bridges/bridge_builtin_features.c: Bridge API:
  9384. Set a cause code on a channel when it is ejected from a bridge.
  9385. The cause code needs to be passed from the disconnecting channel
  9386. to the bridge peers if the disconnecting channel dissolves the
  9387. bridge. * Made the call to an app_agent_pool agent disconnect
  9388. with the busy cause code if the agent does not ack the call in
  9389. time or hangs up before acking the call. (closes issue
  9390. ASTERISK-22042) Reported by: Matt Jordan Review:
  9391. https://reviewboard.asterisk.org/r/2772/
  9392. 2013-08-22 20:29 +0000 [r397471] Kinsey Moore <kmoore@digium.com>
  9393. * main/cel.c: Ensure CEL creates a default config if it isn't
  9394. provided with one
  9395. 2013-08-22 20:18 +0000 [r397466] Mark Michelson <mmichelson@digium.com>
  9396. * apps/app_queue.c: Remove set but unused variable 'meid'.
  9397. 2013-08-22 19:52 +0000 [r397461] Kinsey Moore <kmoore@digium.com>
  9398. * main/cel.c: Fix crash when getting CEL config
  9399. 2013-08-22 18:52 +0000 [r397441-397451] Mark Michelson <mmichelson@digium.com>
  9400. * include/asterisk/core_unreal.h, include/asterisk/features.h,
  9401. include/asterisk/app.h, main/bridge.c, main/bridge_basic.c,
  9402. main/features.c, main/app.c, main/core_local.c, CHANGES,
  9403. apps/app_queue.c, include/asterisk/bridge_basic.h: Massively
  9404. clean up app_queue. This essentially makes app_queue usable
  9405. again. From reviewboard: * Reporting of transfers and call
  9406. completion is done by creating stasis subscriptions and listening
  9407. for specific events in order to determine when the call is
  9408. finished (either via a transfer or hangup). * Dial end messages
  9409. have been added where they were previously missing. * Queue stats
  9410. are properly being updated again once calls have finished. *
  9411. AgentComplete stasis messages and AMI events are now occurring
  9412. again. * Mixmonitor starting has been factored into its own
  9413. function and uses the Mixmonitor API now instead of using
  9414. ast_pbx_run() In addition to the changes in app_queue, there are
  9415. several supplementary changes as well: * Queue logging now
  9416. differentiates between attended and blind transfers. A note about
  9417. this is in the CHANGES file. * Local channel optimization events
  9418. now report more information. This includes which of the two local
  9419. channels involved is the destination of the optimization, the
  9420. channel that is replacing the destination local channel, and an
  9421. identifier so that begin and end events can be matched to each
  9422. other. The end events are now sent whether the optimization was
  9423. successful or not and includes an indicator of whether the
  9424. optimization was successful. * Changes were made to features and
  9425. bridging_basic so that additional flags may be set on a bridge.
  9426. This is necessary because the queue requires that its bridge only
  9427. allows move-swap local channel optimizations into the bridge.
  9428. (closes issue ASTERISK-21517) Reported by Matt Jordan (closes
  9429. issue ASTERISK-21943) Reported by Matt Jordan Review:
  9430. https://reviewboard.asterisk.org/r/2694
  9431. * res/res_pjsip_exten_state.c, include/asterisk/res_pjsip_pubsub.h,
  9432. res/res_pjsip_mwi.c, res/res_pjsip_pubsub.c: Handle default body
  9433. types for SIP event packages in res_pjsip_pubsub Prior to this
  9434. change, we would reject SUBSCRIBE requests that had no Accept
  9435. headers. Now event package handlers that handle the default type
  9436. for the event package indicate that they do so. Therefore, if we
  9437. have a handler that can handle the default type, we can allow
  9438. SUBSCRIBEs for the handler's event package that have no Accept
  9439. headers. (closes issue ASTERISK-22067) reported by Mark Michelson
  9440. Review: https://reviewboard.asterisk.org/r/2774
  9441. 2013-08-22 17:34 +0000 [r397440] Richard Mudgett <rmudgett@digium.com>
  9442. * main/bridge_channel.c, main/abstract_jb.c: Made the abstract
  9443. jitter buffer resync on some more control frames. Resync the
  9444. abstract jitter buffer on the following additional control
  9445. frames: AST_CONTROL_HOLD AST_CONTROL_UNHOLD
  9446. AST_CONTROL_T38_PARAMETERS
  9447. 2013-08-22 17:13 +0000 [r397431] Kinsey Moore <kmoore@digium.com>
  9448. * tests/test_cel.c, main/cel.c, include/asterisk/cel.h: Make CEL
  9449. behavior conform to the documentation This modifies the behavior
  9450. of the CEL engine to conform to documented behavior for Asterisk
  9451. 12 as defined on the wiki
  9452. https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+CEL+Specification
  9453. The primary changes deal with removal of the peer field from
  9454. function calls since it is no longer directly relevant to the
  9455. bridging system and removal of the layer of CDR-like business
  9456. logic that was providing a partial emulation of Asterisk 11 CEL
  9457. functionality. With this change, there is no longer a distinction
  9458. between "bridges" and "conferences" and all participation changes
  9459. are denoted with bridge enter and bridge exit messages. This
  9460. updates the CEL unit tests to handle these changes and simplifies
  9461. some of the macros used in the process. This also fixes a
  9462. segfault when attempting to ref a configuration that failed to
  9463. load. Review: https://reviewboard.asterisk.org/r/2788/ (issue
  9464. ASTERISK-21567)
  9465. 2013-08-22 16:46 +0000 [r397426] Richard Mudgett <rmudgett@digium.com>
  9466. * main/bridge.c: Update BUGBUG comment.
  9467. 2013-08-22 12:28 +0000 [r397379-397415] Walter Doekes <walter+asterisk@wjd.nu>
  9468. * main/asterisk.c: Don't store repeated commands in the editline
  9469. history buffer. The equivalent of bash HISTCONTROL=ignoredups.
  9470. Review: https://reviewboard.asterisk.org/r/2775/
  9471. * /, main/asterisk.exports.in, default.exports: Add _IO_stdin_used
  9472. in version-script to fix SIGBUSes on Sparc. The
  9473. --version-script,asterisk.exports linker flag (and the module
  9474. exports) didn't provide _IO_stdin_used in the list of exported
  9475. symbols. That causes some kind of libc compatibility mode to kick
  9476. in, where stdio file structures (stdout/stderr) land somewhere
  9477. else. In the case of the Sparc, they landed on misaligned memory.
  9478. This became apparent first after r376428 (Reorder startup
  9479. sequence) when a lot of ast_log's were replaced with fprintf's.
  9480. Writing to stderr triggered a SIGBUS. (Compared to x86 and amd64
  9481. architectures, the Sparc is very picky about memory alignment.)
  9482. (issue ASTERISK-21763) (issue ASTERISK-21665) Reported by: Jeremy
  9483. Kister Review: https://reviewboard.asterisk.org/r/2760/ ........
  9484. Merged revisions 397377 from
  9485. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9486. revisions 397378 from
  9487. http://svn.asterisk.org/svn/asterisk/branches/11
  9488. 2013-08-21 23:09 +0000 [r397366] Jonathan Rose <jrose@digium.com>
  9489. * main/udptl.c, /: UDPTL: Fix a regression where UDPTL won't load
  9490. default settings If the file udptl.conf is unavailable at
  9491. startup, UDPTL will fail to initialize and while it makes some
  9492. noise, it isn't immediately obvious why consumers start to fail
  9493. when using it. This patch makes UDPTL load as though an empty
  9494. config was provided when udptl is unavailable at startup. (closes
  9495. issue ASTERISK-22349) Reported by: Jonathan Rose Review:
  9496. https://reviewboard.asterisk.org/r/2773/ ........ Merged
  9497. revisions 397365 from
  9498. http://svn.asterisk.org/svn/asterisk/branches/11
  9499. 2013-08-21 20:02 +0000 [r397346-397355] Richard Mudgett <rmudgett@digium.com>
  9500. * include/asterisk/bridge_basic.h, main/bridge_basic.c,
  9501. main/features.c: * Move ast_bridge_channel_setup_features() into
  9502. bridge_basic.c. * Made application map hooks be removed on a
  9503. basic bridge personality change.
  9504. * main/bridge.c, main/bridge_channel.c: Deferred some more BUGBUG
  9505. comments to a JIRA issue or XXX comment.
  9506. 2013-08-21 17:12 +0000 [r397310] David M. Lee <dlee@digium.com>
  9507. * /, main/http.c: Complete http_shutdown. This patch frees up some
  9508. resources allocated in http.c. * tcp listeners stopped * tls
  9509. settings freed * uri redirects freed * unregister internal http.c
  9510. uri's (closes issue ASTERISK-22237) Reported by: Corey Farrell
  9511. Patches: http.patch uploaded by Corey Farrell (license 5909)
  9512. ........ Merged revisions 397308 from
  9513. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9514. revisions 397309 from
  9515. http://svn.asterisk.org/svn/asterisk/branches/11
  9516. 2013-08-21 16:31 +0000 [r397307] Matthew Jordan <mjordan@digium.com>
  9517. * include/asterisk/frame.h, /: Set 14400 as the default max bit
  9518. rate if T38MaxBitRate is not specified If an endpoint fails to
  9519. include the T38MaxBitRate attribute during negotiation, Asterisk
  9520. will negotiate a bit rate of 2400 instead of the ITU recommended
  9521. bit rate of 14400. This patch fixes this by making
  9522. AST_T38_RATE_14400 the 'default' value of the enum by assigning
  9523. it a value of 0, such that if an endpoint fails to include the
  9524. attribute, the default will be 14400. Note that Walter Doekes
  9525. included the nice comment in frame.h about why we are
  9526. purposefully assigning AST_T38_RATE_14400 a value of 0. (closes
  9527. issue ASTERISK-22275) Reported by: Andreas Steinmetz patches:
  9528. fax-fix.patch uploaded by anstein (License 6523) ........ Merged
  9529. revisions 397256 from
  9530. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9531. revisions 397257 from
  9532. http://svn.asterisk.org/svn/asterisk/branches/11
  9533. 2013-08-21 16:23 +0000 [r397295-397306] David M. Lee <dlee@digium.com>
  9534. * rest-api/api-docs/asterisk.json, res/ari/resource_asterisk.c,
  9535. res/res_ari_asterisk.c, rest-api/api-docs/channels.json,
  9536. res/ari/resource_channels.c, res/res_ari_channels.c: ARI: Correct
  9537. segfault with /variable calls are missing ?variable parameter.
  9538. Both /asterisk/variable and /channel/{channelId}/variable
  9539. requires a ?variable parameter to be passed into the query. But
  9540. we weren't checking for the parameter being missing, which caused
  9541. a segfault. All calls now properly return 400 Bad Request errors
  9542. when the parameter is missing. The Swagger api-docs were updated
  9543. accordingly. (closes issue ASTERISK-22273)
  9544. * main/stasis_endpoints.c: ARI: Remove the 'channel:' scheme from
  9545. endpoint's channel list. For times when a reference in ARI might
  9546. be ambiguous, the reference is built as an URI (such as
  9547. channel:1376341790.3). An endpoint's channel list is not
  9548. ambiguous, and in fact the field is named 'channel_ids', but it
  9549. had channel URI's instead of channel id's. This patch changes the
  9550. list to be the raw id instead of the URI. (closes issue
  9551. ASTERISK-22291)
  9552. * res/stasis/control.h, res/res_stasis.c: res_stasis: remove call
  9553. to missing function control_continue. In the shuffling around of
  9554. res_stasis, control_continue was renamed to
  9555. stasis_app_control_continue, but the call in res_stasis wasn't
  9556. updated. In looking into it, it turns out it wasn't really the
  9557. right thing to do in res_stasis anyways. This patch changes the
  9558. handling of received a AST_CONTROL_HANGUP frame to be the same as
  9559. receiving a NULL frame, and removed the declaration of
  9560. control_continue(), since it doesn't exist any more. (closes
  9561. issue ASTERISK-22292) Reported by: Denis Smirnov
  9562. 2013-08-21 15:51 +0000 [r397294] Richard Mudgett <rmudgett@digium.com>
  9563. * apps/app_bridgewait.c, include/asterisk/bridge_features.h,
  9564. main/bridge_channel.c, res/parking/parking_bridge_features.c,
  9565. apps/app_agent_pool.c, bridges/bridge_holding.c, main/bridge.c,
  9566. include/asterisk/bridge_channel.h, main/features.c,
  9567. bridges/bridge_builtin_interval_features.c: Fix several
  9568. interrelated issues dealing with the holding bridge technology. *
  9569. Added an option flags parameter to interval hooks. Interval hooks
  9570. now can specify if the callback will affect the media path or
  9571. not. * Added an option flags parameter to the bridge action
  9572. custom callback. The action callback now can specify if the
  9573. callback will affect the media path or not. * Made the holding
  9574. bridge technology reexamine the participant idle mode option
  9575. whenever the entertainment is restarted. * Fixed app_agent_pool
  9576. waiting agents needlessly starting and stopping MOH every second
  9577. by specifying the heartbeat interval hook as not affecting the
  9578. media path. * Fixed app_agent_pool agent alert from restarting
  9579. the MOH after the alert beep. The agent entertainment is now
  9580. changed from MOH to silence after the alert beep. * Fixed holding
  9581. bridge technology to defer starting the entertainment. It was
  9582. previously a mixture of immediate and deferred. * Fixed holding
  9583. bridge technology to immediately stop the entertainment. It was
  9584. previously a mixture of immediate and deferred. If the channel
  9585. left the bridging system, any deferred stopping was discarded
  9586. before taking effect. * Miscellaneous holding bridge technology
  9587. rework coding improvements. Review:
  9588. https://reviewboard.asterisk.org/r/2761/
  9589. 2013-08-21 14:39 +0000 [r397255] Mark Michelson <mmichelson@digium.com>
  9590. * /, channels/chan_sip.c: Prevent a crash on outbound SIP MESSAGE
  9591. requests. If a From header on an outbound out-of-call SIP MESSAGE
  9592. were malformed, the result could crash Asterisk. In addition, if
  9593. a From header on an incoming out-of-call SIP MESSAGE request were
  9594. malformed, the message was happily accepted rather than being
  9595. rejected up front. The incoming message path would not result in
  9596. a crash, but the behavior was bad nonetheless. (closes issue
  9597. ASTERISK-22185) reported by Zhang Lei ........ Merged revisions
  9598. 397254 from http://svn.asterisk.org/svn/asterisk/branches/11
  9599. 2013-08-21 14:08 +0000 [r397244] Kinsey Moore <kmoore@digium.com>
  9600. * res/res_stasis.c: Allow channels in app_stasis to hangup properly
  9601. This detects hangups that occur while bridged to allow channels
  9602. to exit app_stasis even if the hangup frame was absorbed by the
  9603. bridge the channel was in. Reported by: David Lee (closes issue
  9604. ASTERISK-22297)
  9605. 2013-08-21 13:41 +0000 [r397243] Matthew Jordan <mjordan@digium.com>
  9606. * CHANGES, channels/chan_sip.c: Allow the SIP_CODEC family of
  9607. variables to specify more than one codec The SIP_CODEC family of
  9608. variables let you set the preferred codec to be offered on an
  9609. outbound INVITE request. However, for video calls, you need to be
  9610. able to set both the audio and video codecs to be offered. This
  9611. patch lets the SIP_CODEC variables accept a comma delineated list
  9612. of codecs. The first codec in the list is set as the preferred
  9613. codec; additional codecs are still offered however. This lets a
  9614. dialplan writer set both audio and video codecs, e.g.,
  9615. Set(SIP_CODEC=ulaw,h264) Note that this feature was written by
  9616. both Dennis Guse and Frank Haase Review:
  9617. https://reviewboard.asterisk.org/r/2728 (closes issue
  9618. ASTERISK-21976) Reported by: Denis Guse Tested by: mjordan,
  9619. sysreq patches: patch-channels-chan__sip.c-393919 uploaded by
  9620. dennis.guse (license 6513)
  9621. 2013-08-21 02:15 +0000 [r397206] Michael L. Young <elgueromexicano@gmail.com>
  9622. * /, channels/chan_sip.c: Fix Not Storing Current Incoming Recv
  9623. Address In 1.8, r384779 introduced a regression by retrieving an
  9624. old dialog and keeping the old recv address since recv was
  9625. already set. This has caused a problem when a proxy is involved
  9626. since responses to incoming requests from the proxy server, after
  9627. an outbound call is established, are never sent to the correct
  9628. recv address. In 11, r382322 introduced this regression. The fix
  9629. is to revert that change and always store the recv address on
  9630. incoming requests. Thank you Walter Doekes for helping to point
  9631. out this error and Mark Michelson for your input/review of the
  9632. fix. (closes issue ASTERISK-22071) Reported by: Alex Zarubin
  9633. Tested by: Alex Zarubin, Karsten Wemheuer Patches:
  9634. asterisk-22071-store-recvd-address.diff by Michael L. Young
  9635. (license 5026) ........ Merged revisions 397204 from
  9636. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9637. revisions 397205 from
  9638. http://svn.asterisk.org/svn/asterisk/branches/11
  9639. 2013-08-20 21:01 +0000 [r397111-397193] Mark Michelson <mmichelson@digium.com>
  9640. * include/asterisk/res_pjsip.h, res/res_pjsip/config_security.c
  9641. (removed), res/res_pjsip/pjsip_configuration.c,
  9642. res/res_pjsip_acl.c: Localize and rename ACL configuration. This
  9643. is more-or-less a reversion of previous ACL behavior so that it
  9644. is more self-contained. ACL sections are now only parsed if
  9645. res_pjsip_acl.so is loaded. Moreover, the configuration section
  9646. is now "type=acl" instead of "type=security". The original reason
  9647. for having ACLs configured in a "type=security" section was to
  9648. lump ACLs and other security-related items into the same section.
  9649. The problem is that ACLs really should be in their own sections
  9650. and there are no other security-related options implemented
  9651. anyways.
  9652. * /, channels/chan_sip.c: Remove REF_DEBUG definition. ........
  9653. Merged revisions 397156 from
  9654. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9655. revisions 397157 from
  9656. http://svn.asterisk.org/svn/asterisk/branches/11
  9657. * /, channels/chan_sip.c, channels/sip/dialplan_functions.c: Fix
  9658. refcounting of sip_pvt in test_sip_rtpqos test and unlink it from
  9659. the list of pvts. (closes issue ASTERISK-22248) reported by Corey
  9660. Farrell patches: test_sip_rtpqos.patch uploaded by Corey Farrell
  9661. (license #5909) ........ Merged revisions 397112 from
  9662. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9663. revisions 397133 from
  9664. http://svn.asterisk.org/svn/asterisk/branches/11
  9665. * res/res_pjsip.c: Clarify documentation for the "identify_by"
  9666. option for SIP endpoints. This also removes documentation for the
  9667. options that no longer exist. (closes issue ASTERISK-22306)
  9668. reported by Rusty Newton
  9669. 2013-08-20 15:36 +0000 [r397110] Kinsey Moore <kmoore@digium.com>
  9670. * /, main/threadstorage.c, main/astfd.c: Unregister CLI commands on
  9671. exit This patch ensures that CLI commands enabled by
  9672. DEBUG_FD_LEAKS and DEBUG_THREADLOCALS are cleaned up properly on
  9673. exit. (closes issue ASTERISK-22238) Reported by: Corey Farrell
  9674. Tested by: Corey Farrell Patches: debug_cli_unregister.patch
  9675. uploaded by Corey Farrell ........ Merged revisions 397106 from
  9676. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9677. revisions 397107 from
  9678. http://svn.asterisk.org/svn/asterisk/branches/11
  9679. 2013-08-20 15:32 +0000 [r397073-397109] Mark Michelson <mmichelson@digium.com>
  9680. * res/res_pjsip_endpoint_identifier_ip.c: Add debug message to
  9681. res_pjsip_endpoint_identifier_ip to indicate when an endpoint is
  9682. successfully retrieved. (closes issue ASTERISK-22101) reported by
  9683. Rusty Newton
  9684. * res/res_pjsip_registrar.c: Add warning messages for registration
  9685. failure paths. (closes issue ASTERISK-22089) reported by Rusty
  9686. Newton patches: patch1.txt uploaded by John Bigelow (License
  9687. #5091)
  9688. * res/res_pjsip.c: Add note to transport configuration that a
  9689. restart is required to change transports. (closes issue
  9690. ASTERISK-22094) reported by Rusty Newton
  9691. 2013-08-20 14:26 +0000 [r397072] Kinsey Moore <kmoore@digium.com>
  9692. * /: Recorded merge of revisions 397067 from
  9693. http://svn.asterisk.org/svn/asterisk/branches/11 ........ Fix
  9694. xmldoc memory leak This fixes a single-attribute memory leak that
  9695. was occurring when the "required" attribute was not true. (closes
  9696. issue ASTERISK-22249) Reported by: Corey Farrell Tested by: Corey
  9697. Farrell Patches: xmldoc-free_attr_required.patch uploaded by
  9698. Corey Farrell ........ Merged revisions 397064 from
  9699. http://svn.asterisk.org/svn/asterisk/branches/1.8
  9700. 2013-08-20 11:48 +0000 [r396996] Walter Doekes <walter+asterisk@wjd.nu>
  9701. * configs/sip.conf.sample, configs/h323.conf.sample, /: Add
  9702. "autoframing" option to sip.conf.sample and h323.conf.sample. The
  9703. autoframing option was added to chan_sip.c in r43243 (mogorman,
  9704. 2006-09-19 01:32:57), but never made its way into the sample
  9705. configs. Review: https://reviewboard.asterisk.org/r/2768/
  9706. ........ Merged revisions 396994 from
  9707. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9708. revisions 396995 from
  9709. http://svn.asterisk.org/svn/asterisk/branches/11
  9710. 2013-08-20 11:33 +0000 [r396993] Joshua Colp <jcolp@digium.com>
  9711. * res/res_pjsip_dtmf_info.c: Remove assumption in
  9712. res_pjsip_dtmf_info that all INFO messages will contain a body.
  9713. (closes issue ASTERISK-22320) Reported by: Matt Jordan
  9714. 2013-08-20 00:08 +0000 [r396946-396949] Matthew Jordan <mjordan@digium.com>
  9715. * /, apps/app_queue.c: Let Queue wrap up time influence member
  9716. availability Queue members who happen to be in multiple queues at
  9717. the same time may not have any wrap up time. This problem
  9718. occurred due to a code change in Asterisk 11.3.0 that unified
  9719. device state tracking of Queue members in multiple Queues (which
  9720. fixed some other problems, but unfortunately caused this one).
  9721. This patch fixes the behavior by having the is_member_available
  9722. function check the queue's wrap up time and the time of the
  9723. member's last call, such that for a particular queue, the member
  9724. won't be considered available if their last call is within the
  9725. wrap up time. (closes issue ASTERISK-22189) Reported by: Tony
  9726. Lewis Tested by: Tony Lewis ........ Merged revisions 396948 from
  9727. http://svn.asterisk.org/svn/asterisk/branches/11
  9728. * /, apps/app_meetme.c: Resolve conflicts between
  9729. CONFFLAG_DONT_DENOISE and CONFFLAG_INTROUSER_VMREC When r382230
  9730. added an option to not denoise the MeetMe conference (if a user
  9731. had a channel whose format's sample rate changed frequently, for
  9732. example), the value added was the maximum allowed value for the
  9733. constants that define the options for MeetMe in 1.8. Not so in 11
  9734. - unfortunately, the option CONFFLAG_DONT_DENOISE conflicts with
  9735. CONFFLAG_INTROUESR_VMREC. This patch fixes that, and also tweaks
  9736. one of the way in which the constants was declared for
  9737. consistency. Thanks to Tony Mountifield for pointing out the
  9738. problem and solution. (closes issue ASTERISK-22269) Reported by:
  9739. Tony Mountifield ........ Merged revisions 396944 from
  9740. http://svn.asterisk.org/svn/asterisk/branches/11
  9741. 2013-08-19 16:10 +0000 [r396930] Richard Mudgett <rmudgett@digium.com>
  9742. * main/bridge.c: Update BUGBUG comment.
  9743. 2013-08-19 14:54 +0000 [r396923] Jonathan Rose <jrose@digium.com>
  9744. * main/bridge.c: attended transfers: Fix a bug affecting external
  9745. blond transfers Performing a blond transfer (attended transfer
  9746. that is completed before the transfer recipient picks up)
  9747. externally through chan_sip or chan_pjsip would result in lost
  9748. references to the channels involved with the transfer as well as
  9749. their bridge. (closes issue ASTERISK-22092) Reported by:
  9750. mmichelson Review: https://reviewboard.asterisk.org/r/2766/
  9751. 2013-08-19 14:53 +0000 [r396915-396922] Matthew Jordan <mjordan@digium.com>
  9752. * channels/sip/include/sip.h: Whitespace cleanup Remove some
  9753. extraneous blobs
  9754. * main/data.c: Fix invalid access to disposed memory in main/data
  9755. unit test It is not safe to iterate over a macro'd list of ao2
  9756. objects, deref them such that the item's destructor is called,
  9757. and leave them in the list. The list macro to iterate over items
  9758. requires the item to be a valid allocated object in order to
  9759. proceed to the next item; with MALLOC_DEBUG on the corruption of
  9760. the linked list is caught in the crash. This patch fixes the
  9761. invalid access to free'd memory by removing the ao2 item from the
  9762. list before de-refing it.
  9763. 2013-08-18 03:05 +0000 [r396908-396909] Kinsey Moore <kmoore@digium.com>
  9764. * channels/chan_mgcp.c: Update chan_mgcp to the modified parking
  9765. API
  9766. * res/res_corosync.c: Disable build of res_corosync until it is
  9767. back in a compiling state
  9768. 2013-08-17 18:13 +0000 [r396899-396902] Rusty Newton <rnewton@digium.com>
  9769. * res/res_pjsip.c: xml doc changes for 'aor' config object and a
  9770. few of its options Added or modified text in the xml doc for the
  9771. 'aor' config object to address a few issues: * help for the
  9772. 'mailboxes' option didn't make it clear how the "list" should be
  9773. formatted. * AoR object's involvement in inbound registration
  9774. wasn't mentioned. * help for the 'contact' option didn't describe
  9775. how to specify multiple contacts. * help for the 'max_contacts'
  9776. option didn't tell whether it limited the amount of contacts
  9777. defined through static configuration. (issue ASTERISK-22118)
  9778. (closes issue ASTERISK-22118)
  9779. * res/res_pjsip.c: 'domain_alias' config object XML help doesn't
  9780. make it clear that the name used for the object is the domain
  9781. alias (issue ASTERISK-22114) (closes issue ASTERISK-22114)
  9782. * res/res_pjsip.c: xml doc changes for clarity - 'auth' config
  9783. object and auth's 'auth_type' config option (issue
  9784. ASTERISK-22108) (closes issue ASTERISK-22108)
  9785. * res/res_pjsip.c: xml doc change for transport config object -
  9786. remove non-applicable warning and add text regarding Asterisk
  9787. restart (closes issue ASTERISK-22105)
  9788. 2013-08-17 15:01 +0000 [r396887-396890] Kinsey Moore <kmoore@digium.com>
  9789. * main/bridge.c, res/parking/parking_applications.c,
  9790. include/asterisk/parking.h, main/bridge_channel.c,
  9791. res/parking/parking_bridge_features.c, channels/chan_dahdi.c,
  9792. res/parking/res_parking.h, res/res_parking.c,
  9793. channels/sig_analog.c, channels/chan_skinny.c, main/parking.c:
  9794. Allow res_parking to be unloadable This change protects accesses
  9795. of res_parking such that it can unload safely once transient uses
  9796. of its registered functions are complete. The parking API has
  9797. been restructured such that its consumers do not have access to
  9798. the vtable exposed by the parking provider, but instead route
  9799. through stubs to prevent consumers from holding on to function
  9800. pointers. This adds calls to all the parking unload functions and
  9801. moves application loading and unloading into functions in
  9802. parking_applications.c similar to the rest of the parts of
  9803. res_parking. Review: https://reviewboard.asterisk.org/r/2763/
  9804. (closes issue ASTERISK-22142)
  9805. * tests/test_event.c, include/asterisk/_private.h, main/cel.c,
  9806. cel/cel_odbc.c, include/asterisk/event.h,
  9807. include/asterisk/event_defs.h, cel/cel_manager.c,
  9808. cel/cel_custom.c, tests/test_cel.c, cel/cel_sqlite3_custom.c,
  9809. main/event.c, main/asterisk.c, cel/cel_pgsql.c, cel/cel_radius.c,
  9810. include/asterisk/cel.h, cel/cel_tds.c: Refactor CEL to avoid
  9811. using the event system core This removes usage of the event
  9812. system for CEL backend data distribution and strips unused pieces
  9813. out of the event system. Review:
  9814. https://reviewboard.asterisk.org/r/2732/
  9815. * main/presencestate.c, channels/sig_pri.h, res/res_parking.c,
  9816. channels/chan_dahdi.c, main/manager.c,
  9817. funcs/func_presencestate.c, include/asterisk/event.h,
  9818. include/asterisk/event_defs.h, channels/chan_skinny.c,
  9819. tests/test_cel.c, main/event.c,
  9820. include/asterisk/security_events_defs.h,
  9821. res/parking/parking_manager.c, channels/chan_mgcp.c,
  9822. res/res_security_log.c, apps/app_voicemail.c,
  9823. res/parking/parking_ui.c, channels/chan_unistim.c, main/pbx.c,
  9824. include/asterisk/devicestate.h, main/security_events.c,
  9825. channels/chan_sip.c, main/ccss.c, tests/test_event.c,
  9826. main/devicestate.c, res/parking/parking_applications.c,
  9827. res/res_xmpp.c, channels/sig_pri.c, channels/chan_iax2.c,
  9828. apps/app_queue.c, res/res_jabber.c: Strip down the old event
  9829. system This removes unused code, event types, IE pltypes, and
  9830. event IE types where possible and makes several functions private
  9831. that were once public. This includes a renumbering of the
  9832. remaining event and IE types which breaks binary compatibility
  9833. with previous versions. The last remaining consumers of the old
  9834. event system (or parts thereof) are main/security_events.c,
  9835. res/res_security_log.c, tests/test_cel.c, tests/test_event.c,
  9836. main/cel.c, and the CEL backends. Review:
  9837. https://reviewboard.asterisk.org/r/2703/ (closes issue
  9838. ASTERISK-22139)
  9839. 2013-08-16 20:48 +0000 [r396849-396877] Richard Mudgett <rmudgett@digium.com>
  9840. * main/bridge_channel.c, include/asterisk/bridge.h, main/bridge.c,
  9841. include/asterisk/bridge_channel.h: Fix CLI "bridge kick <bridge>
  9842. <channel>" to check if the bridge needs dissolving. SIP/foo --
  9843. Local;1==Local;2 -- .... -- Local;1==Local;2 -- SIP/bar Kick a ;1
  9844. channel and the chain toward SIP/foo goes away. Kick a ;2 channel
  9845. and the chain toward SIP/bar goes away. This can leave a local
  9846. channel chain between the kicked ;1 and ;2 channels that are
  9847. orphaned until you manually request one of those channels to
  9848. hangup or request the bridge to dissolve. * Added
  9849. ast_bridge_kick() as a companion to ast_bridge_remove(). The
  9850. functional difference is that ast_bridge_kick() may dissolve the
  9851. bridge as a result of the channel leaving the bridge. * Made CLI
  9852. "bridge kick <bridge> <channel>" use ast_bridge_kick() instead of
  9853. ast_bridge_remove() so the bridge can dissolve if needed. *
  9854. Renamed bridge_channel_handle_hangup() to
  9855. ast_bridge_channel_kick() and made it accessible to other files.
  9856. * include/asterisk/doxygen/architecture.h,
  9857. include/asterisk/bridge_channel_internal.h: Fix some doxygen
  9858. bridging file references.
  9859. * res/parking/parking_bridge_features.c, main/cdr.c, main/data.c,
  9860. main/manager.c, tests/test_jitterbuf.c, main/features.c,
  9861. tests/test_voicemail_api.c, main/file.c, tests/test_cel.c,
  9862. main/stasis_channels.c, main/bridge_channel.c, main/message.c,
  9863. tests/test_cdr.c, main/db.c, main/xmldoc.c, main/format.c,
  9864. res/res_rtp_asterisk.c, main/pbx.c, main/rtp_engine.c,
  9865. tests/test_abstract_jb.c, channels/chan_sip.c, main/pickup.c,
  9866. apps/app_queue.c, main/indications.c: Doxygen comment tweaks.
  9867. * main/utils.c, main/hashtab.c: Fix utilities compilation/linking.
  9868. The horrid structure of the source in the utils directory strikes
  9869. again. Moved the _ast_mem_backtrace_buffer[] definition from the
  9870. logical location in utils.c to hashtab.c so the aelparse and
  9871. conf2ael utilities can link.
  9872. * include/asterisk/utils.h: utils.h: Minor formatting tweaks.
  9873. 2013-08-16 16:03 +0000 [r396842] David M. Lee <dlee@digium.com>
  9874. * main/stasis.c, main/stasis_cache_pattern.c, main/stasis_cache.c,
  9875. include/asterisk/astobj2.h, main/stasis_channels.c,
  9876. tests/test_stasis.c: Stasis: address refcount races;
  9877. implementation comments Change r395954 reordered some stasis
  9878. object destruction, which should have been fine. Unfortunately,
  9879. it caused some hard to reproduce issues related to objects being
  9880. accessed after they had been destroyed. The patch in r396329
  9881. fixed the destruction order problem; this patch addresses the
  9882. underlying issue. A few other stasis-related fixes were also
  9883. added. * Add ref-bumps around areas where objects may get
  9884. transitively destroyed. (For example, where we lock a topic,
  9885. unref a subscription, which unrefs the topic, which explodes the
  9886. topic when we try to unlock it.) * Wrote an extensive doxygen
  9887. page about Stasis implementation, relationships between objects,
  9888. lifecycles of objects, how the refcounting works, etc. Many other
  9889. comments were added, corrected, or cleaned up. * Added an assert
  9890. to the topic dtor to catch extra ref decrements. * Fixed type
  9891. used after destruction errors for graceful shutdown in
  9892. stasis_channels.c. * I added two unit tests in an attempt to
  9893. catch destruction order issues. Since the underlying cause is a
  9894. race condition, though, the tests rarely failed even when the
  9895. code was wrong. * Fixed a leak in stasis_cache_pattern.c. (closes
  9896. issue ASTERISK-22243) Review:
  9897. https://reviewboard.asterisk.org/r/2746/
  9898. 2013-08-16 12:20 +0000 [r396829] Kinsey Moore <kmoore@digium.com>
  9899. * main/utils.c, main/sounds_index.c, main/loader.c: Improve sounds
  9900. indexer CLI commands This reworks the CLI commands used to access
  9901. sounds information from "sounds show[ soundid]" to "core show
  9902. sounds" and "core show sound <soundid>". This also reworks the
  9903. "sounds reload" CLI command to fall under normal module reloading
  9904. ("module reload sounds"). Also, make trunk build when
  9905. DEBUG_MALLOC is not enabled. Review:
  9906. https://reviewboard.asterisk.org/r/2745/ (closes issue
  9907. ASTERISK-22141)
  9908. 2013-08-16 07:18 +0000 [r396822] Walter Doekes <walter+asterisk@wjd.nu>
  9909. * include/asterisk/utils.h, main/pbx.c, main/utils.c: Prevent heap
  9910. alloc functions from running out of stack space. When asterisk
  9911. has run out of memory (for whatever reason), the alloc function
  9912. logs a message. Logging requires memory. A recipe for infinite
  9913. recursion. Stop the recursion by comparing the function call
  9914. depth for sane values before attempting another OOM log message.
  9915. Review: https://reviewboard.asterisk.org/r/2743/
  9916. 2013-08-15 22:10 +0000 [r396783-396814] Richard Mudgett <rmudgett@digium.com>
  9917. * main/bridge_channel.c: Bridge: Don't suspend/unspend the channel
  9918. for interception routines. By their nature, the connected line
  9919. and redirecting interception routines are not supposed to affect
  9920. the channel's media. Therefore, they should not suspend and
  9921. unsuspend the channel while running. The suspend/unsuspend
  9922. operations could be expensive depending upon the bridge and
  9923. channel technology involved.
  9924. * res/parking/res_parking.h, res/res_parking.c,
  9925. res/parking/parking_tests.c, main/features.c: Minor parking
  9926. cleanup.
  9927. * res/parking/parking_bridge_features.c: Parking: Eliminate local
  9928. channel name hack to get peer channel. (closes issue
  9929. ASTERISK-22034) Reported by: Matt Jordan
  9930. * main/bridge_channel.c, main/features.c: Remove early bridge
  9931. BUGBUG comments. Remove some unneeded features.c comments.
  9932. * configs/features.conf.sample: Update features.conf.sample
  9933. atxferdropcall option.
  9934. * main/bridge.c, include/asterisk/bridge_channel.h,
  9935. main/config_options.c, main/bridge_channel.c,
  9936. apps/confbridge/conf_config_parser.c: Changed some BUGBUG tags to
  9937. associated JIRA issue tags.
  9938. * main/bridge.c, main/features.c, bridges/bridge_softmix.c,
  9939. include/asterisk/bridge.h: Resolve some BUGBUG comments.
  9940. 2013-08-15 16:37 +0000 [r396747] Kinsey Moore <kmoore@digium.com>
  9941. * main/asterisk.c, main/cli.c, /: Remove leading spaces from the
  9942. CLI command before parsing If you've mistakenly put a space
  9943. before typing in a command, the leading space will be included as
  9944. part of the command, and the command parser will not find the
  9945. corresponding command. This patch rectifies that situation by
  9946. stripping the leading spaces on commands. Review:
  9947. https://reviewboard.asterisk.org/r/2709/ Patch-by: Tilghman
  9948. Lesher ........ Merged revisions 396745 from
  9949. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  9950. revisions 396746 from
  9951. http://svn.asterisk.org/svn/asterisk/branches/11
  9952. 2013-08-15 15:12 +0000 [r396732-396734] Richard Mudgett <rmudgett@digium.com>
  9953. * channels/chan_vpb.cc, main/features.c,
  9954. include/asterisk/channel.h, channels/chan_iax2.c: Remove some
  9955. dead code dealing with: AST_BRIDGE_REC_CHANNEL_0,
  9956. AST_BRIDGE_REC_CHANNEL_1, and AST_BRIDGE_IGNORE_SIGS.
  9957. * include/asterisk/bridge_channel_internal.h, main/manager.c,
  9958. main/bridge_channel.c: Fix Bridge API DTMF hook matching for
  9959. begin and end DTMF events. The Bridge API DTMF hook matching
  9960. would not deal with DTMF end events only. It required a DTMF
  9961. begin event to start matching the DTMF hooks. There are many
  9962. places in Asterisk where code only generates DTMF end events
  9963. without the corresponding begin event. One such place is the AMI
  9964. action Atxfer. * Fixed DTMF hook matching if there is a string of
  9965. DTMF frames in the read queue. We could potentially miss some of
  9966. them before. * Fixed AMI Atxfer action documentation. (closes
  9967. issue ASTERISK-22037) Reported by: Matt Jordan Review:
  9968. https://reviewboard.asterisk.org/r/2752/
  9969. 2013-08-15 12:17 +0000 [r396722-396724] Kinsey Moore <kmoore@digium.com>
  9970. * apps/app_confbridge.c, main/bridge.c, main/features.c: Fix
  9971. feature_attended_transfer test The feature_attended_transfer test
  9972. is failing due to Asterisk not passing DTMF in the bridges
  9973. created for internal attended transfers. This sets the features
  9974. initialization routine to set this flag by default and adjusts
  9975. the basic bridge and confbridge's use of the bridging system
  9976. accordingly as per Richard's suggestion instead of adjusting this
  9977. individual case. This change allows the necessary DTMF to pass
  9978. through the attended transfer bridge and complete the test
  9979. successfully. Review: https://reviewboard.asterisk.org/r/2759/
  9980. (closes issue ASTERISK-22222)
  9981. * main/utils.c, include/asterisk/lock.h, channels/chan_sip.c: Fix
  9982. deadlocks in chan_sip in REFER and BYE handling This resolves
  9983. several deadlocks in chan_sip relating to usage of
  9984. ast_channel_bridge_peer and improves accessibility of lock
  9985. debugging function calls. Review:
  9986. https://reviewboard.asterisk.org/r/2756/ (closes issue
  9987. ASTERISK-22215)
  9988. * res/res_stasis.c: Prevent automagic things from happening to
  9989. Stasis application bridges This prevents swap optimization,
  9990. merges, and transfers involving Stasis application bridges. It
  9991. wouldn't be nice if the bridge you thought you owned disappeared
  9992. from under you. Reported-by: Richard Mudgett
  9993. 2013-08-15 00:16 +0000 [r396695-396713] Richard Mudgett <rmudgett@digium.com>
  9994. * include/asterisk/channel.h, main/channel.c, channels/chan_vpb.cc:
  9995. Remove unsupported channel technology callbacks.
  9996. * channels/chan_vpb.cc: chan_vpb: Effectively remove native
  9997. support. Left enough bread crumbs to be able to convert later if
  9998. needed.
  9999. * channels/chan_iax2.c: chan_iax2: Conditionally remove native
  10000. support for now. (issue ASTERISK-21944)
  10001. * channels/chan_misdn.c: chan_misdn: Effectively remove native
  10002. support. Left enough bread crumbs to be able to convert later if
  10003. needed.
  10004. * apps/app_bridgewait.c: app_bridgewait: Inhibit local channel
  10005. optimizations to the bridge. Holding bridges can allow local
  10006. channel move/swap optimization to the bridge. However, we cannot
  10007. allow it for the BridgeWait holding bridge because the call will
  10008. lose the channel roles and dialplan location as a result.
  10009. 2013-08-14 19:06 +0000 [r396621-396658] Joshua Colp <jcolp@digium.com>
  10010. * /, tests/test_hashtab_thrash.c: Tweak comment for why usleep is
  10011. used. ........ Merged revisions 396656 from
  10012. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  10013. revisions 396657 from
  10014. http://svn.asterisk.org/svn/asterisk/branches/11
  10015. * tests/test_hashtab_thrash.c, /: Tweak test_hashtab_thrash test to
  10016. allow the critical threads to execute. Depending on certain
  10017. conditions it was possible for the hashtab counting thread to
  10018. starve other threads, preventing them from executing in the
  10019. expected fashion. This change adds a sleep to allow the others to
  10020. do what they need to do. While this doesn't thrash the hashtab as
  10021. much as previously, it at least works. (closes issue
  10022. ASTERISK-22276) Reported by: Matt Jordan ........ Merged
  10023. revisions 396619 from
  10024. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  10025. revisions 396620 from
  10026. http://svn.asterisk.org/svn/asterisk/branches/11
  10027. 2013-08-13 18:47 +0000 [r396581-396584] Walter Doekes <walter+asterisk@wjd.nu>
  10028. * /, channels/chan_sip.c: chan_sip: Convert 'just did sched_add
  10029. waitid...' from warning to debug message. Patches:
  10030. reviewboard-2377.patch uploaded by Paul Belanger Review:
  10031. https://reviewboard.asterisk.org/r/2377/ ........ Merged
  10032. revisions 396582 from
  10033. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  10034. revisions 396583 from
  10035. http://svn.asterisk.org/svn/asterisk/branches/11
  10036. * /, channels/chan_sip.c: chan_sip: Fix IP-addr in warning when
  10037. rejecting a contact ACL. Patches: reviewboard-2155.patch uploaded
  10038. by Paul Belanger Review: https://reviewboard.asterisk.org/r/2155/
  10039. ........ Merged revisions 396579 from
  10040. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  10041. revisions 396580 from
  10042. http://svn.asterisk.org/svn/asterisk/branches/11
  10043. 2013-08-13 15:27 +0000 [r396559-396568] David M. Lee <dlee@digium.com>
  10044. * include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c,
  10045. res/stasis/control.h, include/asterisk/bridge_internal.h,
  10046. include/asterisk/bridge_features.h, res/res_stasis.c,
  10047. res/ari/resource_bridges.c, res/res_stasis_bridge_add.c
  10048. (removed), res/res_stasis_playback.c, res/stasis/control.c,
  10049. res/res_stasis_bridge_add.exports.in (removed),
  10050. include/asterisk/stasis_app.h: ARI: allow other operations to
  10051. happen while bridged This patch changes ARI bridging to allow
  10052. other channel operations to happen while the channel is bridged.
  10053. ARI channel operations are designed to queue up and execute
  10054. sequentially. This meant, though, that while a channel was
  10055. bridged, any other channel operations would queue up and execute
  10056. only after the channel left the bridge. This patch changes ARI
  10057. bridging so that channel commands can execute while the channel
  10058. is bridged. For most operations, things simply work as expected.
  10059. The one thing that ended up being a bit odd is recording. The
  10060. current recording implementation will fail when one attempts to
  10061. record a channel that's in a bridge. Note that the bridge itself
  10062. may be recording; it's recording a specific channel in the bridge
  10063. that fails. While this is an annoying limitation, channel
  10064. recording is still very useful for use cases such as voice mail,
  10065. and bridge recording makes up much of the difference for other
  10066. use cases. (closes issue ASTERISK-22084) Review:
  10067. https://reviewboard.asterisk.org/r/2726/
  10068. * tests/test_hashtab_thrash.c: Missed a spot in r396559
  10069. * tests/test_hashtab_thrash.c: Fix build warnings when printf a
  10070. tv_usec. The debug logs added in r396528 neglected to account for
  10071. suseconds_t being an int. See r392076 for more info.
  10072. 2013-08-12 22:05 +0000 [r396552] John Bigelow <jbigelow@digium.com>
  10073. * res/res_pjsip_registrar.c: Add test suite events for when
  10074. contacts are added or removed from an AOR These are needed by the
  10075. pjsip inbound registration test suite tests. (issue
  10076. ASTERISK-21833) (issue ASTERISK-21834) (issue ASTERISK-21835)
  10077. (issue ASTERISK-21837) Review:
  10078. https://reviewboard.asterisk.org/r/2700/ Review:
  10079. https://reviewboard.asterisk.org/r/2739/
  10080. 2013-08-12 15:59 +0000 [r396542-396543] Matthew Jordan <mjordan@digium.com>
  10081. * main/bridge_channel.c, main/bridge.c, main/features.c: Fix two
  10082. race conditions and ref counting issue when joining a bridge
  10083. These problems were all caught by a test in the Asterisk Test
  10084. Suite that originated some Local channels and attempted to move
  10085. the ;2 half of the Local channel into a bridge using the Bridge
  10086. AMI action. (1) When originating a channel, the Newchannel event
  10087. is emitted quickly; however, the ;2 channel will not have a pbx
  10088. thread assigned to it until after the outbound 'dialing' for the
  10089. ;1 is complete. Thus, there is a period of time where the outside
  10090. world "knows" of the channel's existence and can influence it but
  10091. Asterisk has not yet started the dialplan execution thread. If a
  10092. Bridge AMI action is taken on the channel, the channel appears to
  10093. be a Dialed channel with no PBX thread; hence, the channel will
  10094. be imparted into the Bridge by first 'yanking' the channel. At
  10095. the same time, a race condition can occur after the yank (but
  10096. before entering the bridge) when ;1 answers and starts a PBX on
  10097. the ;2. The end result currently is an assertion failure in the
  10098. Bridging API, as a channel with a PBX is imparted into the
  10099. Bridge. There's no way to prevent AMI from attempting to Bridge a
  10100. channel immediately after creation; likewise, holding the channel
  10101. lock through the entire Dial operation is unwise (and
  10102. impossible). Instead of treating the presence of a PBX thread as
  10103. an error, we simply bail out of the adding the channel to the
  10104. bridge through ast_bridge_impart. The Bridge action will then
  10105. fail - but we avoid a situation where the channel is both
  10106. executing a PBX thread and simultaneously being given a separate
  10107. thread in the bridging system (which would be a "bad thing").
  10108. Since imparting a channel with a PBX *can* occur and is not a
  10109. programming error, the asserts have been removed. (2) When the
  10110. first condition occurs, we have to take one of two actions:
  10111. either hangup the yanked channel as it did not enter the bridge,
  10112. or deref it because we don't own it. We can determine if we own
  10113. it or not by testing for the presence of the PBX thread. If we
  10114. hung it up directly, we'd crash. (3) bridge_find_channel does not
  10115. increase the reference count of the ast_bridge_channel object.
  10116. The RAII_VAR usage in ast_bridge_add_channel thus created a
  10117. ticking time bomb in whatever bridge the channel moved into, as
  10118. the destructor for the ast_bridge_channel object would be called.
  10119. Review: https://reviewboard.asterisk.org/r/2741/
  10120. * main/pbx.c: Unlock outgoing dial lock on off nominal path If the
  10121. thread servicing the dial request isn't created successfully, the
  10122. outgoing dial lock will still be held when the function returns.
  10123. This patch unlocks the lock on this off nominal path.
  10124. 2013-08-10 20:29 +0000 [r396521-396535] Matthew Jordan <mjordan@digium.com>
  10125. * tests/test_hashtab_thrash.c: Pipe test output through test object
  10126. not stdout Otherwise, it doesn't show up in the automated test
  10127. failures
  10128. * tests/test_hashtab_thrash.c: Add some debugging when
  10129. test_hashtab_thrash fails Disabling DEBUG_THREADS caused this
  10130. test to fail on the 32-bit build agent. Adding some debugging to
  10131. see why it thinks the test is timing out.
  10132. * main/pbx.c: Unlock the dial operation lock on a failed dial If a
  10133. dial operation fails, the pbx_outgoing_attempt routine will exit
  10134. without first having unlocked the outgoing dial lock. This would
  10135. be a "bad thing".
  10136. 2013-08-09 21:50 +0000 [r396512] Richard Mudgett <rmudgett@digium.com>
  10137. * bridges/bridge_native_rtp.c: bridge_native_rtp: Remove some
  10138. unnecessary NULL checks on c1.
  10139. 2013-08-09 20:29 +0000 [r396505] Walter Doekes <walter+asterisk@wjd.nu>
  10140. * main/autoservice.c: Don't leak frames when memory is full in
  10141. autoservice_run. Review: https://reviewboard.asterisk.org/r/2566/
  10142. 2013-08-09 17:28 +0000 [r396497-396498] Jonathan Rose <jrose@digium.com>
  10143. * main/pbx.c, channels/chan_sip.c: pbx: Make originate threads
  10144. indicate dial status when synchronous This makes it so that we
  10145. can detect failures to originate as with earlier versions of
  10146. Asterisk, which restores the Asterisk 11 behavior for the
  10147. originate manager action. This was causing the ACL tests for SIP
  10148. and IAX2 to fail since those tests expected originate failures
  10149. when ACLs would cause rejections. Also, this patch fixes crashes
  10150. in chan_sip when ACLs rejected peers during registration
  10151. verification. (closes issue ASTERISK-22212) Reported by: Matt
  10152. Jordan Review: https://reviewboard.asterisk.org/r/2753/
  10153. * main/core_unreal.c, main/bridge_channel.c,
  10154. include/asterisk/bridge.h, res/ari/resource_bridges.c,
  10155. include/asterisk/core_unreal.h: bridge_channel: Support the
  10156. lonely flag and make ARI use it. The lonely flag is an optional
  10157. flag for bridge channels that will make them leave a bridge when
  10158. a channel leaves if only lonely channels are in the bridge at
  10159. that point. This is useful for things like ending recording and
  10160. playback channels when they cease to be interacting with other
  10161. channels in the bridge. (closes issue ASTERISK-22117) Reported
  10162. by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2721/
  10163. 2013-08-09 13:58 +0000 [r396490] Matthew Jordan <mjordan@digium.com>
  10164. * apps/confbridge/conf_config_parser.c: Update documentation for
  10165. ConfBridge with some additional markup Add some additional markup
  10166. for items that needed it, e.g., replaceable tags, literal tags,
  10167. etc.
  10168. 2013-08-08 22:57 +0000 [r396480] Richard Mudgett <rmudgett@digium.com>
  10169. * tests/test_stasis.c: Fix stasis/core unit test. Should have had
  10170. the CR/LF.
  10171. 2013-08-08 22:09 +0000 [r396474] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
  10172. * channels/chan_dahdi.c: chan_dahdi: create channels at run-time
  10173. This code adds chan_dahdi the command 'dahdi create channels
  10174. <range>' (where <range> is a single <n>-<m> or 'new') and updates
  10175. 'dahdi destroy channel' with a similar 'dahdi destroy channels'.
  10176. It allows DAHDI channels and spans to be added after the initial
  10177. channel load (without destroying all other channels as in 'dahdi
  10178. restart'). It also includes some fixes to the D-Channel / span
  10179. destruction code (r394552). This change is intended to provide a
  10180. hook for a script running from udev once a span has been assigned
  10181. ("registered") / unassigned ("unregistered") for its channels.
  10182. The udev hook configures the span's channels with dahdi_cfg -S,
  10183. and can then ask Asterisk to create ethe channels. See the
  10184. scripts added to DAHDI-tools in 2.7.0. Review:
  10185. https://reviewboard.asterisk.org/r/1598/
  10186. 2013-08-08 20:52 +0000 [r396417-396463] Richard Mudgett <rmudgett@digium.com>
  10187. * tests/test_stasis.c: Add missing CR/LF to FakeMI stasis test AMI
  10188. event.
  10189. * main/stasis_bridges.c: Remove extra CR/LF from AMI event.
  10190. * main/manager_bridges.c, apps/confbridge/confbridge_manager.c,
  10191. include/asterisk/manager.h, main/stasis_bridges.c: Make bridge
  10192. snapshots use prefixes. * Changed
  10193. ast_manager_build_bridge_state_string() to assume an empty prefix
  10194. string just like ast_manager_build_channel_state_string(). *
  10195. Created ast_manager_build_bridge_state_string_prefix() to work
  10196. just like ast_manager_build_channel_state_string_prefix(). * Made
  10197. BridgeMerge AMI event use To/From prefixes.
  10198. 2013-08-08 18:40 +0000 [r396412] Matthew Jordan <mjordan@digium.com>
  10199. * formats/format_wav_gsm.c: Improve disk writes for wav49 format
  10200. Writing to a file in the wav49 format performs rather
  10201. inefficiently. The procedure is approximately: (1) Write GSM
  10202. frame to the end of the file (2) Seek to the end of the file (3)
  10203. Seek to the header (4) Update the file size (5) Seek (again) to
  10204. the end of the file (6) Repeat This pattern negates any attempt
  10205. to use the stdio buffering setup in ast_writefile. It also
  10206. results in many small writes that require a seek going to the
  10207. disk each second which translates to poor disk performance on
  10208. certain file systems, particularly when there are multiple wav49
  10209. files being written simultaneously. (closes issue ASTERISK-19595)
  10210. Reported by: Byron Clark Tested by: Byron Clark patches:
  10211. gsm_wav_only_update_header_on_close.patch uploaded by byronclark
  10212. (License 6157)
  10213. 2013-08-08 17:51 +0000 [r396401] Richard Mudgett <rmudgett@digium.com>
  10214. * main/channel_internal_api.c, main/features.c,
  10215. include/asterisk/bridge_features.h, main/bridge.c: Remove some
  10216. resolved or obsolete BUGBUG comments.
  10217. 2013-08-08 14:13 +0000 [r396391-396392] Matthew Jordan <mjordan@digium.com>
  10218. * apps/confbridge/conf_chan_announce.c, main/manager_channels.c,
  10219. main/channel.c, main/manager_bridges.c,
  10220. channels/chan_bridge_media.c, apps/confbridge/conf_chan_record.c,
  10221. main/channel_internal_api.c, include/asterisk/channel.h,
  10222. main/cel.c: Hide the Surrogate channels from external consumers;
  10223. kill Masquerade events This patch does three things: 1. It
  10224. provides a Surrogate channel technology with a consolidated
  10225. "implementation detail flag" on the channel technology. This
  10226. tells consumers of Stasis that the creation of this channel is an
  10227. implementation detail in Asterisk and can be ignored (if they so
  10228. choose). This consolidates the conference recorder/announcer
  10229. flags as well - these flags had no additional meaning beyond
  10230. "ignore this channel please". 2. It modifies allocation of a
  10231. channel in two ways: (a) If a channel technology can be
  10232. determined from the name, we set it directly in the allocation
  10233. routine. This prevents the initial publication of the message
  10234. from going out with a NULL channel technology where possible.
  10235. This lets Stasis consumers get the right channel technology on
  10236. the first publication. (b) It reorganizes allocation to make use
  10237. of the 'finalized' property on the channel. This was already used
  10238. to know that a channel had completely finished its construction
  10239. in the masquerade routine; now we also use it to know whether or
  10240. not the setting of certain channel properties is occurring during
  10241. or post construction. The various set routines were modified
  10242. accordingly as well. 3. The masquerade event is now dead, Jim. It
  10243. no longer served any purpose whatsoever - if you perform a call
  10244. pickup you'll get a Pickup event; if you perform an attended
  10245. transfer you will still get those events; if you steal a channel
  10246. to put it elsewhere you'll get the corresponding NewExten or
  10247. BridgeEnter events. Review:
  10248. https://reviewboard.asterisk.org/r/2740
  10249. * main/utils.c: Prevent spurious memory error when appending
  10250. backtrace with MALLOC_DEBUG Backtraces are allocated outside of
  10251. the usual memory tracking performed by MALLOC_DEBUG. This allows
  10252. them to be used by the memory tracking enabled by that build
  10253. option; however, it also means that when backtraces are disposed
  10254. of they have to be done so outside of the re-defined free. This
  10255. patch undef's free prior to disposing of the allocated backtrace
  10256. when a backtrace is appended as a result of 'core show locks'.
  10257. 2013-08-08 12:38 +0000 [r396385] Kinsey Moore <kmoore@digium.com>
  10258. * main/bridge.c: Prevent unreal channels from optimizing during
  10259. DTMF emulation This prevents unreal channel optimization during
  10260. the prequalification phase when either channel is involved in
  10261. DTMF emulation. This prevents a situation where an emulated digit
  10262. would be missed because the emulation was never completed.
  10263. Review: https://reviewboard.asterisk.org/r/2747/ (closes issue
  10264. ASTERISK-22214)
  10265. 2013-08-08 07:05 +0000 [r396378] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
  10266. * channels/chan_unistim.c, /: - Fix different issues with call
  10267. transfer cancel. In case 3rd party busy or congestion call was
  10268. not returned. - Fix displaying soft button 'Redial' in case of no
  10269. redial number exists ........ Merged revisions 396377 from
  10270. http://svn.asterisk.org/svn/asterisk/branches/11
  10271. 2013-08-08 02:58 +0000 [r396365-396371] Matthew Jordan <mjordan@digium.com>
  10272. * main/cdr.c: Handle Surrogate channels in Dial message processing
  10273. Depending on when a Surrogate channel replaces an existing
  10274. channel, it is possible to get a Dial message for the Surrogate
  10275. channel. When this occurs, no CDR will exist for the channel as
  10276. Surrogate channels are ignored. Safely handle the case when a CDR
  10277. doesn't exist for a Dial message.
  10278. * apps/app_queue.c: Perform Ring-No-Answer checks before processing
  10279. Hangup logic The rna() routine will raise a Stasis message
  10280. involving both the caller and the agent. This doesn't work so
  10281. well if we already hung up the agent channel, as the channel
  10282. doesn't quite exist. Not surprisingly, this will crash. This
  10283. patch properly runs the rna subroutine (performing all of the
  10284. Ring-No-Answer logic) prior to hanging up the agent channel.
  10285. (closes issue ASTERISK-22258) Reported by: Kiril Valchev Tested
  10286. by: Kiril Valchev
  10287. 2013-08-06 21:20 +0000 [r396329-396347] David M. Lee <dlee@digium.com>
  10288. * apps/app_meetme.c: Fixed app_meetme for cache split changes
  10289. * include/asterisk/frame.h, rest-api/api-docs/recordings.json,
  10290. res/ari/resource_recordings.c, apps/app_voicemail.c,
  10291. main/channel.c, res/res_ari_recordings.c, include/asterisk/app.h,
  10292. include/asterisk/stasis_app_recording.h,
  10293. res/ari/resource_recordings.h, funcs/func_frame_trace.c,
  10294. apps/app_minivm.c, main/app.c, res/res_stasis_recording.c: ARI:
  10295. Add recording controls This patch implements the controls from
  10296. ARI recordings. The controls are: * DELETE
  10297. /recordings/live/{recordingName} - stop recording and discard it
  10298. * POST /recordings/live/{recordingName}/stop - stop recording *
  10299. POST /recordings/live/{recordingName}/pause - pause recording *
  10300. POST /recordings/live/{recordingName}/unpause - resume recording
  10301. * POST /recordings/live/{recordingName}/mute - mute recording
  10302. (record silence to the file) * POST
  10303. /recordings/live/{recordingName}/unmute - unmute recording. Since
  10304. this underlying functionality did not already exist, is was added
  10305. to app.c by a set of control frames, similar to how playback
  10306. control works. The pause/mute control frames are toggles, even
  10307. though the ARI controls are idempotent, to be consistent with the
  10308. playback control frames. (closes issue ASTERISK-22181) Review:
  10309. https://reviewboard.asterisk.org/r/2697/
  10310. * main/stasis_cache_pattern.c, main/stasis_cache.c,
  10311. include/asterisk/stasis.h, tests/test_stasis.c: Tweak caching
  10312. topics to fix CEL tests The Stasis changes in r395954 had an
  10313. unanticipated side effect: messages published directly to an _all
  10314. topic does not get forwarded to the corresponding caching topic.
  10315. This patch fixes that by changing how caching topics forward
  10316. messages, and how the caching pattern forwards are setup. For the
  10317. caching pattern, the all_topic is forwarded to the
  10318. all_topic_cached. This forwards messages published directly to
  10319. the all_topic to all_topic_cached. In order to avoid duplicate
  10320. messages on all_topic_cached, caching topics were changed to no
  10321. longer forward uncached messages. Subscribers to an individual
  10322. caching topic should only expect to receive cache updates, and
  10323. subscription change messages. Since individual caching topics are
  10324. new, this shouldn't be a problem. There are a few minor changes
  10325. to the pre-cache split behavior. * For topics changed to use the
  10326. caching pattern, the all_topic_cached will forward snapshots in
  10327. addition to cache updates. Since subscribers by design ignore
  10328. unexpected messages, this should be fine. * Caching topics that
  10329. don't use the caching pattern no longer forward non-cache
  10330. updates. This makes no difference for the current caching topics.
  10331. * mwi_topic_cached, channel_by_name_topic and
  10332. presence_state_topic_cached have no subscribers *
  10333. device_state_topic_cached's only subscriber only processes cache
  10334. udpates (issue ASTERISK-22243) Review:
  10335. https://reviewboard.asterisk.org/r/2738
  10336. 2013-08-06 13:08 +0000 [r396320-396321] Kinsey Moore <kmoore@digium.com>
  10337. * res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
  10338. res/res_pjsip/config_system.c: Expose res_pjsip threadpool
  10339. options Expose initial size, automatic increment, maximum size,
  10340. and idle timeout as configurable parameters for the res_pjsip
  10341. thread pool. Review: https://reviewboard.asterisk.org/r/2704/
  10342. (closes issue ASTERISK-22143)
  10343. * main/cdr.c: Fix memory leaks in the CDR engine Fix refcount bugs
  10344. and a possible locking problem in the CDR engine relating to use
  10345. of ao2_iterators. Review:
  10346. https://reviewboard.asterisk.org/r/2724/ (closes issue
  10347. ASTERISK-22126)
  10348. 2013-08-06 12:39 +0000 [r396319] Joshua Colp <jcolp@digium.com>
  10349. * res/res_pjsip_notify.c, res/res_pjsip_outbound_registration.c,
  10350. res/res_pjsip_messaging.c, res/res_pjsip_exten_state.c: Fix crash
  10351. in res_pjsip_outbound_registration when the remote server can not
  10352. be resolved. This crash was caused by decrementing the reference
  10353. count of a newly created message when it should not be. This
  10354. change fixes that but also fixes all other cases where this was
  10355. incorrectly done. (closes issue ASTERISK-22188) Reported by:
  10356. Kinsey Moore
  10357. 2013-08-06 08:43 +0000 [r396309-396311] Walter Doekes <walter+asterisk@wjd.nu>
  10358. * /, funcs/func_strings.c: Check result of ast_var_assign() calls
  10359. for memory allocation failure (2). Missed a spot in the previous
  10360. commit. ........ Merged revisions 396310 from
  10361. http://svn.asterisk.org/svn/asterisk/branches/11
  10362. * pbx/pbx_dundi.c, utils/extconf.c, apps/app_stack.c,
  10363. apps/app_playback.c, funcs/func_global.c, main/cdr.c,
  10364. pbx/pbx_loopback.c, main/pbx.c, /, funcs/func_strings.c: Check
  10365. result of ast_var_assign() calls for memory allocation failure.
  10366. We try to keep the system running even when all available memory
  10367. is spent. Review: https://reviewboard.asterisk.org/r/2734/
  10368. ........ Merged revisions 396279 from
  10369. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  10370. revisions 396287 from
  10371. http://svn.asterisk.org/svn/asterisk/branches/11
  10372. 2013-08-05 20:20 +0000 [r396253] Michael L. Young <elgueromexicano@gmail.com>
  10373. * /, channels/chan_sip.c: Fix Registration Failure When A Peer And
  10374. TLS Are Used If a peer is used in a register line and TLS is
  10375. defined as the transport, the registration fails since the
  10376. transport on the dialog is never set properly resulting in UDP
  10377. being used instead of TLS. This patch sets the dialog's transport
  10378. based on the transport that was defined in the register line. If
  10379. the register line does not specify a transport, the parsing
  10380. function for the register line always defaults back to UDP.
  10381. (closes issue ASTERISK-21964) Reported by: Doug Bailey Tested by:
  10382. Doug Bailey Patches: asterisk-21964-set-reg-dialog-transport.diff
  10383. by Michael L. Young (license 5026) ........ Merged revisions
  10384. 396240 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  10385. ........ Merged revisions 396248 from
  10386. http://svn.asterisk.org/svn/asterisk/branches/11
  10387. 2013-08-05 20:18 +0000 [r396245] Jonathan Rose <jrose@digium.com>
  10388. * main/bridge_basic.c, main/features.c,
  10389. include/asterisk/bridge_basic.h: bridge features: Dial and Queue
  10390. add features instead of replace them. Dial and Queue would
  10391. previously apply a new set of features whenever bridging. These
  10392. options would be based purely on the options supplied to the
  10393. dial/queue applications. This patch changes the function those
  10394. applications use to bridge calls so that the features will be
  10395. added to the set of existing features for each channel rather
  10396. than having them override the existing features. (closes issue
  10397. ASTERISK-22209) Reported by: Jonathan Rose Review:
  10398. https://reviewboard.asterisk.org/r/2713/
  10399. 2013-08-05 19:01 +0000 [r396201] Matthew Jordan <mjordan@digium.com>
  10400. * res/res_pjsip_outbound_registration.c: Add AMI registration
  10401. events for PJSIP outbound registration attempts This patch adds
  10402. AMI events whenever an outbound registration attempt succeeds or
  10403. fails from res_pjsip_outbound_registration. This brings it inline
  10404. with the existing SIP channel driver and IAX channel driver.
  10405. Review: https://reviewboard.asterisk.org/r/2729/
  10406. 2013-08-05 18:52 +0000 [r396198-396200] Michael L. Young <elgueromexicano@gmail.com>
  10407. * /, UPGRADE-11.txt: Change "from" to "From". (related to issue
  10408. ASTERISK-21903) ........ Merged revisions 396199 from
  10409. http://svn.asterisk.org/svn/asterisk/branches/11
  10410. * UPGRADE-11.txt, /: Adding a note to UPGRADE.txt about a change
  10411. made to res_agi in order to indicate when streaming an audio file
  10412. fails like it is done in other parts of the code to indicate an
  10413. error. Note was requested by Paul Belanger:
  10414. http://lists.digium.com/pipermail/asterisk-dev/2013-July/061420.html
  10415. (related to issue ASTERISK-21903) ........ Merged revisions
  10416. 396196 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  10417. ........ Merged revisions 396197 from
  10418. http://svn.asterisk.org/svn/asterisk/branches/11
  10419. 2013-08-05 17:48 +0000 [r396175-396189] Jonathan Rose <jrose@digium.com>
  10420. * bridges/bridge_holding.c: bridge_holding: Add suspsend/unsuspend
  10421. callbacks Suspend and unsuspend callbacks are added to the
  10422. holding bridge so that entertainment can be disabled and
  10423. re-enabled when operations would suspend a channel on the bridge
  10424. (such as playback operations). This fixes entertainment so that
  10425. when those operations end, the entertainment can pick back up and
  10426. it also serves as an optimization. Also, this patch fixes a bug
  10427. caused by triggering ringing frames immediately instead of
  10428. pushing them to the queue which created a race condition where
  10429. sometimes parking with ringing during attended transfers would
  10430. cause the ringing to be interrupted by an unhold frame. (closes
  10431. issue ASTERISK-22006) Reported by: Matt Jordan Review:
  10432. https://reviewboard.asterisk.org/r/2711/
  10433. * res/res_ari_bridges.c, include/asterisk/bridge_roles.h,
  10434. res/ari/resource_bridges.h, res/stasis/control.c,
  10435. include/asterisk/stasis_app.h, main/bridge_roles.c,
  10436. rest-api/api-docs/bridges.json, res/ari/resource_bridges.c: ARI:
  10437. bridges/{bridgeID}/addChannel: add roles parameter Roles are now
  10438. cleared with each entry into a bridge with addChannel. If the
  10439. roles parameter is present, the role specified will be applied to
  10440. all channels being added with the addChannel command. (closes
  10441. issue ASTERISK-21973) Reported by: Matt Jordan
  10442. https://reviewboard.asterisk.org/r/2691/
  10443. * res/parking/res_parking.h, res/res_parking.c,
  10444. res/parking/parking_tests.c (added),
  10445. res/parking/parking_bridge.c: res_parking: Unit tests Adds the
  10446. following unit tests: * create_lot: tests adding and removal of a
  10447. new parking lot (baseline) * park_extensions: creates a parking
  10448. lot that registers extensions and then confirms that all of the
  10449. expected extensions exist * extensions_conflicts: creates
  10450. numerous parking lots to test that extension conflicts in parking
  10451. lots result in parking lot creation failing *
  10452. dynamic_parking_variables: Tests that the creation of dynamic
  10453. parking lots respects the related channel variables set on the
  10454. channel that requests them. * park_call: Tests adding a channel
  10455. to a parking lot's holding bridge by standard parking functions.
  10456. * retrieve_call: Tests pulling a channel out of a parking lot's
  10457. holding bridge via parked call retrieval functions. (closes issue
  10458. ASTERISK-22138) Reported by: Matt Jordan Review:
  10459. https://reviewboard.asterisk.org/r/2714/
  10460. 2013-08-05 14:35 +0000 [r396166] David M. Lee <dlee@digium.com>
  10461. * main/asterisk.c, main/cli.c, main/channel.c, main/pbx.c,
  10462. main/manager.c, res/ari/resource_asterisk.c, utils/extconf.c,
  10463. include/asterisk/options.h: Fix res_ari_asterisk load issue The
  10464. new res_ari_asterisk.so module presents several config options
  10465. from asterisk main. Unfortunately, they aren't exported, so the
  10466. module won't load on Linux. This patch renames the variables,
  10467. adding the ast_ prefix so they will be exported. Review:
  10468. https://reviewboard.asterisk.org/r/2737
  10469. 2013-08-03 03:53 +0000 [r396158] Matthew Jordan <mjordan@digium.com>
  10470. * main/manager_bridges.c: Don't unsubscribe from the AMI message
  10471. router from manager_bridges The AMI message router is owned
  10472. wholly by manager.c. Previously, each of the manager_{item}
  10473. source files had their own message router and they unsubscribed
  10474. from each; once they moved over to using a single message router
  10475. only a single unsubscribe became necessary.
  10476. 2013-08-02 17:50 +0000 [r396145] Mark Michelson <mmichelson@digium.com>
  10477. * channels/sig_pri.c: And get rid of another ast_bridged_channel()
  10478. 2013-08-02 17:29 +0000 [r396136-396143] David M. Lee <dlee@digium.com>
  10479. * main/stasis_bridges.c: Clean up ast_json with ast_json_unref
  10480. * /: Removed svnmerge-integrated from trunk
  10481. 2013-08-02 15:01 +0000 [r396126] Mark Michelson <mmichelson@digium.com>
  10482. * res/snmp/agent.c: Get the SNMP code to compile.
  10483. 2013-08-02 14:46 +0000 [r396119-396125] David M. Lee <dlee@digium.com>
  10484. * res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
  10485. rest-api/api-docs/asterisk.json, res/ari/resource_asterisk.c: ARI
  10486. - GET /ari/asterisk/info This patch adds basic system information
  10487. access to ARI. The results are roughly what you get from 'core
  10488. show settings', with a few minor differences. * Data is
  10489. structured, with 'build', 'system', 'config' and 'status'
  10490. sub-objects. * Each sub-object is selectable, using the ?only=
  10491. parameter. A comma separated list can be provided to select
  10492. multiple sections. * A few config options are numeric, for which
  10493. 0 means 'unlimited'. Instead of having a special interpretation
  10494. of those fields, they are simply omitted if they're 0. * The
  10495. information is limited to what might be useful to building
  10496. external applications. (closes issue ASTERISK-21575) Review:
  10497. https://reviewboard.asterisk.org/r/2702/
  10498. * rest-api-templates/param_cleanup.mustache (added),
  10499. rest-api/api-docs/events.json, /, res/ari/resource_events.c,
  10500. rest-api-templates/ari_resource.h.mustache,
  10501. res/res_ari_asterisk.c, res/res_ari_playback.c,
  10502. rest-api-templates/res_ari_resource.c.mustache,
  10503. res/ari/resource_events.h, rest-api/api-docs/sounds.json,
  10504. res/res_ari_channels.c, rest-api/api-docs/bridges.json,
  10505. rest-api-templates/param_parsing.mustache,
  10506. res/ari/resource_bridges.c, res/ari/resource_sounds.h,
  10507. res/res_ari_recordings.c, res/ari/resource_bridges.h,
  10508. res/res_ari_endpoints.c, res/res_ari_events.c,
  10509. res/ari/resource_asterisk.h, rest-api/api-docs/channels.json,
  10510. res/res_ari_sounds.c, res/res_ari_bridges.c: ARI - implement
  10511. allowMultiple for parameters Swagger allows parameters to be
  10512. specified as 'allowMultiple', meaning that the parameter may be
  10513. specified as a comma separated list of values. I had written some
  10514. of the API docs using that, but promptly forgot about
  10515. implementing it. This patch finally fills in that gap. The
  10516. codegen template was updated to represent 'allowMultiple' fields
  10517. as array/size fields in the _args structs. It also parses the
  10518. comma separated list using ast_app_separate_args(), so quoted
  10519. strings in the argument will be handled properly. Review:
  10520. https://reviewboard.asterisk.org/r/2698/
  10521. * tests/test_json.c, main/json.c, res/res_sorcery_astdb.c,
  10522. include/asterisk/json.h, main/cel.c, res/ari/ari_websockets.c:
  10523. Address JSON thread safety issues. In tracking down some unit
  10524. tests failures, I ended up reading the fine print[1] regarding
  10525. Jansson's thread safety. In short: 1. Ref-counting is non-atomic.
  10526. 2. json_dumps() and friends are not thread safe. This patch adds
  10527. locking where necessary to our ast_json_* wrapper API, with
  10528. documentation in json.h describing the thread safety limitations
  10529. of the API. [1]:
  10530. http://www.digip.org/jansson/doc/2.4/portability.html#thread-safety
  10531. Review: https://reviewboard.asterisk.org/r/2716/
  10532. 2013-08-02 14:13 +0000 [r396107] Mark Michelson <mmichelson@digium.com>
  10533. * main/cel.c, include/asterisk/parking.h, main/bridge_channel.c,
  10534. main/stasis_bridges.c, res/parking/parking_manager.c,
  10535. res/parking/parking_bridge.c, main/manager_bridges.c,
  10536. include/asterisk/stasis_bridges.h: Make a couple of changes to
  10537. help AMI events to be more clear in what is occurring. *
  10538. BridgeEnter now contains the unique ID of the channel that is to
  10539. be swapped out, if applicable. * There is a ParkedCallSwap event
  10540. that is sent when a parked channel has a new channel take its
  10541. place. (closes issue ASTERISK-22193) reported by Mark Michelson
  10542. Review: https://reviewboard.asterisk.org/r/2712
  10543. 2013-08-02 14:08 +0000 [r396105] Kinsey Moore <kmoore@digium.com>
  10544. * include/asterisk/strings.h, main/astobj2.c, utils/Makefile,
  10545. utils/refcounter.c, main/strings.c, include/asterisk/astobj2.h:
  10546. Move ast_str_container_alloc and friends This moves
  10547. ast_str_container_alloc, ast_str_container_add,
  10548. ast_str_container_remove, and related private functions into
  10549. strings.c/h since they really don't belong in astobj2.c/h. As a
  10550. result of this move, utils also had to be updated. Review:
  10551. https://reviewboard.asterisk.org/r/2719/ (closes issue
  10552. ASTERISK-22041)
  10553. 2013-08-02 14:05 +0000 [r396102-396103] Mark Michelson <mmichelson@digium.com>
  10554. * channels/chan_sip.c, channels/chan_skinny.c,
  10555. funcs/func_channel.c, main/channel_internal_api.c,
  10556. include/asterisk/channel.h, channels/chan_iax2.c,
  10557. apps/app_chanspy.c, channels/chan_oss.c, channels/chan_mgcp.c,
  10558. main/channel.c, channels/chan_dahdi.c, channels/chan_misdn.c,
  10559. main/rtp_engine.c: Get rid of ast_bridged_channel() and the
  10560. bridged_channel field on ast_channels. This commit is smaller
  10561. than the initial review placed on review board. This is because a
  10562. change to allow for channel drivers to access parking
  10563. functionality externally was committed and invalidated quite a
  10564. few of the changes initially made. (closes issue ASTERISK-22039)
  10565. reported by Matt Jordan Review:
  10566. https://reviewboard.asterisk.org/r/2717
  10567. * include/asterisk/pickup.h: Make sure that pickup.h does not use
  10568. an include guard name used elsewhere.
  10569. 2013-08-02 13:29 +0000 [r396087-396099] Kinsey Moore <kmoore@digium.com>
  10570. * main/pickup.c: Correct the last of the Newchannel xi:includes
  10571. * res/res_pjsip_notify.c, res/res_pjsip_outbound_registration.c,
  10572. res/res_pjsip/include/res_pjsip_private.h,
  10573. res/res_pjsip/pjsip_options.c, res/res_pjsip.c: Add CLI/AMI
  10574. commands to force chan_pjsip actions For chan_pjsip, this
  10575. introduces CLI/AMI remote unregistration commands, reworks CLI
  10576. syntax for sending NOTIFYs, adds AMI qualification support, and
  10577. adds documentation for PJSIPNotify. This also fixes two
  10578. refcounting bugs in the outbound registration code. Review:
  10579. https://reviewboard.asterisk.org/r/2695/ (closes issue
  10580. ASTERISK-21939)
  10581. 2013-08-02 04:48 +0000 [r396075] David M. Lee <dlee@digium.com>
  10582. * channels/sig_analog.c: Fixed chan_dahdi compilation failure
  10583. 2013-08-02 03:12 +0000 [r396060-396062] Matthew Jordan <mjordan@digium.com>
  10584. * tests/test_cel.c, tests/test_cdr.c: Fix test modules More missing
  10585. include files. :-\
  10586. * channels/chan_dahdi.c, channels/chan_mgcp.c: Add pickup.h include
  10587. lines for chan_dahdi and chan_mgcp
  10588. * include/asterisk/parking.h, include/asterisk/pickup.h (added),
  10589. main/asterisk.c, res/parking/parking_manager.c, tests/test_cdr.c,
  10590. channels/chan_unistim.c, main/pbx.c, res/stasis/control.c,
  10591. main/pickup.c (added), channels/chan_sip.c, main/bridge.c,
  10592. UPGRADE.txt, res/parking/parking_applications.c,
  10593. include/asterisk/_private.h, channels/chan_gtalk.c, main/cel.c,
  10594. CHANGES, include/asterisk/features.h, main/cdr.c,
  10595. res/res_parking.c, channels/chan_skinny.c,
  10596. apps/app_directed_pickup.c, main/features.c, tests/test_cel.c:
  10597. Remove dead code from features.c; refactor pickup code into
  10598. pickup.c This patch does the following: * It moves the pickup
  10599. code out of features.c and into pickup.c * It removes the vast
  10600. majority of dead code out of features.c. In particular, this
  10601. includes the parking code. (issue ASTERISK-22134)
  10602. 2013-08-01 23:38 +0000 [r396048] Joshua Colp <jcolp@digium.com>
  10603. * res/res_pjsip_registrar.c: Fix a crash due to performing full URI
  10604. validation on a contact which only contains '*'. (closes issue
  10605. AST-1198) Reported by: John Bigelow
  10606. 2013-08-01 21:19 +0000 [r396035] David M. Lee <dlee@digium.com>
  10607. * main/sorcery.c: Fix sorcery for some rather picky regex
  10608. implementations. Some regex implementations won't compile an
  10609. empty string. Assuming that it's equivalent of a regex that will
  10610. match anything, use ".?" instead.
  10611. 2013-08-01 20:55 +0000 [r396010-396028] Matthew Jordan <mjordan@digium.com>
  10612. * channels/chan_skinny.c, main/parking.c, main/bridge.c,
  10613. main/features.c, channels/chan_iax2.c,
  10614. include/asterisk/parking.h, main/bridge_channel.c,
  10615. res/parking/parking_bridge_features.c, channels/chan_mgcp.c,
  10616. include/asterisk/features.h, channels/chan_dahdi.c,
  10617. res/res_parking.c, channels/sig_analog.c: Support externally
  10618. initiated parking requests; remove some dead code This patch does
  10619. the following: * It adds support for externally initiated parking
  10620. requests. In particular, chan_skinny has a protocol level message
  10621. that initiates a call park. This patch now supports that option,
  10622. as well as the protocol specific mechanisms in
  10623. chan_dahdi/sig_analog and chan_mgcp. * A parking bridge features
  10624. virtual table has been added that provides access to the parking
  10625. functionality that the Bridging API needs. This includes requests
  10626. to park an entire 'call' (with little or no additional
  10627. information, thank you chan_skinny), perform a blind transfer to
  10628. a parking extension, determine if an extension is a parking
  10629. extension, as well as the actual "do the parking" request from
  10630. the Bridging API. * Refactoring in chan_mgcp, chan_skinny, and
  10631. chan_dahdi to make use of the new functions * The removal of some
  10632. - but not all - dead parking code from features.c This also fixed
  10633. blind transferring a multi-party bridge to a parking lot (which
  10634. was implemented, but had at least one code path where using the
  10635. parking features kK might not have worked) Review:
  10636. https://reviewboard.asterisk.org/r/2710 (closes issue
  10637. ASTERISK-22134) Reported by: Matt Jordan
  10638. * CHANGES, apps/app_queue.c: Add queue member paused hints This
  10639. patch adds the ability in Queue to raise a hint when a member's
  10640. paused state changes. The hint uses the form
  10641. 'Queue:{queue_name}_pause_{member_name}', where {queue_name} and
  10642. {member_name} are the name of the queue and the name of the
  10643. member to subscribe to, respectively. For example: exten =>
  10644. 8501,hint,Queue:sales_pause_mark. Members will show as In Use
  10645. when paused. Note that the format of the queue pause hint was
  10646. changed slightly from what is on the issue to accomodate
  10647. suggestion on the code review. Review:
  10648. https://reviewboard.asterisk.org/r/2254 (closes issue
  10649. ASTERISK-20842) Reported by: Philippe Lindheimer patches:
  10650. qpause-10-378206.diff uploaded by Philippe Lindheimer (license
  10651. 5519) qpause-11-378206.diff uploaded by Philippe Lindheimer
  10652. (license 5519) qpause-trunk-378206.diff uploaded by Philippe
  10653. Lindheimer (license 5519)
  10654. 2013-08-01 17:23 +0000 [r395985-395998] Kinsey Moore <kmoore@digium.com>
  10655. * configure: Regenerate configure for configure.ac changes
  10656. * Makefile, apps/confbridge/confbridge_manager.c, makeopts.in,
  10657. doc/appdocsxml.dtd, apps/app_stack.c,
  10658. res/parking/parking_manager.c, main/manager_mwi.c,
  10659. main/rtp_engine.c, apps/app_meetme.c,
  10660. include/asterisk/autoconfig.h.in, main/xml.c,
  10661. main/stasis_bridges.c, contrib/scripts/install_prereq,
  10662. main/manager_bridges.c, channels/chan_dahdi.c, main/manager.c,
  10663. doc/snapshots.xslt (added), main/features.c, apps/app_minivm.c,
  10664. res/res_agi.c, main/stasis_channels.c, main/manager_channels.c,
  10665. channels/chan_sip.c, main/Makefile, configure.ac, UPGRADE.txt,
  10666. main/aoc.c, main/core_local.c, channels/sig_pri.c,
  10667. apps/app_queue.c, CHANGES, funcs/func_global.c,
  10668. apps/app_agent_pool.c: Fix documentation replication issues This
  10669. prevents XML documentation duplication by expanding channel and
  10670. bridge snapshot tags into channel and bridge snapshot parameter
  10671. sets with a given prefix or defaulting to no prefix. This also
  10672. prevents documentation from becoming fractured and out of date by
  10673. keeping all variations of the documentation in template form such
  10674. that it only needs to be updated once and keeps maintenance to a
  10675. minimum. Review: https://reviewboard.asterisk.org/r/2708/
  10676. 2013-08-01 16:56 +0000 [r395954-395984] David M. Lee <dlee@digium.com>
  10677. * utils/astman.c: Fixed warning in astman for gcc-4.8.
  10678. * res/res_pjsip_mwi.c, channels/chan_pjsip.c: Fixed compile errors
  10679. introduced in r395954. Just a merge error due to a file rename.
  10680. Grrr...
  10681. * main/manager.c, tests/test_devicestate.c, res/res_agi.c,
  10682. include/asterisk/stasis_cache_pattern.h (added), main/app.c,
  10683. main/stasis_channels.c, res/ari/resource_channels.c,
  10684. include/asterisk/stasis_endpoints.h, include/asterisk/bridge.h,
  10685. main/manager_channels.c, channels/chan_mgcp.c, main/pbx.c,
  10686. include/asterisk/devicestate.h, main/stasis_cache.c,
  10687. res/ari/resource_endpoints.c, channels/chan_sip.c,
  10688. main/channel_internal_api.c, include/asterisk/presencestate.h,
  10689. include/asterisk/stasis_bridges.h, include/asterisk/stasis.h,
  10690. include/asterisk/channel.h, channels/sig_pri.c, main/cel.c,
  10691. tests/test_stasis_endpoints.c, res/ari/resource_bridges.c,
  10692. include/asterisk/app.h, include/asterisk/stasis_channels.h,
  10693. apps/confbridge/confbridge_manager.c, tests/test_cel.c,
  10694. tests/test_stasis.c, res/res_stasis.c,
  10695. main/stasis_cache_pattern.c (added), apps/app_voicemail.c,
  10696. channels/chan_unistim.c, main/stasis_endpoints.c,
  10697. main/stasis_wait.c (added), apps/app_meetme.c,
  10698. res/stasis/control.c, main/bridge.c, main/manager_endpoints.c,
  10699. include/asterisk/channel_internal.h, main/devicestate.c,
  10700. res/res_xmpp.c, main/endpoints.c, channels/chan_iax2.c,
  10701. res/res_jabber.c, main/presencestate.c, main/stasis_bridges.c,
  10702. res/res_chan_stats.c, main/stasis.c, main/cli.c, main/cdr.c,
  10703. channels/chan_dahdi.c, main/manager_bridges.c: Split caching out
  10704. from the stasis_caching_topic. In working with res_stasis, I
  10705. discovered a significant limitation to the current structure of
  10706. stasis_caching_topics: you cannot subscribe to cache updates for
  10707. a single channel/bridge/endpoint/etc. To address this, this patch
  10708. splits the cache away from the stasis_caching_topic, making it a
  10709. first class object. The stasis_cache object is shared amongst
  10710. individual stasis_caching_topics that are created per
  10711. channel/endpoint/etc. These are still forwarded to global
  10712. whatever_all_cached topics, so their use from most of the code
  10713. does not change. In making these changes, I noticed that we
  10714. frequently used a similar pattern for bridges, endpoints and
  10715. channels: single_topic ----------------> all_topic ^ |
  10716. single_topic_cached ----+----> all_topic_cached | +----> cache
  10717. This pattern was extracted as the 'Stasis Caching Pattern',
  10718. defined in stasis_caching_pattern.h. This avoids a lot of
  10719. duplicate code between the different domain objects. Since the
  10720. cache is now disassociated from its upstream caching topics, this
  10721. also necessitated a change to how the 'guaranteed' flag worked
  10722. for retrieving from a cache. The code for handling the caching
  10723. guarantee was extracted into a 'stasis_topic_wait' function,
  10724. which works for any stasis_topic. (closes issue ASTERISK-22002)
  10725. Review: https://reviewboard.asterisk.org/r/2672/
  10726. 2013-08-01 11:21 +0000 [r395938] Joshua Colp <jcolp@digium.com>
  10727. * res/res_pjsip_session.c: Answer with multiple codecs if the
  10728. underlying pjproject supports it.
  10729. 2013-08-01 00:07 +0000 [r395906-395907] Matthew Jordan <mjordan@digium.com>
  10730. * channels/chan_sip.c: Raise Registry AMI events on registration
  10731. failures This patch makes it so that all registration attempts
  10732. that fail that also permanently modify the registration state
  10733. will raise an appropriate AMI event. Note that this patch was
  10734. forward ported to trunk and the Stasis Core message bus by
  10735. mjordan. (closes issue ASTERISK-21368) Reported by: Dmitriy Serov
  10736. patches: chan_sip.c.diff uploaded by Demon (license 6479)
  10737. * res/res_agi.c, CHANGES: Update CONTROL STREAM FILE to accept an
  10738. 'offsetms' parameter This patch allows starting playback of audio
  10739. through the CONTROL STREAM FILE AGI command to start at a
  10740. particular offset. It will also return the final position of the
  10741. file in the 'endpos' attribute. (closes issue ASTERISK-17803)
  10742. Reported by: Murray Melvin patches: res_agi.c.r316293.diff
  10743. uploaded by murraytm (license 6221)
  10744. 2013-07-31 15:43 +0000 [r395884] Mark Michelson <mmichelson@digium.com>
  10745. * res/res_pjsip/pjsip_options.c: Found another missed "sip" ->
  10746. "pjsip" CLI command.
  10747. 2013-07-31 15:27 +0000 [r395881] Kinsey Moore <kmoore@digium.com>
  10748. * tests/test_cel.c: Disable CEL tests that need rearchitecting to
  10749. operate properly
  10750. 2013-07-31 14:45 +0000 [r395868] Mark Michelson <mmichelson@digium.com>
  10751. * res/res_pjsip_endpoint_identifier_constant.c (removed): Remove
  10752. "constant" endpoint identifier. This was created as a debugging
  10753. tool before proper endpoint identifiers were created. Using it
  10754. now can actually lead to harmful results.
  10755. 2013-07-31 14:29 +0000 [r395866] Joshua Colp <jcolp@digium.com>
  10756. * bridges/bridge_native_rtp.c: Fix hold/unhold in
  10757. bridge_native_rtp, use tech_pvt instead of bridge_pvt, reduce
  10758. bridging attempts, and fix breaking native RTP bridges. (closes
  10759. issue ASTERISK-22128) (closes issue ASTERISK-22104)
  10760. 2013-07-31 13:31 +0000 [r395837-395851] Kinsey Moore <kmoore@digium.com>
  10761. * channels/chan_pjsip.c, include/asterisk/res_pjsip.h,
  10762. include/asterisk/res_pjsip_pubsub.h,
  10763. include/asterisk/res_pjsip_exten_state.h,
  10764. include/asterisk/res_pjsip_session.h, configs/pjsip.conf.sample,
  10765. res/res_pjsip/include/res_pjsip_private.h: Fix remnants of the
  10766. pjsip renaming
  10767. * tests/test_cel.c: Enforce conference exit order for CEL tests
  10768. 2013-07-30 22:41 +0000 [r395810-395824] Mark Michelson <mmichelson@digium.com>
  10769. * res/res_pjsip_endpoint_identifier_ip.c: Missed a conversion to
  10770. pjsip.conf in documentation and sorcery.
  10771. * main/abstract_jb.c: Remove ast_bridged_channel call from
  10772. abstract_jb.c Interestingly, this only happens in dead code.
  10773. 2013-07-30 20:44 +0000 [r395793] David M. Lee <dlee@digium.com>
  10774. * res/res_pjsip: Setting svn:ignore for res/res_pjsip
  10775. 2013-07-30 19:10 +0000 [r395748-395779] Mark Michelson <mmichelson@digium.com>
  10776. * res/res_pjsip_endpoint_identifier_constant.c: Update
  10777. res_pjsip_endpoint_identifier_constant.c to use reorganized
  10778. endpoint structure.
  10779. * res/res_sip_nat.c (removed),
  10780. res/res_pjsip_outbound_registration.c (added),
  10781. res/res_sip_session.c (removed),
  10782. res/res_pjsip_endpoint_identifier_anonymous.c (added),
  10783. res/res_sip_rfc3326.c (removed), res/res_pjsip_acl.c (added),
  10784. res/res_pjsip/pjsip_distributor.c (added),
  10785. res/res_sip_endpoint_identifier_constant.c (removed),
  10786. res/res_sip_mwi.c (removed), res/res_pjsip_diversion.c (added),
  10787. res/res_sip (removed), res/res_pjsip_dtmf_info.c (added),
  10788. res/res_sip_pubsub.c (removed),
  10789. include/asterisk/res_pjsip_exten_state.h (added),
  10790. res/res_pjsip_sdp_rtp.c (added), res/res_pjsip_messaging.c
  10791. (added), res/res_pjsip_registrar_expire.c (added),
  10792. res/res_pjsip_caller_id.c (added),
  10793. res/res_sip_authenticator_digest.c (removed),
  10794. res/res_sip_session.exports.in (removed),
  10795. res/res_pjsip_exten_state.c (added), res/res_sip_logger.c
  10796. (removed), res/res_sip.c (removed),
  10797. res/res_pjsip_pubsub.exports.in (added),
  10798. res/res_pjsip_endpoint_identifier_constant.c (added),
  10799. res/res_sip_outbound_registration.c (removed),
  10800. res/res_sip_endpoint_identifier_anonymous.c (removed),
  10801. res/res_pjsip_pubsub.c (added), res/res_pjsip/config_transport.c
  10802. (added), res/res_pjsip_transport_websocket.c (added),
  10803. res/res_pjsip_registrar.c (added), channels/chan_pjsip.c (added),
  10804. res/res_pjsip/pjsip_outbound_auth.c (added),
  10805. res/res_pjsip/config_global.c (added), res/res_sip_acl.c
  10806. (removed), res/res_sip_diversion.c (removed),
  10807. res/res_pjsip_authenticator_digest.c (added),
  10808. res/res_pjsip_session.exports.in (added), res/res_sip_dtmf_info.c
  10809. (removed), res/res_pjsip/config_domain_aliases.c (added),
  10810. include/asterisk/res_sip_session.h (removed), res/res_pjsip_t38.c
  10811. (added), res/res_sip_notify.c (removed), res/res_pjsip_logger.c
  10812. (added), res/res_pjsip/pjsip_options.c (added),
  10813. res/res_sip_endpoint_identifier_ip.c (removed),
  10814. res/res_sip_sdp_rtp.c (removed), res/res_sip_messaging.c
  10815. (removed), include/asterisk/res_pjsip_pubsub.h (added),
  10816. res/res_sip_caller_id.c (removed),
  10817. res/res_sip_endpoint_identifier_user.c (removed),
  10818. res/res_sip_pidf.c (removed),
  10819. res/res_pjsip_outbound_authenticator_digest.c (added),
  10820. res/res_sip_exten_state.c (removed),
  10821. res/res_pjsip_one_touch_record_info.c (added),
  10822. res/res_sip_pubsub.exports.in (removed), res/res_pjsip_refer.c
  10823. (added), include/asterisk/res_pjsip_session.h (added),
  10824. res/res_pjsip_notify.c (added), res/res_sip_transport_websocket.c
  10825. (removed), res/res_sip_registrar.c (removed),
  10826. res/res_pjsip_endpoint_identifier_ip.c (added),
  10827. include/asterisk/res_sip.h (removed),
  10828. res/res_pjsip/config_security.c (added), res/res_sip.exports.in
  10829. (removed), res/Makefile, res/res_sip_exten_state.exports.in
  10830. (removed), res/res_pjsip_endpoint_identifier_user.c (added),
  10831. res/res_pjsip/include (added), res/res_pjsip_pidf.c (added),
  10832. res/res_pjsip_nat.c (added), res/res_pjsip_session.c (added),
  10833. res/res_sip_t38.c (removed), channels/chan_gulp.c (removed),
  10834. res/res_pjsip/location.c (added), res/res_pjsip_rfc3326.c
  10835. (added), res/res_pjsip/config_system.c (added),
  10836. configs/pjsip.conf.sample (added),
  10837. include/asterisk/res_sip_pubsub.h (removed), res/res_pjsip_mwi.c
  10838. (added), res/res_pjsip/pjsip_configuration.c (added),
  10839. res/res_sip_outbound_authenticator_digest.c (removed),
  10840. res/res_pjsip (added), res/res_pjsip/include/res_pjsip_private.h
  10841. (added), res/res_sip_one_touch_record_info.c (removed),
  10842. include/asterisk/res_pjsip.h (added), res/res_pjsip/config_auth.c
  10843. (added), res/res_pjsip.exports.in (added),
  10844. configs/res_sip.conf.sample (removed), res/res_sip_refer.c
  10845. (removed), res/res_pjsip_exten_state.exports.in (added),
  10846. res/res_pjsip/security_events.c (added),
  10847. include/asterisk/res_sip_exten_state.h (removed),
  10848. res/res_pjsip/pjsip_global_headers.c (added), res/res_pjsip.c
  10849. (added), res/res_sip_registrar_expire.c (removed): The large
  10850. GULP->PJSIP renaming effort. The general gist is to have a clear
  10851. boundary between old SIP stuff and new SIP stuff by having the
  10852. word "SIP" for old stuff and "PJSIP" for new stuff. Here's a
  10853. brief rundown of the changes: * The word "Gulp" in dialstrings,
  10854. functions, and CLI commands is now "PJSIP" * chan_gulp.c is now
  10855. chan_pjsip.c * Function names in chan_gulp.c that were "gulp_*"
  10856. are now "chan_pjsip_*" * All files that were "res_sip*" are now
  10857. "res_pjsip*" * The "res_sip" directory is now "res_pjsip" * Files
  10858. in the "res_pjsip" directory that began with "sip_*" are now
  10859. "pjsip_*" * The configuration file is now "pjsip.conf" instead of
  10860. "res_sip.conf" * The module info for all PJSIP-related files now
  10861. uses "PJSIP" instead of "SIP" * CLI and AMI commands created by
  10862. Asterisk's PJSIP modules now have "pjsip" as the starting word
  10863. instead of "sip"
  10864. * res/res_sip/sip_options.c,
  10865. res/res_sip_outbound_authenticator_digest.c,
  10866. res/res_sip_outbound_registration.c, res/res_sip_mwi.c,
  10867. res/res_sip_one_touch_record_info.c, res/res_sip_pubsub.c,
  10868. res/res_sip_diversion.c, res/res_sip/sip_configuration.c,
  10869. include/asterisk/res_sip.h, res/res_sip/sip_distributor.c,
  10870. res/res_sip.exports.in, res/res_sip_authenticator_digest.c,
  10871. res/res_sip/sip_outbound_auth.c, res/res_sip_sdp_rtp.c,
  10872. res/res_sip_messaging.c, res/res_sip_t38.c, channels/chan_gulp.c,
  10873. res/res_sip_caller_id.c, res/res_sip.c, res/res_sip_nat.c,
  10874. res/res_sip_session.c: Reorganize the ast_sip_endpoint structure
  10875. into substructures. (closes issue ASTERISK-22135) reported by
  10876. Matt Jordan Review: https://reviewboard.asterisk.org/r/2707
  10877. 2013-07-30 14:16 +0000 [r395731] Joshua Colp <jcolp@digium.com>
  10878. * res/res_sip.c, res/res_sip/sip_configuration.c,
  10879. res/res_sip_session.c, include/asterisk/res_sip.h,
  10880. include/asterisk/res_sip_session.h,
  10881. res/res_sip_session.exports.in, channels/chan_gulp.c,
  10882. res/res_sip_t38.c (added): Add support for T.38 fax to
  10883. chan_pjsip. Review: https://reviewboard.asterisk.org/r/2692/
  10884. 2013-07-30 13:46 +0000 [r395728] Kinsey Moore <kmoore@digium.com>
  10885. * res/res_pktccops.c: Fix compilation on gcc 4.8.1
  10886. 2013-07-29 17:51 +0000 [r395686] David M. Lee <dlee@digium.com>
  10887. * res/parking/parking_devicestate.c, include/asterisk/mixmonitor.h,
  10888. main/mixmonitor.c: Removed quotes from svn:keywords props on a
  10889. few files. Subversion doesn't do quote processing, so it actually
  10890. thinks that the closing quote in 'Revision"' is a part of the
  10891. keyword.
  10892. 2013-07-29 16:16 +0000 [r395674] Mark Michelson <mmichelson@digium.com>
  10893. * res/res_sip.c: Clarify documentation for trust of identification.
  10894. (closes issue ASTERISK-22023) Reported by Rusty Newton
  10895. 2013-07-29 15:58 +0000 [r395672-395673] Matthew Jordan <mjordan@digium.com>
  10896. * main/loader.c: Put the include in there Mea culpa...
  10897. * main/loader.c: When performing a reload, reload the new
  10898. features_config and not the old Performing a module reload of
  10899. core components causes specific functions compiled into the
  10900. Asterisk binary to be reloaded. The table of said functions was
  10901. still pointing to the old features reload mechanism, and not the
  10902. new one.
  10903. 2013-07-29 14:51 +0000 [r395653] Kinsey Moore <kmoore@digium.com>
  10904. * tests/test_cel.c: Clean up and improve test_cel Improve
  10905. reliability of attended transfer merge and link tests. Stop using
  10906. ast_log(LOG_ERROR, ...); in favor of ast_test_status_update
  10907. Remove fred and eve channel helpers since they are not necessary
  10908. 2013-07-29 14:08 +0000 [r395636] David M. Lee <dlee@digium.com>
  10909. * res/ari: Set svn:ignore in res/ari directory
  10910. 2013-07-29 12:10 +0000 [r395619] Kinsey Moore <kmoore@digium.com>
  10911. * res/res_sip.c: Remove comment that no longer applies The monitor
  10912. thread is already properly torn down on unload and load failure.
  10913. 2013-07-27 23:11 +0000 [r395588-395603] Kinsey Moore <kmoore@digium.com>
  10914. * tests/test_ari_model.c, res/ari.make (added),
  10915. res/ari/resource_bridges.h (added), res/ari/resource_asterisk.c
  10916. (added), res/res_ari_endpoints.c (added),
  10917. res/res_stasis_http_sounds.c (removed),
  10918. res/ari/resource_asterisk.h (added), res/res_stasis_http.c
  10919. (removed), rest-api-templates/stasis_http_resource.h.mustache
  10920. (removed), res/res_ari.c (added),
  10921. rest-api-templates/make_ari_stubs.py,
  10922. rest-api-templates/ari_resource.h.mustache (added),
  10923. res/res_ari_asterisk.c (added), res/Makefile, res/ari/internal.h
  10924. (added), res/res_ari_model.c, res/res_stasis_http.exports.in
  10925. (removed), res/ari/resource_playback.c (added),
  10926. tests/test_stasis_http.c (removed), res/ari/resource_playback.h
  10927. (added), res/ari/resource_channels.c (added),
  10928. res/ari/ari_websockets.c (added), res/ari/resource_recordings.c
  10929. (added), res/ari/resource_channels.h (added), tests/test_ari.c
  10930. (added), res/ari/resource_endpoints.c (added),
  10931. res/ari/resource_events.c (added), res/ari/resource_recordings.h
  10932. (added), include/asterisk/stasis_http.h (removed),
  10933. res/res_ari_playback.c (added), res/ari/resource_endpoints.h
  10934. (added), res/ari/resource_events.h (added),
  10935. res/ari/resource_sounds.c (added), configs/ari.conf.sample,
  10936. include/asterisk/ari.h (added), res/res_ari_channels.c (added),
  10937. rest-api-templates/stasis_http.make.mustache (removed),
  10938. res/stasis_http.make (removed), res/ari/resource_sounds.h
  10939. (added), res/res_ari_recordings.c (added),
  10940. rest-api-templates/ari.make.mustache (added),
  10941. res/res_ari_events.c (added), res/res_statsd.c,
  10942. res/res_stasis_http_bridges.c (removed), res/res_ari_sounds.c
  10943. (added), rest-api-templates/ari_model_validators.c.mustache,
  10944. res/res_ari_bridges.c (added), res/res_stasis_http_asterisk.c
  10945. (removed), res/stasis_http (removed),
  10946. rest-api-templates/res_stasis_http_resource.c.mustache (removed),
  10947. main/stasis_config.c, rest-api-templates/rest_handler.mustache,
  10948. res/ari (added), rest-api-templates/res_ari_resource.c.mustache
  10949. (added), res/ari/ari_model_validators.c (added),
  10950. res/ari/ari_model_validators.h (added), res/res_ari.exports.in
  10951. (added), rest-api-templates/stasis_http_resource.c.mustache
  10952. (removed), res/ari/config.c (added),
  10953. rest-api-templates/ari_resource.c.mustache (added), res/ari/cli.c
  10954. (added), res/res_stasis_http_playback.c (removed),
  10955. rest-api-templates/ari_model_validators.h.mustache,
  10956. res/res_stasis_http_channels.c (removed),
  10957. res/res_ari_model.exports.in, res/res_stasis_http_recordings.c
  10958. (removed), res/res_stasis_http_endpoints.c (removed),
  10959. res/ari/resource_bridges.c (added), res/res_stasis_http_events.c
  10960. (removed): Rename everything Stasis-HTTP to ARI This renames all
  10961. files and API calls from several variants of Stasis-HTTP to ARI
  10962. including: * Stasis-HTTP -> ARI * STASIS_HTTP -> ARI *
  10963. stasis_http -> ari (ast_ari for global symbols, file names as
  10964. well) * stasis http -> ARI Review:
  10965. https://reviewboard.asterisk.org/r/2706/ (closes issue
  10966. ASTERISK-22136)
  10967. * tests/test_cel.c: Improve reliability of bridge merge CEL test
  10968. 2013-07-26 21:34 +0000 [r395559-395574] Richard Mudgett <rmudgett@digium.com>
  10969. * bridges/bridge_builtin_features.c, main/parking.c, main/bridge.c,
  10970. main/bridge_basic.c, main/features.c,
  10971. bridges/bridge_builtin_interval_features.c,
  10972. apps/app_bridgewait.c, apps/app_confbridge.c,
  10973. include/asterisk/bridge_features.h, include/asterisk/parking.h,
  10974. main/bridge_channel.c, res/parking/parking_bridge_features.c,
  10975. apps/app_agent_pool.c, apps/confbridge/conf_config_parser.c:
  10976. Remove the unsafe bridge parameter from
  10977. ast_bridge_hook_callback's. Most hook callbacks did not need the
  10978. bridge parameter. The pointer value could become invalid if the
  10979. channel is moved to another bridge while it is executing. * Fixed
  10980. some issues in feature_attended_transfer() as a result. * Reduce
  10981. the bridge inhibit count in
  10982. attended_transfer_properties_shutdown() after it has restored the
  10983. bridge channel hooks. * Removed basic bridge requirement on
  10984. feature_blind_transfer(). It does not require the basic bridge
  10985. like feature_attended_transfer().
  10986. * include/asterisk/bridge_features.h,
  10987. res/parking/parking_bridge_features.c, main/bridge.c,
  10988. bridges/bridge_builtin_interval_features.c,
  10989. apps/app_bridgewait.c: Improved feature limits interval hook
  10990. implementaion. * Fixed feature limits to not use special members
  10991. of struct ast_bridge_features. * Fixed memory leak in off nominal
  10992. paths of bridge_builtin_set_limits(). * Fixed off nominal path in
  10993. ast_bridge_features_limits_construct() freeing unallocated memory
  10994. if it was not called by bridge_builtin_set_limits(). * Made
  10995. bridge_builtin_interval_features.so unloadable. * Simplified
  10996. parking's use of its duration interval hook. * Made BridgeWait S
  10997. option not depend upon another module being loaded. (closes issue
  10998. ASTERISK-22107) Reported by: Matt Jordan Review:
  10999. https://reviewboard.asterisk.org/r/2701/
  11000. 2013-07-26 17:42 +0000 [r395527] David M. Lee <dlee@digium.com>
  11001. * res/stasis_http/resource_events.c, res/stasis/app.c: Fix
  11002. /stasis/res/app_replaced unit test. A typo in recent changes
  11003. caused the JSON ApplicationReplaced message to fail to build, so
  11004. the message wasn't being sent out the WebSocket. Related, the
  11005. replaced application would also unregister itself when it
  11006. disconnected, which would actually unregister the new
  11007. application. This was also fixed.
  11008. 2013-07-26 16:34 +0000 [r395509] Jonathan Rose <jrose@digium.com>
  11009. * main/bridge_channel.c, include/asterisk/bridge.h,
  11010. include/asterisk/bridge_channel_internal.h, main/bridge.c,
  11011. apps/app_bridgewait.c: Add name argument to BridgeWait() so
  11012. multiple holding bridges may be used Changes arguments for
  11013. BridgeWait from BridgeWait(role, options) to
  11014. BridgeWait(bridge_name, role, options). Now multiple holding
  11015. bridges may be created and referenced by this application.
  11016. (closes issue ASTERISK-21922) Reported by: Matt Jordan Review:
  11017. https://reviewboard.asterisk.org/r/2642/
  11018. 2013-07-26 00:03 +0000 [r395466-395477] Richard Mudgett <rmudgett@digium.com>
  11019. * apps/app_bridgewait.c: Remove some unnecessary parentheses.
  11020. * bridges/bridge_builtin_interval_features.c: Revision
  11021. 2013-07-25 20:54 +0000 [r395439-395455] Joshua Colp <jcolp@digium.com>
  11022. * res/res_sip_session.c: Fix crash due to trying to send a
  11023. re-invite while in the incorrect state. This crash would occur if
  11024. a re-invite was queued while the initial INVITE transaction was
  11025. still occurring and the response to the INVITE was not ACKed.
  11026. This lack of ACK would cause the INVITE session state to never
  11027. reach confirmed. Once the transaction terminated, however, the
  11028. queued re-invite would occur and cause a crash due to this lack
  11029. of state change. This fix checks the INVITE session state before
  11030. performing the re-invite to ensure it is in the required
  11031. confirmed state.
  11032. * res/res_sip.c, res/res_sip/sip_configuration.c: Change the
  11033. default value for "allowsubscribe" to yes to match chan_sip.
  11034. 2013-07-25 18:27 +0000 [r395430] Richard Mudgett <rmudgett@digium.com>
  11035. * main/stasis_bridges.c, include/asterisk/bridge_after.h,
  11036. include/asterisk/bridge_channel_internal.h,
  11037. main/manager_bridges.c, include/asterisk/bridge_channel.h,
  11038. main/bridge_after.c, include/asterisk/bridge_technology.h,
  11039. include/asterisk/bridge_internal.h,
  11040. include/asterisk/bridge_features.h, main/bridge_channel.c,
  11041. include/asterisk/bridge.h, include/asterisk/bridge_basic.h,
  11042. include/asterisk/bridge_roles.h, main/bridge.c,
  11043. main/bridge_basic.c, include/asterisk/stasis_bridges.h,
  11044. main/bridge_roles.c: Restore bridging files history.
  11045. 2013-07-25 15:29 +0000 [r395367-395410] Matthew Jordan <mjordan@digium.com>
  11046. * main/features.c, include/asterisk/features.h: Remove some dead
  11047. parking call Since nothing is using these global parking
  11048. functions, remove them! The first of many.
  11049. * main/features.c: Remove dead bridging code from features This
  11050. removes the previously #if 0'd code. The functionality removed
  11051. has either been subsumed by the Bridging API or is no longer
  11052. applicable.
  11053. * main/cli.c, main/cdr.c, main/manager_bridges.c, main/manager.c,
  11054. res/stasis_http/resource_bridges.c, tests/test_cel.c,
  11055. res/res_stasis.c, main/stasis_bridges.c, tests/test_cdr.c: Fix
  11056. incorrect reference to stasis/bridging.h
  11057. * include/asterisk/stasis_bridges.h (added),
  11058. include/asterisk/bridging_after.h (removed),
  11059. bridges/bridge_simple.c, main/core_local.c,
  11060. res/parking/parking_bridge_features.c,
  11061. res/parking/parking_bridge.c, main/cli.c, main/manager_bridges.c
  11062. (added), include/asterisk/bridging_technology.h (removed),
  11063. apps/confbridge/include/confbridge.h, channels/chan_skinny.c,
  11064. include/asterisk/bridging_features.h (removed),
  11065. main/bridge_after.c (added), main/stasis_channels.c,
  11066. include/asterisk/bridge_features.h (added), main/bridge_channel.c
  11067. (added), res/parking/parking_manager.c, channels/chan_mgcp.c,
  11068. channels/chan_unistim.c, include/asterisk/bridge_roles.h (added),
  11069. channels/chan_bridge_media.c, main/bridge.c (added),
  11070. res/parking/parking_controller.c, apps/app_bridgewait.c,
  11071. res/stasis_http/resource_bridges.c,
  11072. res/parking/parking_applications.c,
  11073. include/asterisk/bridging_channel_internal.h (removed),
  11074. main/cel.c, apps/app_queue.c, include/asterisk/stasis_bridging.h
  11075. (removed), main/stasis_bridges.c (added), main/bridging_after.c
  11076. (removed), res/res_stasis_bridge_add.c,
  11077. include/asterisk/bridge_channel_internal.h (added),
  11078. channels/chan_dahdi.c, channels/sig_analog.c,
  11079. include/asterisk/bridging_internal.h (removed),
  11080. apps/confbridge/confbridge_manager.c, main/manager_bridging.c
  11081. (removed), tests/test_cel.c, include/asterisk/bridge_internal.h
  11082. (added), include/asterisk/bridging_roles.h (removed),
  11083. apps/confbridge/conf_chan_announce.c,
  11084. include/asterisk/bridge_basic.h (added),
  11085. include/asterisk/core_unreal.h, main/parking.c,
  11086. res/stasis/control.c, bridges/bridge_holding.c,
  11087. channels/chan_sip.c, bridges/bridge_softmix.c,
  11088. main/bridge_roles.c (added), channels/chan_iax2.c,
  11089. apps/app_agent_pool.c, include/asterisk/bridging_channel.h
  11090. (removed), apps/confbridge/conf_config_parser.c,
  11091. include/asterisk/features.h, main/channel.c,
  11092. res/parking/res_parking.h, main/manager.c, channels/chan_misdn.c,
  11093. main/stasis_bridging.c (removed), include/asterisk/bridging.h
  11094. (removed), bridges/bridge_builtin_interval_features.c,
  11095. include/asterisk/bridging_basic.h (removed),
  11096. include/asterisk/bridge_technology.h (added),
  11097. bridges/bridge_native_rtp.c, tests/test_cdr.c,
  11098. include/asterisk/doxygen/architecture.h, main/bridging_roles.c
  11099. (removed), res/res_sip_refer.c, main/bridge_basic.c (added),
  11100. apps/confbridge/conf_chan_record.c, main/core_unreal.c,
  11101. channels/sig_pri.c, include/asterisk/bridge_after.h (added),
  11102. bridges/bridge_builtin_features.c,
  11103. channels/dahdi/bridge_native_dahdi.c,
  11104. res/stasis_http/resource_channels.c,
  11105. include/asterisk/bridge_channel.h (added), funcs/func_channel.c,
  11106. main/bridging_channel.c (removed), apps/app_dumpchan.c,
  11107. main/features.c, apps/app_confbridge.c, include/asterisk/bridge.h
  11108. (added), main/bridging.c (removed), main/bridging_basic.c
  11109. (removed), apps/app_dial.c: A great big renaming patch This patch
  11110. renames the bridging* files to bridge*. This may seem pedantic
  11111. and silly, but it fits better in line with current Asterisk
  11112. naming conventions: * channel is not "channeling" * monitor is
  11113. not "monitoring" etc. A bridge is an object. It is a first class
  11114. citizen in Asterisk. "Bridging" is the act of using a bridge on a
  11115. set of channels - and the API that fulfills that role is more
  11116. than just the action. (closes issue ASTERISK-22130)
  11117. * include/asterisk/bridging_features.h, funcs/func_channel.c,
  11118. main/bridging_channel.c, main/features.c,
  11119. include/asterisk/bridging.h,
  11120. bridges/bridge_builtin_interval_features.c, main/bridging.c,
  11121. main/bridging_basic.c, apps/app_dial.c,
  11122. include/asterisk/bridging_after.h (added),
  11123. bridges/bridge_softmix.c,
  11124. include/asterisk/bridging_channel_internal.h, apps/app_queue.c,
  11125. res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
  11126. include/asterisk/bridging_channel.h, main/bridging_after.c
  11127. (added), include/asterisk/bridging_technology.h,
  11128. include/asterisk/bridging_internal.h,
  11129. bridges/bridge_builtin_features.c: Move after bridge callbacks
  11130. into their own file One more major refactoring to go.
  11131. 2013-07-25 00:44 +0000 [r395351] Joshua Colp <jcolp@digium.com>
  11132. * res/res_sip/sip_distributor.c, channels/chan_gulp.c,
  11133. res/res_sip_session.c: Improve initial INVITE handling and fix
  11134. crash due to rapidly arriving CANCEL. (closes issue
  11135. ASTERISK-22150) Review: https://reviewboard.asterisk.org/r/2696/
  11136. 2013-07-24 23:40 +0000 [r395316-395340] Richard Mudgett <rmudgett@digium.com>
  11137. * main/bridging.c, include/asterisk/bridging_features.h,
  11138. main/bridging_channel.c,
  11139. include/asterisk/bridging_channel_internal.h: Simplify interval
  11140. hooks since there is only one bridge threading model now. *
  11141. Convert interval timers to use the ast_waitfor_nandfds() timeout.
  11142. * Remove bridge channel action for intervals. Now the main loop
  11143. handles running interval hooks.
  11144. * main/bridging.c, include/asterisk/bridging_features.h,
  11145. main/bridging_channel.c, apps/app_confbridge.c: Refactor
  11146. ast_bridge_features struct. * Reduced the number of hook
  11147. containers to just dtmf_hooks, interval_hooks, and other_hooks.
  11148. As a result, several functions dealing with the different hook
  11149. containers could be combined. * Extended the generic hook struct
  11150. for DTMF and interval hooks instead of using a variant record. *
  11151. Merged the special talk detector hook into the other_hooks
  11152. container. * Replaced ast_bridge_features_set_talk_detector()
  11153. with ast_bridge_talk_detector_hook(). (issue ASTERISK-22107)
  11154. * main/features.c: * Refactor setup_bridge_features_builtin(). *
  11155. Add an error message so you know when a feature is not available
  11156. and you tried to use it. It usually means the module has not been
  11157. loaded.
  11158. 2013-07-24 19:32 +0000 [r395295-395298] Matthew Jordan <mjordan@digium.com>
  11159. * main/asterisk.exports.in: Export exports.in as well Because is is
  11160. rather needed.
  11161. * main/bridging.c, res/parking/parking_bridge_features.c,
  11162. apps/app_agent_pool.c, include/asterisk/bridging_channel.h,
  11163. main/bridging_basic.c, bridges/bridge_builtin_features.c,
  11164. include/asterisk/bridging_features.h, main/bridging_channel.c,
  11165. bridges/bridge_builtin_interval_features.c,
  11166. include/asterisk/bridging_channel_internal.h: Update
  11167. bridge_channel refactorings; export bridge_ symbol
  11168. 2013-07-24 18:51 +0000 [r395283] Jason Parker <jparker@digium.com>
  11169. * contrib/scripts/install_prereq: Add pjproject to install_prereq.
  11170. Also fixes spacing, in passing. (closes issue ASTERISK-22131)
  11171. 2013-07-24 18:08 +0000 [r395267-395271] Kinsey Moore <kmoore@digium.com>
  11172. * res/res_sip.c: Tweak another magic number
  11173. * main/manager_bridging.c: Make AMI BridgeInfo action more verbose
  11174. Ensure that the BridgeInfo command provides adequate state
  11175. information about channels by publishing the full channel
  11176. snapshot for BridgeInfoChannel subevents. This prevents a
  11177. two-stage lookup since most consumers will be keying on channel
  11178. names instead of uniqueids. (closes issue ASTERISK-22140)
  11179. * res/res_sip/sip_global_headers.c: Tweak a magic number (closes
  11180. issue ASTERISK-22146)
  11181. 2013-07-24 16:01 +0000 [r395254-395255] Richard Mudgett <rmudgett@digium.com>
  11182. * main/bridging_channel.c,
  11183. include/asterisk/bridging_channel_internal.h,
  11184. include/asterisk/bridging_channel.h, main/channel.c: Add missing
  11185. end-of-file line terminators.
  11186. * bridges/bridge_native_rtp.c: Add missing line terminator to debug
  11187. message.
  11188. 2013-07-24 15:38 +0000 [r395253] Matthew Jordan <mjordan@digium.com>
  11189. * include/asterisk/bridging_channel_internal.h (added),
  11190. res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
  11191. include/asterisk/bridging_channel.h (added),
  11192. res/parking/parking_bridge.c, include/asterisk/features.h,
  11193. main/channel.c, include/asterisk/bridging_technology.h,
  11194. include/asterisk/bridging_internal.h,
  11195. bridges/bridge_builtin_features.c, main/bridging_channel.c
  11196. (added), main/features.c, include/asterisk/bridging.h,
  11197. bridges/bridge_builtin_interval_features.c, main/bridging.c,
  11198. main/bridging_basic.c, include/asterisk/channel.h: Perform the
  11199. initial renaming of the Bridging API This patch does the
  11200. following: * It pulls out bridge_channel and puts it into its own
  11201. translation unit * It adds public and protected headers for
  11202. bridging_channel. Protected functions are appropriate only for
  11203. the Bridging API and sub-classes of a bridge. (issue
  11204. ASTERISK-22130)
  11205. 2013-07-24 14:35 +0000 [r395243] Richard Mudgett <rmudgett@digium.com>
  11206. * main/bridging.c: Let the compiler do more type checking with
  11207. bridge hook callbacks.
  11208. 2013-07-23 22:32 +0000 [r395227] Joshua Colp <jcolp@digium.com>
  11209. * bridges/bridge_native_rtp.c: Fix a check in bridge_native_rtp
  11210. which determined if attaching the framehook failed or not.
  11211. 2013-07-23 21:32 +0000 [r395215] Jonathan Rose <jrose@digium.com>
  11212. * funcs/func_channel.c, include/asterisk/bridging_basic.h,
  11213. main/bridging_basic.c: func_channel: dtmf_features setting Allows
  11214. reading andsetting dtmf features via a channel function
  11215. CHANNEL(dtmf_features) (closes issue ASTERISK-21876) Reported by:
  11216. Matt Jordan Review: https://reviewboard.asterisk.org/r/2648/
  11217. 2013-07-23 21:14 +0000 [r395203-395205] Joshua Colp <jcolp@digium.com>
  11218. * bridges/bridge_native_rtp.c: Add some debug messages to make it
  11219. clear what RTP bridging functionality is in use.
  11220. * bridges/bridge_native_rtp.c: Fix some logic so native RTP bridge
  11221. will occur when monitor, audiohooks, or framehooks are not
  11222. present.
  11223. 2013-07-23 19:14 +0000 [r395188] Richard Mudgett <rmudgett@digium.com>
  11224. * bridges/bridge_softmix.c, main/bridging.c,
  11225. include/asterisk/bridging.h: Pull softmix bridge parameters into
  11226. a sub structure.
  11227. 2013-07-23 18:41 +0000 [r395183] Joshua Colp <jcolp@digium.com>
  11228. * channels/chan_gulp.c: Drop the reference count on the correct
  11229. object.
  11230. 2013-07-23 18:41 +0000 [r395154-395182] Richard Mudgett <rmudgett@digium.com>
  11231. * channels/chan_dahdi.c, main/utils.c: Reinclude sys/stat.h in
  11232. chan_dahdi.c and remove redundant include in utils.c
  11233. * channels/chan_dahdi.h, channels/chan_mgcp.c,
  11234. channels/chan_dahdi.c, channels/dahdi/bridge_native_dahdi.c: Some
  11235. chan_dahdi protected function renaming. analog_lib_handles -->
  11236. dahdi_analog_lib_handles enable_dtmf_detect -->
  11237. dahdi_dtmf_detect_enable disable_dtmf_detect -->
  11238. dahdi_dtmf_detect_disable dahdi_enable_ec --> dahdi_ec_enable
  11239. dahdi_disable_ec --> dahdi_ec_disable update_conf -->
  11240. dahdi_conf_update dahdi_link --> dahdi_master_slave_link
  11241. dahdi_unlink --> dahdi_master_slave_unlink (closes issue
  11242. ASTERISK-22129) Reported by: rmudgett
  11243. * channels/chan_dahdi.c, channels/dahdi/bridge_native_dahdi.c,
  11244. channels/chan_dahdi.h (added), channels/dahdi (added),
  11245. channels/dahdi/bridge_native_dahdi.h, bridges/bridge_softmix.c,
  11246. channels/Makefile, main/bridging.c: Restore chan_dahdi native
  11247. bridging and PRI tromboned call elimination. Created a
  11248. native_dahdi bridging technology for use with the new bridging
  11249. API. The new bridging technology is part of the chan_dahdi
  11250. channel driver because it is very specific to that driver. Rather
  11251. than include the new code directly into chan_dahdi.c the new
  11252. bridge technology is in its own file and linked into
  11253. chan_dahdi.so. A large part of this change is the mechanical
  11254. process of moving declarations around so chan_dahdi.c can be
  11255. split up into more files later. * Changed the bridging core to
  11256. pass NULL frames into the channel technologies instead of
  11257. discarding them. The channel technologies may need the proding to
  11258. determine if their configuration is still valid. (closes issue
  11259. ASTERISK-21886) Reported by: Matt Jordan Review:
  11260. https://reviewboard.asterisk.org/r/2681/
  11261. 2013-07-23 15:28 +0000 [r395151] Mark Michelson <mmichelson@digium.com>
  11262. * main/bridging_roles.c, include/asterisk/bridging_internal.h
  11263. (added), bridges/bridge_builtin_features.c,
  11264. main/stasis_bridging.c, include/asterisk/bridging_features.h,
  11265. include/asterisk/features_config.h, include/asterisk/bridging.h,
  11266. main/features.c, include/asterisk/bridging_roles.h, main/cel.c,
  11267. main/features_config.c, include/asterisk/stasis_bridging.h,
  11268. main/bridging.c, main/bridging_basic.c: Make DTMF attended
  11269. transfer support feature-complete. This greatly modifies the
  11270. operation of DTMF attended transfers so that the full range of
  11271. options from features.conf applies. In addition, a new option has
  11272. been added that allows for a transferer to switch between bridges
  11273. during a transfer before completing the transfer. (closes issue
  11274. ASTERISK-21543) reported by Matt Jordan Review:
  11275. https://reviewboard.asterisk.org/r/2654
  11276. 2013-07-23 14:57 +0000 [r395136] David M. Lee <dlee@digium.com>
  11277. * res/res_stasis_http_channels.c, res/res_stasis_http_sounds.c,
  11278. res/res_stasis_http_bridges.c, res/res_stasis_http_recordings.c,
  11279. res/res_stasis_http.c, res/res_stasis_http_endpoints.c,
  11280. res/res_stasis_http_asterisk.c, res/res_stasis_http_playback.c,
  11281. rest-api-templates/res_stasis_http_resource.c.mustache: No more
  11282. teapots. Now that the ARI implementation is nearing some
  11283. definition of completeness, we should properly respond with 501's
  11284. for unimplemented functionality, instead of the almost humorous
  11285. 418.
  11286. 2013-07-23 14:49 +0000 [r395135] Matthew Jordan <mjordan@digium.com>
  11287. * main/channel.c: Kill the zombies In previous versions of
  11288. Asterisk, the zombies roamed freely, unchecked and uncontrolled.
  11289. They ravaged Asterisk systems with their biting and their nashing
  11290. and their pointy teeth. Sometimes, you couldn't even hang them
  11291. up. Now, zombies are rare. They still *technically* exist in
  11292. certain places, but they are controlled. Kind of like a zombie
  11293. zoo: you can see them, but you can't touch them, and they can't
  11294. touch you. Bring your kids! Because zombies are now population
  11295. controlled with a very short lifespan, there's no reason to
  11296. rename the channels to '%s<ZOMBIE>'. The channels are guaranteed
  11297. to die off quickly; the rename really is just confusing at this
  11298. point. This patch finally removes the renaming. On the plus side:
  11299. this made my life easier in CDRs during call pickup and attended
  11300. transfers to an Asterisk application. It will make other folks
  11301. lives easier as well! Review:
  11302. https://reviewboard.astierks.org/r/2690/ (closes issue
  11303. ASTERISK-21699) Reported by: Matt Jordan
  11304. 2013-07-23 13:52 +0000 [r395121] Kinsey Moore <kmoore@digium.com>
  11305. * res/res_sip_sdp_rtp.c, channels/chan_gulp.c, res/res_sip.c,
  11306. channels/chan_sip.c, res/res_sip/sip_configuration.c,
  11307. res/res_sip_session.c, include/asterisk/res_sip.h,
  11308. include/asterisk/res_sip_session.h: Add DTLS-SRTP support to
  11309. chan_pjsip This patch introduces DTLS-SRTP support to chan_pjsip
  11310. and the options necessary to configure it including an option to
  11311. allow choosing between 32 and 80 byte SRTP tag lengths. During
  11312. the implementation and testing of this patch, three other bugs
  11313. were found and their fixes are included with this patch. The two
  11314. in chan_sip were a segfault relating to DTLS setup and mistaken
  11315. call rejection. The third bug fix prevents chan_pjsip from
  11316. attempting to perform bridge optimization between two endpoints
  11317. if either of them is running any form of SRTP. Review:
  11318. https://reviewboard.asterisk.org/r/2683/ (closes issue
  11319. ASTERISK-21419)
  11320. 2013-07-23 13:42 +0000 [r395118-395120] David M. Lee <dlee@digium.com>
  11321. * res/stasis/app.h, res/res_stasis.c, res/stasis/app.c: Continue
  11322. events when ARI WebSocket reconnects This patch addresses a bug
  11323. in the /ari/events WebSocket in handling reconnects. When a
  11324. Stasis application's associated WebSocket was disconnected and
  11325. reconnected, it would not receive events for any channels or
  11326. bridges it was subscribed to. The fix was to lazily clean up
  11327. Stasis application registrations, instead of removing them as
  11328. soon as the WebSocket goes away. When an application is
  11329. unregistered at the WebSocket level, the underlying application
  11330. is simply deactivated. If the application WebSocket is
  11331. reconnected, the application is reactivated for the new
  11332. connection. To avoid memory leaks from lingering, unused
  11333. application, the application list is cleaned up whenever new
  11334. applications are registered/unregistered. (closes issue
  11335. ASTERISK-21970) Review: https://reviewboard.asterisk.org/r/2678/
  11336. * main/manager_bridging.c,
  11337. include/asterisk/stasis_message_router.h, tests/test_stasis.c,
  11338. main/manager_channels.c, main/cdr.c,
  11339. main/stasis_message_router.c: Fix bridge/channel AMI event
  11340. ordering issues The stasis_cache_update messages are somewhat
  11341. cumbersome to handle with the stasis_message_router. Since all
  11342. updates have the same message type, they are normally handled
  11343. with the same route. Since caching itself is a first class
  11344. component of stasis-core, it makes sense for the router to handle
  11345. the cache update messages itself. This patch adds
  11346. stasis_message_router_add_cache_update() and
  11347. stasis_message_router_remove_cache_update() to handle the routing
  11348. of stasis_cache_update messages. This patch also corrects an
  11349. issue with manager_{bridging,channels}.c, where events might be
  11350. reordered. The reordering occurs because the components use
  11351. different message routers, which they needed because they both
  11352. needed to route cache update messages. They now both use
  11353. manager's router, and add cache routes for just the cache updates
  11354. they are interested in. (closes issue ASTERISK-22038) Review:
  11355. https://reviewboard.asterisk.org/r/2677/
  11356. 2013-07-23 12:56 +0000 [r395107] Kinsey Moore <kmoore@digium.com>
  11357. * res/res_sip/sip_options.c: Add missing newline
  11358. 2013-07-23 12:27 +0000 [r395102] Joshua Colp <jcolp@digium.com>
  11359. * channels/chan_gulp.c, res/res_sip_session.c,
  11360. include/asterisk/res_sip_session.h,
  11361. res/res_sip_session.exports.in: Expose the chan_pjsip
  11362. implementation pvt and session in a defined manner. This allows
  11363. modules outside of chan_pjsip itself to get the session given
  11364. only an Asterisk channel. Review:
  11365. https://reviewboard.asterisk.org/r/2674/
  11366. 2013-07-23 00:16 +0000 [r395089] Matthew Jordan <mjordan@digium.com>
  11367. * main/cdr.c: Fix unbalanced lock when serializing CDR variables
  11368. I'm only surprised that this didn't cause larger problems.
  11369. 2013-07-23 00:02 +0000 [r395088] Richard Mudgett <rmudgett@digium.com>
  11370. * main/bridging.c: Remove some BUGBUG notes that have been handled.
  11371. 2013-07-22 20:42 +0000 [r395074] Kinsey Moore <kmoore@digium.com>
  11372. * tests/test_cel.c: Make the CEL blind transfer test pass
  11373. consistently
  11374. 2013-07-22 13:52 +0000 [r394881-395034] Matthew Jordan <mjordan@digium.com>
  11375. * /, main/asterisk.c: Update copyright year to 2013 in asterisk.c;
  11376. some whitespace fixes (closes issue ASTERISK-22179) Reported by:
  11377. Malcolm Davenport ........ Merged revisions 395032 from
  11378. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  11379. revisions 395033 from
  11380. http://svn.asterisk.org/svn/asterisk/branches/11
  11381. * funcs/func_channel.c, /: Clean up documentation This patch cleans
  11382. up documentation in func_channel for the following items: *
  11383. rtpsource * secure_signaling * secure_media * various OOH323
  11384. parameters (closes issue ASTERISK-20969) Reported by: snuffy
  11385. patches: func_chan-update.diff uploaded by snuffy (License 5024)
  11386. ........ Merged revisions 394980 from
  11387. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  11388. revisions 394981 from
  11389. http://svn.asterisk.org/svn/asterisk/branches/11
  11390. * /, configs/indications.conf.sample: Provide proper ring tone in
  11391. indications.conf for Malaysia The ring tone provided in the
  11392. sample indications.conf was incorrect. This patch modifies the
  11393. sample ring tone to be what it should: ring =
  11394. 425/400,0/200,425/400,0/2000 This brings it in line with the tone
  11395. definition in DAHDI 2.7.0. (zonedata.c) (closes issue
  11396. ASTERISK-21997) Reported by: Filip Jenicek patches:
  11397. malaysia_ring.patch uploaded by phill (License 6277) ........
  11398. Merged revisions 394940 from
  11399. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  11400. revisions 394941 from
  11401. http://svn.asterisk.org/svn/asterisk/branches/11
  11402. * contrib/scripts/safe_asterisk, Makefile,
  11403. configs/safe_asterisk.conf.sample (added), CHANGES: Always
  11404. install safe_asterisk; add configuration file support This patch
  11405. modifies the behavior of safe_asterisk in two ways: (1) It
  11406. modifies the Asterisk Makefile such that safe_asterisk is always
  11407. installed on a 'make install'. This was done as bugfixes in the
  11408. safe_asterisk script were not applied in previous version of
  11409. Asterisk without first removing the old version of the script.
  11410. (2) In order to keep a newly installed version of safe_asterisk
  11411. from impacting local modifications, a new config file -
  11412. safe_asterisk.conf.sample - has been provided. Settings that were
  11413. previously modified in safe_asterisk can be set there instead.
  11414. (closes issue ASTERISK-21965) Reported by: Jeremy Kister patches:
  11415. safe_asterisk.patch uploaded by jkister (License 6232)
  11416. * /, main/http.c: Tolerate presence of RFC2965 Cookie2 header by
  11417. ignoring it This patch modifies parsing of cookies in Asterisk's
  11418. http server by doing an explicit comparison of the "Cookie"
  11419. header instead of looking at the first 6 characters to determine
  11420. if the header is a cookie header. This avoids parsing "Cookie2"
  11421. headers and overwriting the previously parsed "Cookie" header.
  11422. Note that we probably should be appending the cookies in each
  11423. "Cookie" header to the parsed results; however, while clients can
  11424. send multiple cookie headers they never really do. While this
  11425. patch doesn't improve Asterisk's behavior in that regard, it
  11426. shouldn't make it any worse either. Note that the solution in
  11427. this patch was pointed out on the issue by the issue reporter,
  11428. Stuart Henderson. (closes issue ASTERISK-21789) Reported by:
  11429. Stuart Henderson Tested by: mjordan, Stuart Henderson ........
  11430. Merged revisions 394899 from
  11431. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  11432. revisions 394900 from
  11433. http://svn.asterisk.org/svn/asterisk/branches/11
  11434. * /, contrib/realtime/postgresql/realtime.sql: Update PostgreSQL
  11435. realtime scripts with schema for queue_log table This patch
  11436. updates the realtime SQL scripts with an entry that will create
  11437. the queue_log table. This brings the PostgreSQL scripts inline
  11438. with the MySQL scripts, with respect to what tables they will
  11439. create. (closes issue ASTERISK-21021) Reported by: Eugene
  11440. patches: queue_log.sql uploaded by varnav (license 6360) ........
  11441. Merged revisions 394896 from
  11442. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  11443. revisions 394897 from
  11444. http://svn.asterisk.org/svn/asterisk/branches/11
  11445. * channels/iax2/parser.c: Add additional control frame types to the
  11446. IAX2 parser for debug messages This patch adds some of the more
  11447. recent control frame types to the IAX2 parser. When IAX2
  11448. debugging is enabled, it will now show more of the control frame
  11449. types. (closes issue ASTERISK-22120) Reported by: Birger "WIMPy"
  11450. Harzenetter patches: iaxcmds.diff uploaded by wimpy
  11451. * /, configs/iax.conf.sample: Document connectedline parameter for
  11452. chan_iax2 The connectedline parameter for a chan_iax2 peer was
  11453. undocumented. This patch documents the options in the sample
  11454. configuration file. (closes issue ASTERISK-21953) Reported by:
  11455. Birger "WIMPy" Harzenetter ........ Merged revisions 394886 from
  11456. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  11457. revisions 394890 from
  11458. http://svn.asterisk.org/svn/asterisk/branches/11
  11459. * main/manager.c, CHANGES: Allow setting allowmultiplelogin on an
  11460. account basis This patch modifies manager to allow the
  11461. allowmultiplelogin setting to be set on an account by account
  11462. basis. When set in the general context, it will act as the
  11463. default for the defined accounts. Setting it in the account will
  11464. override the general setting. (closes issue ASTERISK-21324)
  11465. Reported by: vldmr patches:
  11466. asterisk-manager-per-user-allowmultiplelogin.patch uploaded by
  11467. vldmr (License 6487)
  11468. 2013-07-20 13:25 +0000 [r394858-394870] Kinsey Moore <kmoore@digium.com>
  11469. * include/asterisk/cel.h, tests/test_cel.c, CHANGES, main/cel.c,
  11470. main/asterisk.c: Add CEL local optimization record type This adds
  11471. a new CEL event type, AST_CEL_LOCAL_OPTIMIZE, to represent local
  11472. channel optimizations. Local channel optimizations were one of
  11473. several things conveyed by the now defunct BRIDGE_UPDATE event
  11474. type. This also adds a unit test to test generation of this new
  11475. CEL event. Review: https://reviewboard.asterisk.org/r/2676/
  11476. * tests/test_cel.c, CHANGES, apps/app_queue.c, main/cel.c,
  11477. apps/app_dial.c, main/channel.c, channels/chan_dahdi.c,
  11478. main/pbx.c, channels/sig_analog.c, channels/chan_sip.c,
  11479. include/asterisk/cel.h, apps/app_celgenuserevent.c,
  11480. apps/app_directed_pickup.c, main/features.c: Add transfer support
  11481. to CEL This adds CEL support for blind and attended transfers and
  11482. call pickup. During the course of adding this functionality I
  11483. noticed that CONF_ENTER, CONF_EXIT, and BRIDGE_TO_CONF events are
  11484. particularly useless without a bridge identifier, so I added that
  11485. as well. This adds tests for blind transfers, several types of
  11486. attended transfers, and call pickup. The extra field in CEL
  11487. records now consists of a JSON blob whose fields are defined on a
  11488. per-event basis. Review: https://reviewboard.asterisk.org/r/2658/
  11489. (closes issue ASTERISK-21565)
  11490. 2013-07-20 01:11 +0000 [r394825-394846] Richard Mudgett <rmudgett@digium.com>
  11491. * include/asterisk/astobj2.h: Regroup the ao2 search_flags. Moved
  11492. the OBJ_POINTER, OBJ_KEY, and OBJ_PARTIAL_KEY flags together into
  11493. a field and renamed them to OBJ_SEARCH_OBJECT, OBJ_SEARCH_KEY,
  11494. and OBJ_SEARCH_PARTIAL_KEY respectively. The values were selected
  11495. to keep existing code compiling and working until the codebase
  11496. can be changed to stop using these values as bit flags and use
  11497. them as an enum field. The old names are defined to the new names
  11498. for backward compatibility.
  11499. * main/audiohook.c, main/channel.c, include/asterisk/audiohook.h:
  11500. Minor optimizations. * Made ast_audiohook_detach_list() and
  11501. ast_audiohook_write_list_empty() NULL tolerant. * Made
  11502. ast_audiohook_detach_list() return void since it is a destructor.
  11503. * main/bridging.c, main/channel.c, include/asterisk/channel.h,
  11504. bridges/bridge_native_rtp.c: Extract a repeated test into
  11505. ast_channel_has_audio_frame_or_monitor().
  11506. 2013-07-19 19:40 +0000 [r394809-394810] Jonathan Rose <jrose@digium.com>
  11507. * res/stasis/control.c, res/stasis_http/resource_channels.c,
  11508. res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
  11509. res/stasis_http/resource_channels.h,
  11510. rest-api/api-docs/channels.json: ARI: MOH start and stop for a
  11511. channel (issue ASTERISK-21974) Reported by: Matt Jordan Review:
  11512. https://reviewboard.asterisk.org/r/2680/
  11513. * rest-api/api-docs/channels.json, res/res_stasis_http_bridges.c,
  11514. res/res_stasis.c, rest-api/api-docs/recordings.json,
  11515. include/asterisk/core_unreal.h, res/res_stasis_http_playback.c,
  11516. res/res_stasis_playback.c, channels/chan_bridge_media.c (added),
  11517. res/stasis/control.c, res/stasis_http/ari_model_validators.c,
  11518. res/res_stasis_http_channels.c, main/core_unreal.c,
  11519. include/asterisk/stasis_app.h,
  11520. res/stasis_http/resource_bridges.c,
  11521. res/stasis_http/ari_model_validators.h,
  11522. res/stasis_http/resource_bridges.h,
  11523. include/asterisk/stasis_app_playback.h,
  11524. rest-api/api-docs/bridges.json, include/asterisk/logger.h,
  11525. res/stasis_http/resource_channels.c,
  11526. rest-api/api-docs/playback.json: ARI: Bridge Playback, Bridge
  11527. Record Adds a new channel driver for creating channels for
  11528. specific purposes in bridges, primarily to act as either
  11529. recorders or announcers. Adds ARI commands for playing
  11530. announcements to ever participant in a bridge as well as for
  11531. recording a bridge. This patch also includes some
  11532. documentation/reponse fixes to related ARI models such as
  11533. playback controls. (closes issue ASTERISK-21592) Reported by:
  11534. Matt Jordan (closes issue ASTERISK-21593) Reported by: Matt
  11535. Jordan Review: https://reviewboard.asterisk.org/r/2670/
  11536. 2013-07-19 19:23 +0000 [r394795-394808] Kinsey Moore <kmoore@digium.com>
  11537. * include/asterisk/channel.h, main/stasis_channels.c, main/cel.c,
  11538. apps/confbridge/conf_chan_announce.c, main/manager_channels.c,
  11539. res/parking/parking_manager.c, main/cdr.c,
  11540. include/asterisk/stasis_channels.h,
  11541. apps/confbridge/conf_chan_record.c,
  11542. apps/confbridge/confbridge_manager.c, main/manager_bridging.c:
  11543. Filter channels used as internal mechanisms This adds new flags
  11544. to the channel tech properties that flag it as different types of
  11545. implementation detail used exclusively to provide a feature.
  11546. Examples of channels that would have these flags include the
  11547. announcement and recording channels used by confbridge which are
  11548. the only two marked as such by this patch. Review:
  11549. https://reviewboard.asterisk.org/r/2633/ (closes issue
  11550. ASTERISK-21873)
  11551. * channels/chan_sip.c: Fix crash when using temporary peers
  11552. Temporary peers do not have an associated Stasis endpoint and
  11553. quite a bit of code in chan_sip assumes that all peers have a
  11554. Stasis endpoint. All endpoint accesses in chan_sip are now
  11555. wrapped in an endpoint NULL-check.
  11556. 2013-07-19 18:00 +0000 [r394793] Jason Parker <jparker@digium.com>
  11557. * main/stasis_system.c, main/ccss.c,
  11558. include/asterisk/stasis_system.h: Convert CCSS manager events to
  11559. stasis. (closes issue ASTERISK-21473) Review:
  11560. https://reviewboard.asterisk.org/r/2682/
  11561. 2013-07-19 17:55 +0000 [r394776-394791] Richard Mudgett <rmudgett@digium.com>
  11562. * main/bridging.c: Made audiohooks, framehooks, and monitor prevent
  11563. local channel optimization. Audiohooks, framehooks, and monitor
  11564. represent state on a local channel that will go away if it is
  11565. optimized out. (closes issue ASTERISK-21954) Reported by:
  11566. rmudgett Review: https://reviewboard.asterisk.org/r/2685/
  11567. * include/asterisk/channel.h: Fixup doxygen on ast_hangup().
  11568. 2013-07-18 19:25 +0000 [r394759] Mark Michelson <mmichelson@digium.com>
  11569. * res/res_sip_session.c, res/res_sip/sip_global_headers.c (added),
  11570. res/res_sip/config_system.c (added),
  11571. res/res_sip_one_touch_record_info.c, res/res_sip_mwi.c,
  11572. res/res_sip_pubsub.c, res/res_sip/config_transport.c,
  11573. res/res_sip/sip_configuration.c, res/res_sip_refer.c,
  11574. include/asterisk/res_sip.h, res/res_sip/config_global.c (added),
  11575. res/res_sip/include/res_sip_private.h, res/res_sip.exports.in,
  11576. res/res_sip_sdp_rtp.c, channels/chan_gulp.c,
  11577. res/res_sip_caller_id.c, res/res_sip.c: Add a bunch of options
  11578. from sip.conf to res_sip.conf For a complete list of the options
  11579. added, see the review linked at the bottom of this commit
  11580. message. (closes issue ASTERISK-21506) reported by Matt Jordan
  11581. Review: https://reviewboard.asterisk.org/r/2671
  11582. 2013-07-18 18:05 +0000 [r394744] David M. Lee <dlee@digium.com>
  11583. * res/res_http_websocket.c: Fixed null dereference when WebSocket
  11584. subprotocol isn't specified
  11585. 2013-07-18 16:49 +0000 [r394731] Jonathan Rose <jrose@digium.com>
  11586. * apps/app_bridgewait.c, main/bridging_roles.c,
  11587. bridges/bridge_holding.c: bridge_holding/app_bridgewait: Add new
  11588. entertainment options This patch adds more entertainment options
  11589. to holding bridges and the bridge_wait application. Also, holding
  11590. bridges will now use music on hold as the default entertainment
  11591. option instead of none. The parameters for app_bridgewait have
  11592. changed to (role, options) from the previous (options) and the
  11593. options themselves have changed as well (entertainment options
  11594. are now contained in an enumerator, role specification is handled
  11595. by the role parameter, etc) (closes issue ASTERISK-21923)
  11596. Reported by: Matthew Jordan Review:
  11597. https://reviewboard.asterisk.org/r/2679/
  11598. 2013-07-18 16:03 +0000 [r394715] Jason Parker <jparker@digium.com>
  11599. * res/stasis_http/resource_channels.c,
  11600. include/asterisk/stasis_app.h, include/asterisk/channel.h,
  11601. res/res_mutestream.c, main/channel.c, res/stasis/control.c: ARI:
  11602. Add support for suppressing media streams. Also convert
  11603. res_mutestream to use the core feature behind this. (closes issue
  11604. ASTERISK-21618) Review: https://reviewboard.asterisk.org/r/2652/
  11605. 2013-07-18 14:50 +0000 [r394701] Matthew Jordan <mjordan@digium.com>
  11606. * main/http.c: Tweak debug statements This patch does two things:
  11607. 1. It moves the debug statement that shows the HTTP sub-protocols
  11608. being compared after the string length calculation such that it
  11609. shows the correct string length in the output 2. It adds some
  11610. additional debug that displays when it matches on a sub-protocol
  11611. and when it fails
  11612. 2013-07-18 14:08 +0000 [r394686] David M. Lee <dlee@digium.com>
  11613. * main/stasis_cache.c: Fix caching topic shutdown assertions The
  11614. recent changes to update stasis_cache_topics directly from the
  11615. publisher thread uncovered a race condition, which was causing
  11616. asserts in the /stasis/core tests. If the caching topic's
  11617. subscription is the last reference to the caching topic, it will
  11618. destroy the caching topic after the final message has been
  11619. processed. When dispatching to a different thread, this usually
  11620. gave the unsubscribe enough time to finish before destruction
  11621. happened. Now, however, it consistently destroys before
  11622. unsubscription is complete. This patch adds an extra reference to
  11623. the caching topic, to hold it for the duration of the
  11624. unsubscription. This patch also removes an extra unref that was
  11625. happening when the final message was received by the caching
  11626. topic. It was put there because of an extra ref that was put into
  11627. the caching topic's constructor. Both have been removed, which
  11628. makes the destructor a bit less confusing. Review:
  11629. https://reviewboard.asterisk.org/r/2675/
  11630. 2013-07-18 12:54 +0000 [r394642] Michael L. Young <elgueromexicano@gmail.com>
  11631. * /, res/res_agi.c: Properly indicate failure to open an audio
  11632. stream in res_agi If there is an error streaming an audio file,
  11633. the current return status makes it difficult for an AGI script to
  11634. determine that there was an error with the audio file. This
  11635. patches changes the result to return -1 and the function returns
  11636. RESULT_FAILURE instead of RESULT_SUCCESS. From looking at other
  11637. parts of res_agi, this would appear to be the proper way to
  11638. handle an error. (closes issue ASTERISK-21903) Reported by: Ariel
  11639. Wainer Tested by: Ariel Wainer Patches:
  11640. asterisk-21903-return-stream-res_1.8.diff by Michael L. Young
  11641. (license 5026) Review: https://reviewboard.asterisk.org/r/2625/
  11642. ........ Merged revisions 394640 from
  11643. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  11644. revisions 394641 from
  11645. http://svn.asterisk.org/svn/asterisk/branches/11
  11646. 2013-07-17 22:30 +0000 [r394600-394623] Richard Mudgett <rmudgett@digium.com>
  11647. * tests/test_app.c, main/features.c, tests/test_voicemail_api.c,
  11648. tests/test_cel.c, include/asterisk/channel.h,
  11649. addons/chan_mobile.c, tests/test_cdr.c,
  11650. tests/test_stasis_endpoints.c, apps/app_voicemail.c,
  11651. main/channel.c, main/dial.c, apps/app_meetme.c: Change
  11652. ast_hangup() to return void and be NULL safe. Since ast_hangup()
  11653. is effectively a channel destructor, it should be a void
  11654. function. * Make the few silly callers checking the return value
  11655. no longer do so. Only the CDR and CEL unit tests checked the
  11656. return value. * Make all callers take advantage of the NULL safe
  11657. change and remove the NULL check before the call.
  11658. * main/features.c: Remove some completed and no longer relevant
  11659. BUGBUG notes.
  11660. 2013-07-17 18:26 +0000 [r394583] Jonathan Rose <jrose@digium.com>
  11661. * apps/confbridge/conf_chan_announce.c: app_confbridge: Eliminate a
  11662. reference leak for confbridge announcer channels
  11663. 2013-07-17 17:49 +0000 [r394552-394567] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
  11664. * channels/chan_dahdi.c: Left over spacing issues of review 726.
  11665. * channels/chan_dahdi.c: handle DAHDI_EVENT_REMOVED on a pri
  11666. D-Channel When a DAHDI device is removed at run-time it sends the
  11667. event DAHDI_EVENT_REMOVED on each channel. This is intended to
  11668. signal the userspace program to close the respective file handle,
  11669. as the driver of the device will need all of them closed to
  11670. properly clean-up. This event has long since been handled in
  11671. chan_dahdi (chan_zap at the time). However the event that is sent
  11672. on a D-Channel of a "PRI" (ISDN) span simply gets ignored. This
  11673. commit adds handling for closing the file descriptor (and
  11674. shutting down the span, while we're at it). It also adds a CLI
  11675. command 'pri destroy span <N>' to destroy the span and its DAHDI
  11676. channels. Review: https://reviewboard.asterisk.org/r/726/
  11677. 2013-07-16 22:33 +0000 [r394530-394531] Matthew Jordan <mjordan@digium.com>
  11678. * apps/app_confbridge.c, CHANGES: Add 'kick all' capability to
  11679. ConfBridge CLI command This patch adds the ability to kick all
  11680. users out of a conference from the ConfBridge kick CLI command.
  11681. It is invoked by passing 'all' as the channel parameter to the
  11682. CLI command, i.e., "confbridge kick <conf> all". Note that this
  11683. patch was modified slightly to conform to trunk. (closes issue
  11684. ASTERISK-21827) Reported by: dorianlogan patches:
  11685. kickall-patch_v2.diff uploaded by dorianlogan (License 6504)
  11686. * main/cel.c: Re-order handlers in CEL to ensure that HANGUP events
  11687. happen after APP_END When a channel is hungup, both an APP_END
  11688. event and a HANGUP event can be fired. To ensure that HANGUP
  11689. events occur after APP_END events, the method callbacks for the
  11690. APP_END event should be processed prior to the callbacks for the
  11691. HANGUP event.
  11692. 2013-07-16 21:44 +0000 [r394513] David M. Lee <dlee@digium.com>
  11693. * res/stasis_http/ari_websockets.c: Debug logging to help with
  11694. WebSocket connection problems
  11695. 2013-07-16 20:00 +0000 [r394489] Richard Mudgett <rmudgett@digium.com>
  11696. * channels/chan_gulp.c: chan_gulp: Fix gulp_indicate() handling of
  11697. AST_CONTROL_PVT_CAUSE_CODE.
  11698. 2013-07-16 19:13 +0000 [r394473] Mark Michelson <mmichelson@digium.com>
  11699. * res/res_sip_session.c: Prevent crash from trying to end a session
  11700. in an invalid way. This ensures that code that was only meant to
  11701. be run on a reinvite failure only runs on a reinvite failure.
  11702. (closes issue ASTERISK-22061) reported by Rusty Newton
  11703. 2013-07-16 18:49 +0000 [r394470-394471] Richard Mudgett <rmudgett@digium.com>
  11704. * main/channel.c, channels/chan_sip.c: Remove some dead code
  11705. dealing with old bridging method.
  11706. * bridges/bridge_simple.c: Simplify bridge_simple chan join code.
  11707. 2013-07-16 18:22 +0000 [r394469] Matthew Jordan <mjordan@digium.com>
  11708. * main/cdr.c: Re-order cleanup This patch attempts to fix some
  11709. possible race conditions in shutdown of the CDR engine. It: *
  11710. Adds a cleanup handler to only unsubscribe and join on stasis
  11711. messages during graceful shutdown. The cleanup handler should
  11712. execute before the regular atexit handler, as we want to
  11713. unsubscribe for any further messages before dispatching the CDRs.
  11714. * The CDRs are now locked when we dispatch them on shutdown.
  11715. 2013-07-16 15:30 +0000 [r394442] David M. Lee <dlee@digium.com>
  11716. * res/res_http_websocket.c: Fixed null dereference when WebSocket
  11717. protocol is omitted
  11718. 2013-07-15 23:20 +0000 [r394417] Richard Mudgett <rmudgett@digium.com>
  11719. * configs/agents.conf.sample, include/asterisk/config_options.h,
  11720. include/asterisk/stasis_channels.h, channels/chan_agent.c
  11721. (removed), configs/queues.conf.sample,
  11722. include/asterisk/bridging.h, UPGRADE.txt, main/stasis_channels.c,
  11723. CHANGES, main/bridging.c, apps/app_agent_pool.c (added): Replace
  11724. chan_agent with app_agent_pool. The ill conceived chan_agent is
  11725. no more. It is now replaced by app_agent_pool. Agents login using
  11726. the AgentLogin() application as before. The AgentLogin()
  11727. application no longer does any authentication. Authentication is
  11728. now the responsibility of the dialplan. (Besides, the
  11729. authentication done by chan_agent did not match what the voice
  11730. prompts asked for.) Sample extensions.conf [login] ; Sample agent
  11731. 1001 login ; Set COLP for in between calls so the agent does not
  11732. see the last caller COLP. exten =>
  11733. 1001,1,Set(CONNECTEDLINE(all)="Agent Waiting" <1001>) ; Give the
  11734. agent DTMF transfer and disconnect features when connected to a
  11735. caller. same => n,Set(CHANNEL(dtmf-features)=TX) same =>
  11736. n,AgentLogin(1001) same => n,NoOp(AGENT_STATUS is
  11737. ${AGENT_STATUS}) same => n,Hangup() [caller] ; Sample caller
  11738. direct connect to agent 1001 exten => 800,1,AgentRequest(1001)
  11739. same => n,NoOp(AGENT_STATUS is ${AGENT_STATUS}) same =>
  11740. n,Hangup() ; Sample caller going through a Queue to agent 1001
  11741. exten => 900,1,Queue(agent_q) same => n,Hangup() Sample
  11742. queues.conf [agent_q] member =>
  11743. Local/800@caller,,SuperAgent,Agent:1001 Under the hood operation
  11744. overview: 1) Logged in agents wait for callers in an agents
  11745. holding bridge. 2) Caller requests an agent using AgentRequest()
  11746. 3) A basic bridge is created, the agent is notified, and caller
  11747. joins the basic bridge to wait for the agent. 4) The agent is
  11748. either automatically connected to the caller or must ack the call
  11749. to connect. 5) The agent is moved from the agents holding bridge
  11750. to the basic bridge. 6) The agent and caller talk. 7) The
  11751. connection is ended by either party. 8) The agent goes back to
  11752. the agents holding bridge. To avoid some locking issues with the
  11753. agent holding bridge, I needed to make some changes to the after
  11754. bridge callback support. The after bridge callback is now a list
  11755. of requested callbacks with the last to be added the only active
  11756. callback. The after bridge callback for failed callbacks will
  11757. always happen in the channel thread when the channel leaves the
  11758. bridging system or is destroyed. (closes issue ASTERISK-21554)
  11759. Reported by: Matt Jordan Review:
  11760. https://reviewboard.asterisk.org/r/2657/
  11761. 2013-07-15 22:05 +0000 [r394402] Mark Michelson <mmichelson@digium.com>
  11762. * include/asterisk/stasis_channels.h: Remove misleading
  11763. documentation for channel snapshot creation.
  11764. 2013-07-15 21:22 +0000 [r394397] David M. Lee <dlee@digium.com>
  11765. * res/res_stasis_http.c: Document the ari.conf allowed_origins
  11766. setting
  11767. 2013-07-15 13:43 +0000 [r394370] Joshua Colp <jcolp@digium.com>
  11768. * res/res_sip_session.c, include/asterisk/res_sip_session.h: Remove
  11769. some callbacks and functions which are not needed.
  11770. 2013-07-14 02:41 +0000 [r394278-394346] Matthew Jordan <mjordan@digium.com>
  11771. * /, apps/app_queue.c: Provide error message for QUEUE_MEMBER when
  11772. member is not in queue When QUEUE_MEMBER is used and the member
  11773. specified is not in the queue, Asterisk provides an ERROR message
  11774. that indicates that the option specified is not valid. This patch
  11775. now properly displays an ERROR message that the member is not in
  11776. the queue if an interface is specified. (closes issue
  11777. ASTERISK-21980) Reported by: Avraam David ........ Merged
  11778. revisions 394345 from
  11779. http://svn.asterisk.org/svn/asterisk/branches/11
  11780. * main/dns.c: Remove redundant code in dns.c Peter J Philipp
  11781. pointed out that there are two checks that ensure that len is not
  11782. less than 0. If len is less than 0, the function returns. Having
  11783. both of them is clearly redundant. This removes the second and
  11784. attempts to clarify (slightly) the error condition. (closes issue
  11785. ASTERISK-21772) Reported by: Peter J Philipp
  11786. * /, funcs/func_strings.c: Clarify documentation for function
  11787. PASSTHRU It is not apparent to the average user that the PASSTHRU
  11788. function should not be passed as ${PASSTHRU(string)} but just as
  11789. PASSTHRU(string) to functions which take a variable name and not
  11790. its contents. This patch clarifies the behavior in the
  11791. documentation and provides an example. (closes issue
  11792. ASTERISK-21717) Reported by: Richard Miller patches:
  11793. func_strings.diff uploaded by Richard Miller (license 5685)
  11794. ........ Merged revisions 394302 from
  11795. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  11796. revisions 394303 from
  11797. http://svn.asterisk.org/svn/asterisk/branches/11
  11798. * main/bridging.c, main/cdr.c: Fix FRACK message from external
  11799. redirects; handle outbound channels better This patch does the
  11800. following: * It simplifies the Dial handling in CDRs. As a rule,
  11801. the caller in a dial relationship is always the Party A. There
  11802. was some logic present in the handling of the dial message that
  11803. could, conceivably, pick the caller as Party A for the beginning
  11804. of the dial and the peer as Party A for the end of the dial. This
  11805. shouldn't have happened if the code in the bridging framework was
  11806. doing its job; however, that was broken and it led to the FRACK.
  11807. As it is, this code was overly ocmplex and not needed: the
  11808. caller, if present, should always be Party A. Period. * It
  11809. properly checks to see if a channel will continue on in the
  11810. dialplan. ast_check_hangup - much like cake at the end - is a
  11811. lie. It will tell you that you are hungup when you are not. Do
  11812. not believe it. I would make this function tell the truth, but
  11813. I'm nervous that we've been depending on it sitting on its throne
  11814. of lies for far too long, and it would probably break lots of
  11815. things. So I'm just checking the "internal" soft hangup flags,
  11816. like everyone else. (closes issue ASTERISK-22060) Reported by:
  11817. Mark Michelson (issue ASTERISK-21831) Reported by: Matt Jordan
  11818. * channels/chan_sip.c: Pretty up a debug message if the
  11819. referred-by-uri isn't available Instead of formatting a NULL
  11820. pointer into a "%s" format string (which is usually not a good
  11821. thing to do), we instead print "Unknown".
  11822. 2013-07-12 22:35 +0000 [r394263] Moises Silva <moises.silva@gmail.com>
  11823. * channels/chan_dahdi.c, /: Fix a longstanding issue with MFC-R2
  11824. configuration that prevented users from mixing different variants
  11825. or general MFC-R2 settings within the same E1 line. Most users do
  11826. not have a problem with this since MFC-R2 lines are usually
  11827. fractional E1s, or the whole E1 has the same country variant and
  11828. R2 settings. In Venezuela however is common to have inbound
  11829. MFC-R2 and outbound DTMF-R2 within the same E1. This fix now
  11830. properly parses the chan_dahdi.conf file to generate a new openr2
  11831. context every time a new channel => section is found and the
  11832. configuration was changed. (closes issue ASTERISK-21117) Reported
  11833. by: Rafael Angulo Related Elastix issue:
  11834. http://bugs.elastix.org/view.php?id=1612 ........ Merged
  11835. revisions 394106 from
  11836. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  11837. revisions 394173 from
  11838. http://svn.asterisk.org/svn/asterisk/branches/11
  11839. 2013-07-12 21:42 +0000 [r394249] Joshua Colp <jcolp@digium.com>
  11840. * main/channel.c, main/channel_internal_api.c,
  11841. include/asterisk/channel.h, main/bridging.c: Add support to the
  11842. bridging core for performing COLP updates when channels join a 2
  11843. party bridge. (closes issue ASTERISK-21829) Review:
  11844. https://reviewboard.asterisk.org/r/2636/
  11845. 2013-07-12 21:01 +0000 [r394232] Mark Michelson <mmichelson@digium.com>
  11846. * main/bridging_basic.c: Prevent potential race condition in
  11847. multiparty basic bridges. For more details about the race
  11848. condition see the linked review at the bottom of this commit
  11849. (closes issue ASTERISK-21882) Reported by Matt Jordan Review:
  11850. https://reviewboard.asterisk.org/r/2663
  11851. 2013-07-12 19:35 +0000 [r394216] Jason Parker <jparker@digium.com>
  11852. * channels/chan_skinny.c: Fix a compiler warning.
  11853. 2013-07-12 18:23 +0000 [r394203] David M. Lee <dlee@digium.com>
  11854. * tests/test_json.c: Fixed intermittent crash when loading
  11855. test_json.so The JSON test attempted an overly clever use of
  11856. RAII_VAR to run code at the beginning and end of each test, in
  11857. order to validate that no JSON objects were leaked during the
  11858. test. The problem is that the validation code would run during
  11859. the initial load, when the tests were initialized. This happens
  11860. during startup, when other parts of the system might actively be
  11861. allocating and freeing JSON objects. This patch changes the
  11862. RAII_VAR to use the new ast_test_register_{init,cleanup}
  11863. functions to run the validations properly. (closes issue
  11864. ASTERISK-21978) Review: https://reviewboard.asterisk.org/r/2669/
  11865. 2013-07-12 17:52 +0000 [r394189] Jason Parker <jparker@digium.com>
  11866. * res/stasis_http/internal.h, res/stasis_http/config.c,
  11867. res/stasis_http/cli.c, res/res_stasis_http.c: ARI: Add support
  11868. for Cross-Origin Resource Sharing (CORS), origin headers This
  11869. rejects requests from any unknown origins. (closes issue
  11870. ASTERISK-21278) Review: https://reviewboard.asterisk.org/r/2667/
  11871. 2013-07-11 21:01 +0000 [r394158] Richard Mudgett <rmudgett@digium.com>
  11872. * include/asterisk/bridging_technology.h: Fix bridge tech write
  11873. callback parameter name.
  11874. 2013-07-11 20:59 +0000 [r394156] David M. Lee <dlee@digium.com>
  11875. * channels/chan_skinny.c: Fixed chan_skinny for systems were
  11876. pthread_t isn't an int. I'm looking at you, OS X.
  11877. 2013-07-11 20:17 +0000 [r394147] Damien Wedhorn <voip@facts.com.au>
  11878. * channels/chan_skinny.c: Refactor and cleanup of skinny session
  11879. handling. Major changes are to pull all packet reading functions
  11880. into skinny_session and move timeout handling to scheduling
  11881. arrangements. Thread cancelling is now undertaken directly rather
  11882. than waiting for the read to timeout (cleanup is popped on thread
  11883. cancel). Also added some keepalive timings in debugging messages.
  11884. Keepalive timeout has been increased from 1.1 by keepalive to 3
  11885. times keepalive. This seems to align (after keepalives stabilise)
  11886. with when devices reset after not receiving keepalives. Probably
  11887. needs more work, especially around the first and/or second
  11888. keepalives that vary significantly by device and firmware
  11889. version. Review: https://reviewboard.asterisk.org/r/2611/
  11890. 2013-07-11 16:23 +0000 [r394103] Joshua Colp <jcolp@digium.com>
  11891. * res/res_sip_exten_state.c: Tweak the subscription failure warning
  11892. message to include endpoint name and context.
  11893. 2013-07-11 15:37 +0000 [r394037-394089] David M. Lee <dlee@digium.com>
  11894. * tests/test_cel.c: Correct test_cel cleanup. When I corrected the
  11895. CEL test crash in r394037, I didn't quite pay attention to how
  11896. the globals and locals were being shuffled around in the cleanup
  11897. callback. I removed the nulling of the global variables, which
  11898. caused them to be double cleaned. This patch puts the global
  11899. nulling code back (since the vars are cleaned up by RAII_VARs),
  11900. and removes the explicit ao2_cleanup() (since they were no-ops,
  11901. because the variables had just been nulled).
  11902. * res/stasis_http/config.c, configs/ari.conf.sample,
  11903. res/res_stasis_http.c: Change ARI user config to use a type field
  11904. When I initially wrote the configuration support for ARI users, I
  11905. determined the section type by a category prefix (i.e.,
  11906. [user-admin]). This is neither idiomatic Asterisk configuration,
  11907. nor is it really that user friendly. This patch replaces the
  11908. category prefix with a type field in the section, which is much
  11909. cleaner. Review: https://reviewboard.asterisk.org/r/2664/
  11910. * res/stasis_http/config.c: Apply defaults to ari.conf's general
  11911. section
  11912. * tests/test_voicemail_api.c: test_voicemail_api: fix warning found
  11913. by gcc-4.8 The voicemail_api test had code like strncmp(a, b,
  11914. sizeof(a)), but a was a char pointer, instead of a literal or
  11915. char array. This meant that sizeof was the size of the pointer,
  11916. not the length of the string. Since the string is in a
  11917. stringfield and should be null terminated, I just changed it to a
  11918. plain strcmp.
  11919. * tests/test_cel.c: Fixed some CEL test crashes
  11920. 2013-07-10 22:26 +0000 [r394024] Kevin Harwell <kharwell@digium.com>
  11921. * contrib/scripts/sip_to_res_sip (added),
  11922. contrib/scripts/sip_to_res_sip/astconfigparser.py (added),
  11923. contrib/scripts/sip_to_res_sip/astdicts.py (added),
  11924. contrib/scripts/sip_to_res_sip/sip_to_res_sip.py (added): PSJIP -
  11925. sip.conf to res_sip.conf script ** This script is in no way
  11926. finished. Started the initial "cut" at converting a sip.conf file
  11927. to a res_sip.conf file. Hopefully the bulk of the framework is in
  11928. place and only a few minor adjustments need to be made when an
  11929. option mapping is added that "doesn't fit". This script and
  11930. supporting files should be executable against python version 2.5.
  11931. An OrderedDict class (backported from a newer version of python)
  11932. is included. A MultiOrderedDict class is implemented so options,
  11933. when added, should be able to be added in order and allowed to
  11934. have multiple values. Currently the scripts supports the majority
  11935. of endpoint options found in res_sip.conf. Support has also been
  11936. added for Aor(s) and the ACL/security sections. Inside the
  11937. sip_to_res_sip.py file one can see a list of options that still
  11938. need to be mapped. Also items that still need to be done:
  11939. templates, includes, parsing '=>' delimiter. Note that some code
  11940. is hopefully in place already to support templates (e.g.
  11941. lookup/retrieving defaults from them). However, the parsing of
  11942. and adding of the section needs to be done.
  11943. 2013-07-10 20:02 +0000 [r394004] Joshua Colp <jcolp@digium.com>
  11944. * res/res_sip_outbound_registration.c: Handle outbound registration
  11945. failures that do not occur as a result of a real response.
  11946. (closes issue ASTERISK-22064) Reported by: Rusty Newton
  11947. 2013-07-10 17:13 +0000 [r393968-393987] David M. Lee <dlee@digium.com>
  11948. * res/res_stasis_http_channels.c, rest-api/api-docs/channels.json:
  11949. Document the 400 error response for originate
  11950. * res/res_stasis_http_asterisk.c, rest-api/api-docs/asterisk.json,
  11951. res/stasis_http/ari_model_validators.c,
  11952. res/res_stasis_http_channels.c, rest-api/api-docs/channels.json,
  11953. res/stasis_http/ari_model_validators.h: Corrected api-docs for
  11954. channel variables
  11955. 2013-07-10 01:56 +0000 [r393930] Russell Bryant <russell@russellbryant.com>
  11956. * configs/sla.conf.sample, /, apps/app_meetme.c: astobj2-ify the
  11957. SLA code The SLA code within app_meetme was written before
  11958. asotbj2 had been merged into Asterisk. Worse, support for reloads
  11959. did not exist at first and was added later as a bolt-on feature.
  11960. I knew at the time that reloading was not safe at all while SLA
  11961. was in use, so the reload would be queued up to execute when the
  11962. system was idle. Unfortunately, this approach was still prone to
  11963. errors beyond the fact that this was the only place in Asterisk
  11964. where configuration was not reloaded instantly when requested.
  11965. This patch converts various SLA objects to be reference counted
  11966. objects using astobj2. This allows reloads to be processed while
  11967. the system is in use. The code ensures that the objects will not
  11968. disappear while one of the other threads is using them. However,
  11969. they will be immediately removed from the global trunk and
  11970. station containers so no new calls will use them if removed from
  11971. configuration. Review: https://reviewboard.asterisk.org/r/2581/
  11972. ........ Merged revisions 393928 from
  11973. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  11974. revisions 393929 from
  11975. http://svn.asterisk.org/svn/asterisk/branches/11
  11976. 2013-07-09 21:40 +0000 [r393919] Jason Parker <jparker@digium.com>
  11977. * include/asterisk/lock.h: Make SCOPED_LOCK use RAII_VAR. This
  11978. fixes an issue with requiring SCOPED_LOCK to be the last variable
  11979. declaration and removes duplicate code in the process. Review:
  11980. https://reviewboard.asterisk.org/r/2665/
  11981. 2013-07-09 21:06 +0000 [r393910] Richard Mudgett <rmudgett@digium.com>
  11982. * main/xmldoc.c: Fix printf NULL string (null) substituion for NULL
  11983. config framework default.
  11984. 2013-07-09 20:07 +0000 [r393897] Mark Michelson <mmichelson@digium.com>
  11985. * channels/chan_gulp.c: Use correct function for getting bridged
  11986. peer when doing direct media checks. (closes issue
  11987. ASTERISK-21947) reported by Matt Jordan
  11988. 2013-07-09 19:38 +0000 [r393896] Richard Mudgett <rmudgett@digium.com>
  11989. * include/asterisk/manager.h, include/asterisk/stasis_channels.h:
  11990. Fix some stasis doxygen comments.
  11991. 2013-07-09 11:05 +0000 [r393857-393870] Joshua Colp <jcolp@digium.com>
  11992. * res/res_sip_outbound_registration.c: Ensure all pjsip_regc_*
  11993. access occurs within a pjlib thread. (closes issue
  11994. ASTERISK-22054) Reported by: Rusty Newton
  11995. * res/res_sip/config_auth.c: Tweak log message slightly.
  11996. * res/res_sip/config_auth.c: Treat the authentication object as
  11997. invalid if digest configuration is chosen and the digest is not
  11998. of the correct length. (closes issue ASTERISK-22003) Reported by:
  11999. Rusty Newton
  12000. 2013-07-08 20:31 +0000 [r393834-393843] David M. Lee <dlee@digium.com>
  12001. * res/res_stasis_recording.c: Oh menuconfig, why do you hate
  12002. margins?
  12003. * res/stasis_http/ari_websockets.c: Better structure for the
  12004. WebSocket validation failure message
  12005. 2013-07-08 19:53 +0000 [r393831-393833] Joshua Colp <jcolp@digium.com>
  12006. * res/res_sip/config_transport.c: Ensure that a valid bind host is
  12007. specified for transports. (closes issue ASTERISK-22017) Reported
  12008. by: Rusty Newton
  12009. * main/channel_internal_api.c, res/res_agi.c,
  12010. main/manager_bridging.c, include/asterisk/channel.h,
  12011. main/stasis_channels.c, main/bridging.c, main/manager_channels.c,
  12012. main/cli.c, main/channel.c, build_tools/cflags-devmode.xml,
  12013. main/pbx.c, include/asterisk/stasis_channels.h, main/manager.c:
  12014. Refactor operations to access the stasis cache instead of objects
  12015. directly when retrieving information. (closes issue
  12016. ASTERISK-21883) Review: https://reviewboard.asterisk.org/r/2645/
  12017. 2013-07-08 16:04 +0000 [r393816] David M. Lee <dlee@digium.com>
  12018. * res/res_stasis_http.c: res_stasis_http doesn't depend on
  12019. res_stasis any more
  12020. 2013-07-08 15:59 +0000 [r393815] Jonathan Rose <jrose@digium.com>
  12021. * res/parking/parking_controller.c, main/bridging.c,
  12022. res/parking/parking_bridge.c, res/parking/res_parking.h:
  12023. res_parking: Apply ringing role option on swap with a channel
  12024. that rings (closes issue ASTERISK-21877) Reported by: Matt Jordan
  12025. Review: https://reviewboard.asterisk.org/r/2656/
  12026. 2013-07-08 15:11 +0000 [r393807] Joshua Colp <jcolp@digium.com>
  12027. * res/stasis/control.c: Fix building.
  12028. 2013-07-08 14:46 +0000 [r393804-393806] Jason Parker <jparker@digium.com>
  12029. * res/res_stasis_http_asterisk.c, res/stasis/control.c,
  12030. res/stasis_http/resource_asterisk.h,
  12031. rest-api/api-docs/asterisk.json,
  12032. res/stasis_http/resource_channels.c,
  12033. res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
  12034. res/stasis_http/resource_channels.h,
  12035. rest-api/api-docs/channels.json,
  12036. res/stasis_http/resource_asterisk.c: ARI: Add support for
  12037. getting/setting channel and global variables. This allows for
  12038. reading and writing of functions on channels. (closes issue
  12039. ASTERISK-21868) Review: https://reviewboard.asterisk.org/r/2641/
  12040. * main/manager_system.c (added), res/res_stun_monitor.c,
  12041. main/file.c, main/sounds_index.c,
  12042. include/asterisk/stasis_system.h (added), channels/chan_iax2.c,
  12043. include/asterisk/manager.h, main/asterisk.c, include/asterisk.h,
  12044. main/stasis_system.c (added), main/manager.c,
  12045. channels/chan_sip.c: Move channel driver Registry manager events
  12046. to core. This also shuffles the stasis system topic and related
  12047. handling. (closes issue ASTERISK-21488) Review:
  12048. https://reviewboard.asterisk.org/r/2631/
  12049. 2013-07-08 14:26 +0000 [r393801] Matthew Jordan <mjordan@digium.com>
  12050. * include/asterisk/core_local.h, include/asterisk/bridging.h,
  12051. main/core_unreal.c, main/core_local.c, CHANGES, main/bridging.c,
  12052. include/asterisk/core_unreal.h: Create Local channel messages on
  12053. the Stasis message bus and produce AMI events This patch does the
  12054. following: * It adds a virtual table of callbacks to core_unreal.
  12055. These callbacks can be supplied by concrete implementations of
  12056. "unreal" channel drivers, which lets the unreal channel driver
  12057. call specific functionality when it performs some action.
  12058. Currently, this is done to notify implementations when an
  12059. optimization operation has begun, and when an optimization
  12060. operation has succeeded. * It adds Stasis-Core messages for Local
  12061. channel bridging and Local channel optimization. Local channel
  12062. optimization is now two events: a Begin and an End. Some
  12063. consumers of Stasis-Core may want to know when an operation is
  12064. beginning so that they can 'prepare' their information; others
  12065. will be more concerned about when the operation has completed, so
  12066. that they can 'fix up' information. Stasis-Core allows for both,
  12067. as does AMI. Review: https://reviewboard.asterisk.org/r/2552
  12068. 2013-07-08 13:57 +0000 [r393793] Mark Michelson <mmichelson@digium.com>
  12069. * res/res_sip_caller_id.c: Fix some broken logic in sending
  12070. outbound caller ID. * trust_id_outbound was required even when
  12071. the caller ID was not marked private. This is against intentions
  12072. and documentation. * We now check both name and number privacy
  12073. instead of checking name privacy twice.
  12074. 2013-07-07 21:29 +0000 [r393777-393785] Matthew Jordan <mjordan@digium.com>
  12075. * main/channel.c: In a channel destructor dispose of items that
  12076. raise Stasis message properly This patch reorders certain actions
  12077. that may raise Stasis messages in the channel destructor such
  12078. that they occur before the Stasis cache is cleared. Once the
  12079. Stasis cache is cleared, its rather a bad idea to be trying to
  12080. publish information about a channel. (closes issue
  12081. ASTERISK-22001) Reported by: Jonathan Rose
  12082. * main/cdr.c, main/channel.c, main/pbx.c,
  12083. include/asterisk/stasis_channels.h, main/channel_internal_api.c,
  12084. include/asterisk/cdr.h, include/asterisk/channel.h,
  12085. main/stasis_channels.c, CHANGES, main/cel.c,
  12086. main/manager_channels.c: Handle hangup logic in the Stasis
  12087. message bus and consumers of Stasis messages This patch does the
  12088. following: * It adds a new soft hangup flag
  12089. AST_SOFTHANGUP_HANGUP_EXEC that is set when a channel is
  12090. executing dialplan hangup logic, i.e., the 'h' extension or a
  12091. hangup handler. Stasis messages now also convey the soft hangup
  12092. flag so consumers of the messages can know when a channel is
  12093. executing said hangup logic. * It adds a new channel flag,
  12094. AST_FLAG_DEAD, which is set when a channel is well and truly
  12095. dead. Not just a zombie, but dead, Jim. Manager, CEL, CDRs, and
  12096. other consumers of Stasis have been updated to look for this flag
  12097. to know when the channel should by lying six feet under. * The
  12098. CDR engine has been updated to better handle a channel entering
  12099. and leaving a bridge. Previously, a new CDR was automatically
  12100. created when a channel left a bridge and put into the 'Pending'
  12101. state; however, this way of handling CDRs made it difficult for
  12102. the 'endbeforehexten' logic to work correctly - there was always
  12103. a new CDR waiting in the hangup logic and, even if 'ended',
  12104. wouldn't be the CDR people wanted to inspect in the hangup
  12105. routine. This patch completely removes the Pending state and
  12106. instead defers creation of the new CDR until it gets a new
  12107. message that requires a new CDR.
  12108. 2013-07-05 22:08 +0000 [r393749-393768] David M. Lee <dlee@digium.com>
  12109. * res/res_stasis_http.c: ARI: return a 503 if Asterisk isn't fully
  12110. booted
  12111. * res/stasis_http/ari_websockets.c: Print error details when set
  12112. nonblock fails
  12113. * res/stasis_http/ari_model_validators.c,
  12114. res/stasis_http/ari_model_validators.h,
  12115. res/stasis_http/resource_events.c, res/res_stasis_http_events.c,
  12116. rest-api/api-docs/events.json: Document MissingParams error
  12117. message for /ari/events
  12118. 2013-07-05 17:33 +0000 [r393740] Matthew Jordan <mjordan@digium.com>
  12119. * include/asterisk/cdr.h, include/asterisk/channel.h,
  12120. channels/chan_gtalk.c, include/asterisk/json.h,
  12121. channels/chan_gulp.c, channels/chan_jingle.c, main/json.c,
  12122. main/manager.c, channels/chan_skinny.c, channels/chan_motif.c,
  12123. channels/chan_h323.c, include/asterisk/rtp_engine.h,
  12124. main/asterisk.c, channels/chan_mgcp.c, channels/chan_unistim.c,
  12125. res/res_rtp_asterisk.c, channels/chan_multicast_rtp.c,
  12126. main/rtp_engine.c, channels/chan_sip.c: Refactor RTCP events over
  12127. to Stasis; associate with channels This patch does the following:
  12128. * It merges Jaco Kroon's patch from ASTERISK-20754, which
  12129. provides channel information in the RTCP events. Because Stasis
  12130. provides a cache, Jaco's patch was modified to pass the channel
  12131. uniqueid to the RTP layer as opposed to a pointer to the channel.
  12132. This has the following benefits: (1) It keeps the RTP engine
  12133. 'clean' of references back to channels (2) It prevents circular
  12134. dependencies and other potential ref counting issues * The RTP
  12135. engine now allows any RTP implementation to raise RTCP messages.
  12136. Potentially, other implementations (such as res_rtp_multicast)
  12137. could also raise RTCP information. The engine provides structs to
  12138. represent RTCP headers and RTCP SR/RR reports. * Some general
  12139. refactoring in res_rtp_asterisk was done to try and tame the RTCP
  12140. code. It isn't perfect - that's *way* beyond the scope of this
  12141. work - but it does feel marginally better. * A few random bugs
  12142. were fixed in the RTCP statistics. (Example: performing an
  12143. assignment of a = a is probably not correct) * We now raise RTCP
  12144. events for each SR/RR sent/received. Previously we wouldn't raise
  12145. an event when we sent a RR report. Note that this work will be of
  12146. use to others who want to monitor call quality or build modules
  12147. that report call quality statistics. Since the events are now
  12148. moving across the Stasis message bus, this is far easier to
  12149. accomplish. It is also a first step (though by no means the last
  12150. step) towards getting Olle's pinefrog work incorporated. Again:
  12151. note that the patch by Jaco Kroon was modified slightly for this
  12152. work; however, he did all of the hard work in finding the right
  12153. places to set the channel in the RTP engine across the channel
  12154. drivers. Much thanks goes to Jaco for his hard work here. Review:
  12155. https://reviewboard.asterisk.org/r/2603/ (closes issue
  12156. ASTERISK-20574) Reported by: Jaco Kroon patches:
  12157. asterisk-rtcp-channel.patch uploaded by jkroon (License 5671)
  12158. (closes issue ASTERISK-21471) Reported by: Matt Jordan
  12159. 2013-07-05 14:54 +0000 [r393729] Richard Mudgett <rmudgett@digium.com>
  12160. * main/bridging.c: OneTouchRecord: Add function defined earlier:
  12161. ast_bridge_features_do()
  12162. 2013-07-05 03:08 +0000 [r393716] Matthew Jordan <mjordan@digium.com>
  12163. * main/stasis_channels.c, include/asterisk/stasis_channels.h:
  12164. Remove parkinglot from the channel snapshot Legacy channel
  12165. drivers often include the ability to set a default parking lot on
  12166. an endpoint basis; when channels are created for that endpoint,
  12167. they inherit the parkinglot option. Parking used to use this
  12168. option more frequently; while it is still supported, other
  12169. options (such as using channel variables or creation of a custom
  12170. parkinglot) are supported. More importantly, conveying the
  12171. parkinglot information through a channel snapshot isn't terribly
  12172. useful - it is rarely (if ever) changed on a channel and some
  12173. consumers of channel snapshots, such as ARI, will never use the
  12174. information. (closes issue ASTERISK-21968) Reported by: Matt
  12175. Jordan
  12176. 2013-07-04 18:46 +0000 [r393704] Jonathan Rose <jrose@digium.com>
  12177. * res/parking/parking_ui.c, main/parking.c,
  12178. res/parking/parking_controller.c, UPGRADE.txt,
  12179. res/parking/parking_applications.c, include/asterisk/channel.h,
  12180. main/cel.c, CHANGES, res/parking/parking_bridge_features.c,
  12181. res/parking/parking_bridge.c, main/channel.c,
  12182. res/parking/res_parking.h, bridges/bridge_builtin_features.c,
  12183. main/features.c, include/asterisk/parking.h, main/bridging.c,
  12184. res/parking/parking_manager.c: res_parking: Replace Parker
  12185. snapshots with ParkerDialString This process also involved a
  12186. large amount of rework regarding how to redial the Parker when a
  12187. channel leaves a parking lot due to timeout. An attended transfer
  12188. channel variable has been added to attended transfers to
  12189. extensions that will eventually park (but haven't at the time of
  12190. transfer) as well. This resolves one of the two BUGBUG comments
  12191. remaining in res_parking. (issues ASTERISK-21877) Reported by:
  12192. Matt Jordan Review: https://reviewboard.asterisk.org/r/2638/
  12193. 2013-07-04 13:37 +0000 [r393675-393687] David M. Lee <dlee@digium.com>
  12194. * res/res_ari_model.c: Fix int width problem for 32-bit... again
  12195. * tests/test_ari_model.c: Fix int width problem for 32-bit
  12196. * main/utils.c, main/crypt.c (added), main/Makefile: Fix utils
  12197. directory breakage.
  12198. 2013-07-03 23:59 +0000 [r393600-393633] Richard Mudgett <rmudgett@digium.com>
  12199. * main/config_options.c: Add BUGBUG note for ASTERISK-22009
  12200. * channels/chan_agent.c (added), configs/queues.conf.sample,
  12201. include/asterisk/bridging.h, UPGRADE.txt, main/config_options.c,
  12202. main/stasis_channels.c, CHANGES, main/bridging.c,
  12203. apps/app_agent_pool.c (removed), configs/agents.conf.sample,
  12204. include/asterisk/config_options.h,
  12205. include/asterisk/stasis_channels.h: Revert accidental overcommit.
  12206. * channels/chan_agent.c (removed), configs/queues.conf.sample,
  12207. include/asterisk/bridging.h, UPGRADE.txt, main/config_options.c,
  12208. main/stasis_channels.c, CHANGES, main/bridging.c,
  12209. apps/app_agent_pool.c (added), configs/agents.conf.sample,
  12210. include/asterisk/config_options.h,
  12211. include/asterisk/stasis_channels.h: Add BUGBUG note for
  12212. ASTERISK-22009
  12213. * channels/chan_dahdi.c, /: chan_dahdi: Fix segfault reloading
  12214. chan_dahdi when round robin is used. * Clear round_robin[] in
  12215. dahdi_restart(). (closes issue ASTERISK-21847) Reported by: Ivo
  12216. Andonov Patches: jira_asterisk_21847_v1.8.patch (license #5621)
  12217. patch uploaded by rmudgett ........ Merged revisions 393627 from
  12218. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  12219. revisions 393628 from
  12220. http://svn.asterisk.org/svn/asterisk/branches/11
  12221. * bridges/bridge_builtin_features.c,
  12222. include/asterisk/bridging_features.h: OneTouchRecord: Make so
  12223. Monitor/MixMonitor can be toggled/started/stopped. The
  12224. OneTouchRecord feature has historically been a toggle. This patch
  12225. adds the ability to make the OneTouchRecord hook optionally
  12226. start/stop recording only. If OneTouchRecord is already doing
  12227. what is requested then only the invoker hears the courtesy tone
  12228. and/or start/stop recording message. The new feature is written
  12229. so we could easily add explicit start/stop recording DTMF hooks
  12230. for Monitor and MixMonitor. The majority of the changes in
  12231. bridge_builtin_features.c is a refactoring of the OneTouchRecord
  12232. code (Monitor and MixMonitor versions) so it is easy to direct
  12233. the toggle/start/stop functionality. Review:
  12234. https://reviewboard.asterisk.org/r/2655/
  12235. * main/bridging.c: Move when bridge channel enter is published so
  12236. it does not interrupt the thought of some lines of code.
  12237. * main/stasis_config.c: Fix some indentation in stasis_config.c.
  12238. 2013-07-03 22:04 +0000 [r393589-393599] Matthew Jordan <mjordan@digium.com>
  12239. * main/cdr.c: Fix some bugs in CDRs; add some CLI commands to help
  12240. debugging This patch fixes a few minor bugs and one major one:
  12241. the CDR by bridge container was less than helpful. The mechanism
  12242. previously used to try and find all of the CDRs in a particular
  12243. bridge ended up missing CDRs, resulting in incorrect records.
  12244. When looking up CDRs in a bridge, we now just bite the bullet and
  12245. do a selection across all existing CDRs.
  12246. * main/stasis_config.c: Let Stasis load itself with default values
  12247. While a Stasis configuration file is nice, it shouldn't be
  12248. mandatory. We can carry on with default values.
  12249. 2013-07-03 20:41 +0000 [r393586] Mark Michelson <mmichelson@digium.com>
  12250. * main/bridging.c: Publish a bridge enter before pulling on a
  12251. push-and-swap operation. Prior to this patch, the order of
  12252. procedures on a bridge push was * Add new bridge channel to
  12253. bridge's array. * Pull the swap channel out of the bridge *
  12254. Publish a bridge enter event. The problem is that when the swap
  12255. channel was pulled from the bridge, a bridge leave event would be
  12256. published. The bridge snapshot published during the bridge leave
  12257. showed the new channel that had been added to the bridge, but
  12258. there had been no bridge enter event for that channel. The fix
  12259. provided here was to change the order a bit * Add new bridge
  12260. channel to bridge's array. * Publish bridge enter event. * Pull
  12261. the swap channel out of the bridge. This makes it so that the
  12262. bridge snapshots during the stasis events are accurate.
  12263. 2013-07-03 19:46 +0000 [r393528-393576] David M. Lee <dlee@digium.com>
  12264. * res/res_stasis_http_bridges.c, res/res_stasis_http_recordings.c,
  12265. res/stasis_http/ari_model_validators.h,
  12266. res/res_stasis_http_endpoints.c, res/res_stasis_http_events.c,
  12267. rest-api-templates/ari_model_validators.c.mustache,
  12268. rest-api-templates/res_stasis_http_resource.c.mustache,
  12269. rest-api-templates/ari_model_validators.h.mustache,
  12270. res/stasis_http/ari_model_validators.c,
  12271. res/res_stasis_http_channels.c, res/res_stasis_http_sounds.c: Fix
  12272. load errors related to the new ari_model_validators. The Asterisk
  12273. strategy of loading modules with RTLD_LAZY to extract metadata
  12274. from the module works well enough, until you try to take the
  12275. address of a function. If a module takes the address of a
  12276. function, that function needs to be resolved at load time. That
  12277. kinda defeats RTLD_LAZY. This patch adds some
  12278. ari_validator_{id}_fn() wrapper functions for safely getting the
  12279. function pointer from a different module.
  12280. * res/res_ari_model.c: Violating the margins to make menuconfig
  12281. happy
  12282. * res/res_stasis_recording.exports.in (added), Makefile,
  12283. include/asterisk/file.h, include/asterisk/paths.h,
  12284. main/channel.c, include/asterisk/app.h,
  12285. res/stasis_http/resource_channels.c, tests/test_utils.c,
  12286. apps/app_minivm.c, main/file.c,
  12287. res/stasis_http/resource_recordings.c, main/app.c,
  12288. res/res_stasis_recording.c (added),
  12289. rest-api-templates/swagger_model.py,
  12290. rest-api/api-docs/channels.json,
  12291. res/stasis_http/resource_channels.h,
  12292. res/res_stasis_http_bridges.c, rest-api/api-docs/recordings.json,
  12293. res/stasis_http/resource_recordings.h, main/asterisk.c,
  12294. rest-api-templates/asterisk_processor.py, apps/app_voicemail.c,
  12295. include/asterisk/utils.h, res/res_stasis_playback.c,
  12296. include/asterisk/stasis_app_recording.h (added),
  12297. res/res_stasis_http_channels.c, main/utils.c,
  12298. include/asterisk/channel.h, res/res_stasis_http_recordings.c: ARI
  12299. - channel recording support This patch is the first step in
  12300. adding recording support to the Asterisk REST Interface.
  12301. Recordings are stored in /var/spool/recording. Since recordings
  12302. may be destructive (overwriting existing files), the API rejects
  12303. attempts to escape the recording directory (avoiding issues if
  12304. someone attempts to record to ../../lib/sounds/greeting, for
  12305. example). (closes issue ASTERISK-21594) (closes issue
  12306. ASTERISK-21581) Review: https://reviewboard.asterisk.org/r/2612/
  12307. * include/asterisk/stasis.h, configs/stasis_core.conf.sample
  12308. (removed), main/asterisk.c, main/stasis.c, main/stasis_config.c
  12309. (added), configs/stasis.conf.sample (added): Configuration for
  12310. Stasis threadpool The appropriate settings for the Stasis
  12311. threadpool is very system specific, depending upon both workload
  12312. and system configuration. This patch adds a stasis.conf file
  12313. which can be used to configure the key attributes of the
  12314. threadpool for the Stasis message bus. (closes issue
  12315. ASTERISK-21280) Review: https://reviewboard.asterisk.org/r/2651/
  12316. * res/stasis_http/cli.c (added), res/Makefile,
  12317. configs/ari.conf.sample (added), makeopts.in,
  12318. res/res_stasis_http.c, res/stasis_http/internal.h (added),
  12319. configs/stasis_http.conf.sample (removed), main/Makefile,
  12320. res/stasis_http/config.c (added), main/http.c, main/utils.c: No
  12321. message for rev 393530 found
  12322. * main/json.c, rest-api/api-docs/asterisk.json,
  12323. rest-api/api-docs/playback.json,
  12324. res/stasis_http/ari_websockets.c, main/stasis_channels.c,
  12325. rest-api-templates/swagger_model.py,
  12326. res/res_stasis_http_bridges.c,
  12327. rest-api-templates/res_stasis_json_resource.c.mustache (removed),
  12328. res/res_stasis_json_recordings.exports.in (removed),
  12329. rest-api/api-docs/endpoints.json, main/stasis_endpoints.c,
  12330. rest-api/api-docs/events.json, tests/test_res_stasis.c,
  12331. tests/test_stasis_channels.c, include/asterisk/stasis_http.h,
  12332. res/res_stasis_json_sounds.exports.in (removed),
  12333. res/res_ari_model.exports.in (added),
  12334. res/res_stasis_http_recordings.c,
  12335. rest-api-templates/res_stasis_json_resource.exports.mustache
  12336. (removed), rest-api/api-docs/bridges.json,
  12337. res/res_stasis_http_events.c, res/res_ari_model.c (added),
  12338. res/res_stasis_json_playback.exports.in (removed),
  12339. res/res_stasis_http_sounds.c, res/stasis_json (removed),
  12340. rest-api/api-docs/recordings.json,
  12341. rest-api-templates/ari_model_validators.c.mustache (added),
  12342. res/res_stasis_json_endpoints.exports.in (removed),
  12343. res/res_stasis_json_events.exports.in (removed),
  12344. res/res_stasis_http_asterisk.c,
  12345. rest-api-templates/res_stasis_http_resource.c.mustache,
  12346. rest-api-templates/make_ari_stubs.py (added),
  12347. res/res_stasis_json_recordings.c (removed),
  12348. rest-api-templates/api.wiki.mustache (added),
  12349. rest-api/api-docs/sounds.json, res/Makefile,
  12350. res/res_stasis_json_events.c (removed),
  12351. res/res_stasis_json_bridges.exports.in (removed),
  12352. res/res_stasis_json_sounds.c (removed),
  12353. rest-api-templates/models.wiki.mustache (added),
  12354. main/stasis_bridging.c, rest-api-templates/transform.py,
  12355. rest-api-templates/stasis_json_resource.h.mustache (removed),
  12356. res/res_stasis_json_channels.exports.in (removed),
  12357. res/res_stasis_json_asterisk.c (removed), res/res_stasis_http.c,
  12358. rest-api-templates/asterisk_processor.py,
  12359. res/res_stasis_http_playback.c,
  12360. rest-api-templates/ari_model_validators.h.mustache (added),
  12361. res/res_stasis_http_channels.c, res/res_stasis_json_endpoints.c
  12362. (removed), include/asterisk/json.h, tests/test_ari_model.c
  12363. (added), Makefile, res/res_stasis_json_asterisk.exports.in
  12364. (removed), res/res_stasis_json_bridges.c (removed),
  12365. res/stasis_http/resource_recordings.c,
  12366. rest-api/api-docs/channels.json, res/res_stasis_json_playback.c
  12367. (removed), res/res_stasis.c, doc/rest-api (added),
  12368. rest-api-templates/make_stasis_http_stubs.py (removed),
  12369. res/stasis_http/resource_recordings.h,
  12370. res/res_stasis_json_channels.c (removed),
  12371. res/stasis_http/ari_model_validators.c (added),
  12372. rest-api-templates/event_function_decl.mustache (removed),
  12373. res/stasis_http/ari_model_validators.h (added),
  12374. res/res_stasis_http_endpoints.c: No message for rev 393529 found
  12375. * res/Makefile, res/res_http_websocket.c,
  12376. res/res_stasis_http.exports.in, configure, tests/test_utils.c,
  12377. res/stasis_http/ari_websockets.c (added),
  12378. rest-api-templates/stasis_http_resource.c.mustache,
  12379. tests/test_stasis_http.c, res/stasis_http/resource_events.c,
  12380. rest-api-templates/asterisk_processor.py,
  12381. include/asterisk/utils.h, res/res_stasis_http_playback.c,
  12382. res/res_http_websocket.exports.in,
  12383. res/stasis_http/resource_events.h,
  12384. res/res_stasis_http_channels.c, include/asterisk/stasis_http.h,
  12385. configure.ac, res/res_stasis_http_recordings.c,
  12386. rest-api-templates/param_parsing.mustache (added),
  12387. res/res_stasis_http_endpoints.c, res/res_stasis_http_events.c,
  12388. include/asterisk/http.h, res/res_stasis_http_sounds.c,
  12389. rest-api-templates/swagger_model.py,
  12390. res/res_stasis_http_bridges.c, res/res_stasis_http.c,
  12391. rest-api-templates/stasis_http_resource.h.mustache,
  12392. res/res_stasis_http_asterisk.c,
  12393. rest-api-templates/res_stasis_http_resource.c.mustache,
  12394. rest-api/api-docs/events.json, res/res_stasis_websocket.c
  12395. (removed), include/asterisk/autoconfig.h.in,
  12396. rest-api-templates/rest_handler.mustache: No message for rev
  12397. 393528 found
  12398. 2013-07-02 22:01 +0000 [r393508] Jason Parker <jparker@digium.com>
  12399. * main/manager.c, CHANGES: Add a SystemName field to all AMI
  12400. events. This only gets sent out if configured in asterisk.conf
  12401. (closes issue ASTERISK-21494)
  12402. 2013-07-02 21:19 +0000 [r393485-393500] Richard Mudgett <rmudgett@digium.com>
  12403. * apps/app_mixmonitor.c: MixMonitor: Minor code cleanup.
  12404. * apps/app_mixmonitor.c: MixMonitor: Make
  12405. start_mixmonitor_callback() options parameter NULL tolerant. *
  12406. Removed some unnecessary code in start_mixmonitor_callback().
  12407. * apps/app_mixmonitor.c: MixMonitor: Don't use ast_strdupa() in a
  12408. loop.
  12409. * apps/app_mixmonitor.c: MixMonitor: Update XML documentation and
  12410. CLI "mixmonitor {start|stop|list}" help.
  12411. * apps/app_mixmonitor.c: MixMonitor: Fix refleak in
  12412. manager_stop_mixmonitor() if could not stop monitoring.
  12413. * apps/app_mixmonitor.c: MixMonitor: Remove some unnecessary
  12414. channel locking.
  12415. * apps/app_mixmonitor.c: Fix MixMonitor b option. The option had
  12416. not been converted to use the replacement for
  12417. ast_bridged_channel(). One touch mixmonitor now records files
  12418. again.
  12419. * channels/chan_gtalk.c: Fix chan_gtalk.c compile error.
  12420. 2013-07-02 20:34 +0000 [r393484] David M. Lee <dlee@digium.com>
  12421. * res/res_sip_notify.c: Add pjproject dependency to res_sip_notify
  12422. 2013-07-02 18:28 +0000 [r393463] Mark Michelson <mmichelson@digium.com>
  12423. * include/asterisk/stasis_bridging.h: Remove unused blind transfer
  12424. publication structure. I ended up using a bridge blob, so this
  12425. structure was unused. Keeping it in the header would just cause
  12426. confusion.
  12427. 2013-07-02 17:20 +0000 [r393442-393449] Kevin Harwell <kharwell@digium.com>
  12428. * main/aoc.c, main/manager.c: Stasis - Refactor AOC Events
  12429. Refactored the AMI events in AOC onto Stasis-Core. The
  12430. ast_aoc_manager_event function now publishes a channel snapshot,
  12431. along with a JSON blob describing the advice of charge. A
  12432. "to_ami" handler has also been added that converts the channel
  12433. snapshot and AOC event data back into the appropriate data
  12434. structure for use with AMI. (closes issue ASTERISK-21472)
  12435. Reported by: Matt Jordan Review:
  12436. https://reviewboard.asterisk.org/r/2643/
  12437. * res/res_sip/sip_configuration.c, include/asterisk/res_sip.h,
  12438. res/res_sip/sip_distributor.c, res/res_sip/config_auth.c,
  12439. res/res_sip.exports.in,
  12440. res/res_sip_outbound_authenticator_digest.c,
  12441. res/res_sip_authenticator_digest.c, res/res_sip/config_security.c
  12442. (added), res/res_sip_acl.c, res/res_sip.c: New SIP Channel
  12443. driver: Always Auth Reject If no matching endpoint is found for
  12444. the incoming request Asterisk will respond with a 401
  12445. Unauthorized (rejecting the request), but will first challenge if
  12446. no authorization creditials are given. Changes also included
  12447. moving ACL options into a new global 'security' configuration
  12448. section in res_sip.conf. (closes issue ASTERISK-21433) Reported
  12449. by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2554/
  12450. 2013-07-02 16:11 +0000 [r393410-393429] Kinsey Moore <kmoore@digium.com>
  12451. * main/stasis_bridging.c: Fix transfer AMI event parameter naming
  12452. * tests/test_cel.c (added), main/cel.c, include/asterisk/cel.h: Add
  12453. CEL unit tests and do some cleanup This adds several unit tests
  12454. for CEL functionality and provides the requisite framework for
  12455. creating additional unit tests. This also cleans up some
  12456. reference leaks that were occurring in Stasis-Core message
  12457. callback code. Review: https://reviewboard.asterisk.org/r/2646/
  12458. 2013-07-02 10:16 +0000 [r393396] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
  12459. * channels/chan_unistim.c, /: Fix issue with inability to cancell
  12460. call transfer made by on-sceen menus. Reported by: Igor Olhovskiy
  12461. ........ Merged revisions 393395 from
  12462. http://svn.asterisk.org/svn/asterisk/branches/11
  12463. 2013-07-02 08:23 +0000 [r393383] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
  12464. * contrib/scripts/ast_tls_cert: ast_tls_cert: don't recreate
  12465. generated files Don't regenrate cat.cfg, ca.crt and ca.key if
  12466. they were already created on a previous run. (closes issue
  12467. ASTERISK-21932)
  12468. 2013-07-01 21:28 +0000 [r393364] Kevin Harwell <kharwell@digium.com>
  12469. * res/res_sip/sip_configuration.c, include/asterisk/res_sip.h,
  12470. res/res_sip/include/res_sip_private.h, res/res_sip/sip_options.c,
  12471. res/res_sip.exports.in, res/res_sip_notify.c (added): New SIP
  12472. Channel Driver - Add CLI/AMI initiated NOTIFY requests Added the
  12473. ability to send unsolicited NOTIFY requests to a particular
  12474. endpoint with a configured payload. Added both CLI and AMI
  12475. support. For a given endpoint, this module will iterate over all
  12476. its contacts sending the appropriate NOTIFY request to each.
  12477. (closes issue ASTERISK-21436) Reported by: Matt Jordan Review:
  12478. https://reviewboard.asterisk.org/r/2623/
  12479. 2013-07-01 21:24 +0000 [r393361] Matthew Jordan <mjordan@digium.com>
  12480. * include/asterisk/pbx.h, main/pbx.c, main/manager.c: Prevent crash
  12481. during synchronous AMI origination by ref bumping returned
  12482. channel The originate APIs allow callers to provide a pointer to
  12483. a channel that will point to the originated channel if the
  12484. function call succeeds. This is used by AMI to provide channel
  12485. information when the originate is performed synchronously.
  12486. Unfortunately, if the originate fails in certain ways, the
  12487. outbound channel is already disposed of during the dialing
  12488. itself. This results in the channel being improperly dereferenced
  12489. by the internal originate function in pbx.c. This patch ref bumps
  12490. the channel to prevent this from occurring. Callers must now
  12491. unlock and unref the channel (which is more in line with general
  12492. channel management guidelines anyway). This only affects manager,
  12493. as it is the only consumer of this API function that actually
  12494. passes in a channel pointer. Review:
  12495. https://reviewboard.asterisk.org/r/2617/
  12496. 2013-07-01 18:56 +0000 [r393326-393332] Jason Parker <jparker@digium.com>
  12497. * res/stasis/control.c, res/stasis_http/resource_channels.c,
  12498. include/asterisk/stasis_app.h: ARI: Implement channel
  12499. hold/unhold. This puts the channel on hold (rather than queueing
  12500. a frame from the channel). (closes issue ASTERISK-21619) Review:
  12501. https://reviewboard.asterisk.org/r/2647/
  12502. * res/stasis_http/resource_channels.c,
  12503. res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
  12504. res/stasis_http/resource_channels.h,
  12505. rest-api/api-docs/channels.json, res/stasis/control.c: ARI:
  12506. Implement channel dial. This creates a new outbound channel, and
  12507. bridges it to a channel already in the Stasis application.
  12508. (closes issue ASTERISK-21620) Review:
  12509. https://reviewboard.asterisk.org/r/2634/
  12510. 2013-07-01 16:01 +0000 [r393309] Jonathan Rose <jrose@digium.com>
  12511. * bridges/bridge_builtin_features.c,
  12512. include/asterisk/features_config.h, include/asterisk/mixmonitor.h
  12513. (added), include/asterisk/channel.h, CHANGES,
  12514. main/features_config.c, apps/app_mixmonitor.c,
  12515. configs/features.conf.sample, main/mixmonitor.c (added):
  12516. bridge_features: Support One touch Monitor/MixMonitor In addition
  12517. to porting those features, they now enjoy greater feature parity
  12518. with one another. Specifically, AutoMixMon now has a start and
  12519. stop message that can be specified with
  12520. TOUCH_MIXMONITOR_MESSAGE_START and TOUCH_MIXMONITOR_MESSAGE_STOP.
  12521. (closes issue ASTERISK-21553) Reported by: Matt Jordan Review:
  12522. https://reviewboard.asterisk.org/r/2620/
  12523. 2013-07-01 13:16 +0000 [r393284] Kinsey Moore <kmoore@digium.com>
  12524. * channels/chan_sip.c, apps/app_meetme.c,
  12525. include/asterisk/stasis.h, main/core_local.c,
  12526. include/asterisk/json.h, channels/chan_gtalk.c,
  12527. channels/sig_pri.c, channels/chan_iax2.c, apps/app_queue.c,
  12528. CHANGES, main/json.c, channels/chan_dahdi.c,
  12529. channels/sig_analog.c, res/res_agi.c, configs/sip.conf.sample,
  12530. channels/sip/include/sip.h: Refactor extraneous channel events
  12531. This change removes JitterBufStats, ChannelReload, and
  12532. ChannelUpdate and refactors the following events to travel over
  12533. Stasis-Core: * LocalBridge * DAHDIChannel * AlarmClear *
  12534. SpanAlarmClear * Alarm * SpanAlarm * DNDState * MCID *
  12535. SIPQualifyPeerDone * SessionTimeout Review:
  12536. https://reviewboard.asterisk.org/r/2627/ (closes issue
  12537. ASTERISK-21476)
  12538. 2013-06-29 13:47 +0000 [r393262-393264] Joshua Colp <jcolp@digium.com>
  12539. * res/res_sip_pubsub.c: Nothing to see here, move along.
  12540. * res/res_sip_pubsub.c, include/asterisk/res_sip_pubsub.h,
  12541. res/res_sip_pubsub.exports.in: Implement the defined PUBLISH ESC
  12542. API within res_sip_pubsub. (closes issue ASTERISK-21452) Review:
  12543. https://reviewboard.asterisk.org/r/2630/
  12544. 2013-06-29 00:31 +0000 [r393219-393241] Richard Mudgett <rmudgett@digium.com>
  12545. * main/bridging.c, include/asterisk/bridging.h: Tweak after bridge
  12546. callback reason to string strings.
  12547. * main/bridging.c: Fix after bridge callback datastore data memory
  12548. leak.
  12549. * main/datastore.c: This is no longer needed.
  12550. * main/bridging.c: Promote local channel optimizing debug messages
  12551. to verbose 3 messages.
  12552. 2013-06-28 19:22 +0000 [r393190-393197] Jonathan Rose <jrose@digium.com>
  12553. * res/parking/parking_applications.c, CHANGES,
  12554. res/parking/parking_ui.c, res/parking/res_parking.h,
  12555. res/res_parking.c: res_parking: Dynamic Parking Lots (closes
  12556. issue ASTERISK-21644) Reported by: Matt Jordan Review:
  12557. https://reviewboard.asterisk.org/r/2615/
  12558. * main/features.c, include/asterisk/features.h: features: call
  12559. pickup stasis refactoring (issue ASTERISK-21544) Reported by:
  12560. Matt Jordan Review: https://reviewboard.asterisk.org/r/2588/
  12561. 2013-06-28 19:05 +0000 [r393184] Richard Mudgett <rmudgett@digium.com>
  12562. * include/asterisk/bridging_features.h: Fix overlapping enum
  12563. ast_bridge_feature_flags. Things may no longer behave in an
  12564. unexpected fashion. Local channel optimization to holding bridges
  12565. will work again.
  12566. 2013-06-28 18:42 +0000 [r393182] Mark Michelson <mmichelson@digium.com>
  12567. * main/manager.c, bridges/bridge_builtin_features.c,
  12568. channels/chan_sip.c, channels/chan_skinny.c,
  12569. main/stasis_bridging.c, res/res_sip_refer.c,
  12570. include/asterisk/bridging.h, main/manager_bridging.c,
  12571. channels/chan_iax2.c, include/asterisk/stasis_bridging.h,
  12572. main/bridging.c: Add stasis publications for blind and attended
  12573. transfers. This creates stasis messages that are sent during a
  12574. blind or attended transfer. The stasis messages also are
  12575. converted to AMI events. Review:
  12576. https://reviewboard.asterisk.org/r/2619 (closes issue
  12577. ASTERISK-21337) Reported by Matt Jordan
  12578. 2013-06-28 17:31 +0000 [r393164] Matthew Jordan <mjordan@digium.com>
  12579. * tests/test_cdr.c, main/cdr.c: Handle an originated channel being
  12580. sent into a non-empty bridge Originated channels are a bit odd -
  12581. they are technically a dialed channel (thus the party B or peer)
  12582. but, since there is no caller, they are treated as the party A.
  12583. When entering into a bridge that already contains participants,
  12584. the CDR engine - if the CDR record is in the Dial state -
  12585. attempts to match the person entering the bridge with an existing
  12586. participant. The idea is that if you dialed someone and the
  12587. person you dialed is already in the bridge, you don't need a new
  12588. CDR record, the existing CDR record describes the relationship.
  12589. Unfortunately, for an originated channel, there is no Party B. If
  12590. no one was in the bridge this didn't cause any issues; however,
  12591. if participants were in the bridge the CDR engine would attempt
  12592. to match a non-existant Party B on the channel's CDR record and
  12593. explode. This patch fixes that, and a unit test has been added to
  12594. cover this case.
  12595. 2013-06-28 16:23 +0000 [r393144] Jason Parker <jparker@digium.com>
  12596. * res/res_stasis_http_channels.c,
  12597. res/stasis_http/resource_channels.h,
  12598. rest-api/api-docs/channels.json,
  12599. res/stasis_http/resource_channels.c: Change ARI originate to also
  12600. allow dialing an exten/context/priority. The old way didn't make
  12601. much sense, so some of the fields were repurposed. (closes issue
  12602. ASTERISK-21658) Review: https://reviewboard.asterisk.org/r/2626/
  12603. 2013-06-28 15:50 +0000 [r393130] Matthew Jordan <mjordan@digium.com>
  12604. * include/asterisk/parking.h, main/asterisk.c, main/bridging.c,
  12605. main/cdr.c, include/asterisk/cdr.h: Better handle parking in CDRs
  12606. Parking typically occurs when a channel is transferred to a
  12607. parking extension. When this occurs, the channel never actually
  12608. hits the dialplan if the extension it was transferred to was a
  12609. "parking extension", that is, the extension in the first priority
  12610. calls the Park application. Instead, the channel is immediately
  12611. sent into the holding bridge acting as the parking bridge. This
  12612. is problematic. Because we never go out to the dialplan, the CDRs
  12613. won't transition properly and the application field will not be
  12614. set to "Park". CDRs typically swallow holding bridges, so the CDR
  12615. itself won't even be generated. This patch handles this by
  12616. pulling out the holding bridge handling into its own CDR state.
  12617. CDRs now have an explicit parking state that accounts for this
  12618. specific subclass of the holding bridge. In addition, we handle
  12619. the parking stasis message to set application specific data on
  12620. the CDR such that the last known application for the CDR properly
  12621. reflects "Park". This is a bit sad since we're working around the
  12622. odd internal implementation of parking that exists in Asterisk
  12623. (and that we had to maintain in order to continue to meet some
  12624. odd use cases of parking), but at least the code to handle that
  12625. is where it belongs: in CDRs as opposed to sprinkled liberally
  12626. throughout the codebase. This patch also properly clears the
  12627. OUTBOUND channel flag from a channel when it leaves a bridge, and
  12628. tweaks up dialing handling to properly compare the correct CDR
  12629. with the channel calling/being dialed.
  12630. 2013-06-28 15:36 +0000 [r393128] Jason Parker <jparker@digium.com>
  12631. * res/stasis_http/resource_channels.c: Change some 500 errors to
  12632. 400.
  12633. 2013-06-28 02:14 +0000 [r393083-393100] David M. Lee <dlee@digium.com>
  12634. * res/res_stasis_http.c: Removed stray apostrophe. Apparently the
  12635. pluralization of an acronym does not use an apostophe, according
  12636. to most modern style guides. I feel like I've been living a lie
  12637. this whole time.
  12638. * res/res_stasis_http.c: Removed the automatic 302 redirects for
  12639. ARI URL's that end with a slash. There were some problems
  12640. redirecting RESTful API requests; notably the client would change
  12641. the request method to GET on the redirected requests. After some
  12642. looking into, I decided that a 404 would be simpler and have more
  12643. consistent behavior.
  12644. 2013-06-27 21:01 +0000 [r393034-393066] Richard Mudgett <rmudgett@digium.com>
  12645. * main/bridging.c: Change the name of some local variables in
  12646. bridging.c to reflect what they really mean.
  12647. * main/config_options.c, include/asterisk/config_options.h: Add
  12648. config framework non-empty string validation requirement option.
  12649. Add config framework OPT_CHAR_ARRAY_T and OPT_STRINGFIELD_T
  12650. non-empty requirement option. There are cases were you don't want
  12651. a config option string to be empty. To require the option string
  12652. to be non-empty, just set the aco_option_register() flags
  12653. parameter to non-zero. * Updated some config framework enum
  12654. aco_option_type comments.
  12655. 2013-06-26 20:59 +0000 [r393005] Jonathan Rose <jrose@digium.com>
  12656. * funcs/func_channel.c, include/asterisk/bridging.h,
  12657. main/bridging.c: func_channel: Read/Write after_bridge_goto
  12658. option Allows reading and setting of a channel's
  12659. after_bridge_goto datastore (closes issue ASTERISK-21875)
  12660. Reported by: Matt Jordan Review:
  12661. https://reviewboard.asterisk.org/r/2628/
  12662. 2013-06-26 19:29 +0000 [r392987] Jason Parker <jparker@digium.com>
  12663. * res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
  12664. res/stasis_http/resource_channels.h,
  12665. rest-api/api-docs/channels.json, res/stasis/control.c,
  12666. res/stasis_http/resource_channels.c: ARI: Add support for
  12667. continuing to a different location in dialplan. This allows going
  12668. elsewhere in the dialplan, so that the location can be specified
  12669. after exiting the Stasis application. (closes issue
  12670. ASTERISK-21870) Review: https://reviewboard.asterisk.org/r/2644/
  12671. 2013-06-26 19:15 +0000 [r392933-392972] Richard Mudgett <rmudgett@digium.com>
  12672. * res/res_parking.c: Remove some redundant parking config error
  12673. messages.
  12674. * main/bridging.c: Fix several problems with
  12675. ast_bridge_add_channel(). * Fix locking problems.
  12676. ast_bridge_move() locks two bridges. To do that, deadlock
  12677. avoidance must be done. Called bridge_move_locked() instead. *
  12678. Fix inconsistency in the bridge dissolve check callers. The
  12679. original caller has already removed the channel from the bridge.
  12680. The new caller has not removed the channel from the bridge.
  12681. Reverted bridge_dissolve_check() and added
  12682. bridge_dissolve_check_stolen() to be used by the new caller on
  12683. the original bridge after the channel is moved to the new bridge.
  12684. * Fix memory leak of features if the added channel was already in
  12685. a bridge. * Fix incorrect call to ast_bridge_impart(). * Renamed
  12686. bridge_chan to yanked_chan.
  12687. * channels/chan_sip.c, include/asterisk/bridging.h,
  12688. apps/confbridge/conf_chan_announce.c: Fix incorrect calls to
  12689. ast_bridge_impart(). There was a misunderstanding about
  12690. ast_bridge_impart()'s handling of the imparted channel's
  12691. reference. The channel reference is passed by the caller unless
  12692. ast_bridge_impart() returns an error. * Fixed a memory leak in
  12693. conf_announce_channel_push() if the impart failed.
  12694. * main/features.c: AMI Bridge action: Get channel xfer config after
  12695. we have found the second channel.
  12696. 2013-06-25 22:28 +0000 [r392915] Jonathan Rose <jrose@digium.com>
  12697. * res/parking/parking_applications.c, CHANGES, main/bridging.c,
  12698. res/parking/parking_bridge_features.c,
  12699. res/parking/parking_manager.c, include/asterisk/features.h,
  12700. res/parking/parking_bridge.c, res/parking/res_parking.h,
  12701. main/features.c, res/parking/parking_controller.c: res_parking:
  12702. Add Parking manager action to the new parking system (closes
  12703. issue ASTERISK-21641) Reported by: Matt Jordan Review:
  12704. https://reviewboard.asterisk.org/r/2573/
  12705. 2013-06-25 20:25 +0000 [r392898] Jason Parker <jparker@digium.com>
  12706. * Makefile: Fix typo with XML docs.
  12707. 2013-06-25 19:22 +0000 [r392864-392879] Joshua Colp <jcolp@digium.com>
  12708. * include/asterisk/sorcery.h: Add a note about being ready to
  12709. accept observer invocations before adding an observer.
  12710. * res/res_sip/sip_options.c: Move where the sorcery observer is
  12711. added for qualify to guarantee the sched_qualifies container
  12712. exists.
  12713. 2013-06-25 13:03 +0000 [r392829] Kinsey Moore <kmoore@digium.com>
  12714. * apps/app_queue.c, main/cel.c, apps/app_dial.c,
  12715. include/asterisk/stasis_channels.h, include/asterisk/cel.h,
  12716. apps/app_celgenuserevent.c, main/stasis_channels.c: CEL
  12717. refactoring cleanup This change removes AST_CEL_BRIDGE_UPDATE
  12718. since it should no longer be used because masquerade situations
  12719. are now accounted for in other ways. This also refactors usage of
  12720. AST_CEL_FORWARD to be produced by a Dial message which has been
  12721. extended with a "forward" field. (closes issue ASTERISK-21566)
  12722. Review: https://reviewboard.asterisk.org/r/2635/
  12723. 2013-06-25 01:12 +0000 [r392797-392812] Matthew Jordan <mjordan@digium.com>
  12724. * main/named_acl.c, res/res_calendar.c, /, channels/chan_motif.c,
  12725. main/http.c, main/config_options.c: Fix memory/ref counting leaks
  12726. in a variety of locations This patch fixes the following memory
  12727. leaks: * http.c: The structure containing the addresses to bind
  12728. to was not being deallocated when no longer used * named_acl.c:
  12729. The global configuration information was not disposed of *
  12730. config_options.c: An invalid read was occurring for certain
  12731. option types. * res_calendar.c: The loaded calendars on module
  12732. unload were not being properly disposed of. * chan_motif.c: The
  12733. format capabilities needed to be disposed of on module unload. In
  12734. addition, this now specifies the default options for the
  12735. maxpayloads and maxicecandidates in such a way that it doesn't
  12736. cause the invalid read in config_options.c to occur. (issue
  12737. ASTERISK-21906) Reported by: John Hardin patches: http.patch
  12738. uploaded by jhardin (license 6512) named_acl.patch uploaded by
  12739. jhardin (license 6512) config_options.patch uploaded by jhardin
  12740. (license 6512) res_calendar.patch uploaded by jhardin (license
  12741. 6512) chan_motif.patch uploaded by jhardin (license 6512)
  12742. ........ Merged revisions 392810 from
  12743. http://svn.asterisk.org/svn/asterisk/branches/11
  12744. * main/presencestate.c, main/sorcery.c,
  12745. res/parking/parking_bridge.c, main/cdr.c, main/manager.c,
  12746. main/parking.c, main/devicestate.c, main/cel.c: Fix a variety of
  12747. memory leaks This patch addresses the following memory/ref
  12748. counting leaks: * main/devicestate.c - unsubscribe and join our
  12749. devicestate message subscription * main/cel.c - clean up the
  12750. datastore and config objects on exist * main/parking.c - cleanup
  12751. memory leak of retriever snapshot on message payload destruction
  12752. * res/parking/parking_bridge.c - cleanup memory leak of retrieve
  12753. snapshot on message payload destruction * main/presencestate.c -
  12754. unsubscribe and join the caching topic on exit * manager.c -
  12755. properly unregister the manager action "BlindTransfer" *
  12756. sorcery.c - shutdown the threadpool on exit and dispose of any
  12757. wizards (issue ASTERISK-21906) Reported by: John Hardin patches:
  12758. cel.patch uploaded by jhardin (license #6512) devicestate.patch
  12759. uploaded by jhardin (license #6512) manager.patch uploaded by
  12760. jardin (license #6512) presencestate.patch uploaded by jhardin
  12761. (license #6512) retriever-channel-snapshot.patch uploaded by
  12762. jhardin (license #6512) sorcery.patch uploaded by jhardin
  12763. (license #6512)
  12764. 2013-06-24 22:05 +0000 [r392778-392779] David M. Lee <dlee@digium.com>
  12765. * tests/test_endpoints.c, tests/test_stasis_endpoints.c: Few more
  12766. menuselect fixes missed in r392777
  12767. * res/stasis_json/resource_sounds.h,
  12768. rest-api-templates/res_stasis_json_resource.c.mustache,
  12769. rest-api-templates/res_stasis_http_resource.c.mustache: Fixed
  12770. templates so that the changes from r392777 won't be overwritten
  12771. the next time we run the generators.
  12772. 2013-06-24 21:40 +0000 [r392777] Richard Mudgett <rmudgett@digium.com>
  12773. * res/res_stasis_http_playback.c, res/res_stasis_playback.c,
  12774. res/res_stasis_websocket.c, res/res_stasis_json_recordings.c,
  12775. res/res_stasis_http_channels.c, res/res_stasis_json_endpoints.c,
  12776. res/res_stasis_json_events.c, res/res_stasis_http_recordings.c,
  12777. res/res_stasis_answer.c, res/res_chan_stats.c,
  12778. res/res_stasis_http_endpoints.c, res/res_stasis_http_events.c,
  12779. res/res_stasis_json_sounds.c, res/res_stasis_bridge_add.c,
  12780. res/res_stasis_json_bridges.c, res/res_stasis_http_sounds.c,
  12781. res/res_statsd.c, res/res_stasis_http_bridges.c,
  12782. res/res_stasis_json_asterisk.c, res/res_stasis_test.c,
  12783. res/res_stasis_json_playback.c, res/res_stasis_http.c,
  12784. res/res_stasis.c, apps/app_stasis.c,
  12785. res/res_stasis_http_asterisk.c, res/res_stasis_json_channels.c:
  12786. Fix menuselect display for stasis modules. The menuselect parser
  12787. is very simple. It looks for AST_MODULE_INFO and uses any quoted
  12788. string on that line as the module summary display.
  12789. 2013-06-24 19:28 +0000 [r392729-392747] Mark Michelson <mmichelson@digium.com>
  12790. * /: Remove stray properties from merge.
  12791. * /, main/features_config.c, doc/appdocsxml.dtd: Add documentation
  12792. for features configuration. Review:
  12793. https://reviewboard.asterisk.org/r/2616 (closes issue
  12794. ASTERISK-21542) Reported by Matt Jordan
  12795. 2013-06-24 13:49 +0000 [r392700] Kinsey Moore <kmoore@digium.com>
  12796. * include/asterisk/media_index.h (added), main/file.c, main/http.c,
  12797. include/asterisk/format.h, rest-api/api-docs/sounds.json,
  12798. include/asterisk/_private.h, main/sounds_index.c (added),
  12799. res/res_stasis_http.c, main/asterisk.c, main/media_index.c
  12800. (added), include/asterisk/file.h, include/asterisk/http.h,
  12801. include/asterisk/sounds_index.h (added),
  12802. res/stasis_http/resource_sounds.c: Index installed sounds and
  12803. implement ARI sounds queries This adds support for stasis/sounds
  12804. and stasis/sounds/{ID} queries via the Asterisk RESTful Interface
  12805. (ARI, formerly Stasis-HTTP). The following changes have been made
  12806. to accomplish this: * A modular indexer was created for local
  12807. media. * A new function to get an ast_format associated with a
  12808. file extension was added. * Modifications were made to the
  12809. built-in HTTP server so that URI decoding could be deferred to
  12810. the URI handler when necessary. * The Stasis-HTTP sounds JSON
  12811. documentation was modified to handle cases where multiple
  12812. languages are installed in different formats. * Register and
  12813. Unregister events for formats were added to the system topic.
  12814. (closes issue ASTERISK-21584) (closes issue ASTERISK-21585)
  12815. Review: https://reviewboard.asterisk.org/r/2507/
  12816. 2013-06-23 19:19 +0000 [r392676] Matthew Jordan <mjordan@digium.com>
  12817. * res/res_fax.c: Properly pack the parameters into ast_json_pack
  12818. when sending a send fax message This patch properly packs the
  12819. parameters into the send fax message so that it actually work.
  12820. Missing a ',' between two string fields can be difficult to
  12821. debug, particularly when the actual packing succeeds.
  12822. Interestingly enough, this didn't actually crash until the JSON
  12823. blob we deref'd and disposed of. Since that happened in a
  12824. different thread, it was pretty tough to track down.
  12825. 2013-06-23 18:59 +0000 [r392627-392667] Joshua Colp <jcolp@digium.com>
  12826. * res/res_sip_outbound_registration.c,
  12827. res/res_sip_endpoint_identifier_ip.c, res/res_sip_acl.c: Add some
  12828. more missing ast_sorcery_generic_alloc conversions.
  12829. * tests/test_sorcery_realtime.c, tests/test_sorcery_astdb.c: Add
  12830. missing ast_sorcery_generic_alloc conversions.
  12831. * main/manager_endpoints.c: Fix a bug where messages were getting
  12832. duplicated on AMI. This was caused by forwarding all endpoint
  12833. messages to manager which includes channel messages that are
  12834. related to the endpoint. This change causes only the PeerStatus
  12835. messages to be forwarded to manager thus eliminating the
  12836. duplicate channel messages.
  12837. 2013-06-22 22:42 +0000 [r392607] Matthew Jordan <mjordan@digium.com>
  12838. * res/res_fax.c: Properly extract channel variables for the
  12839. SendFAX/ReceiveFAX Stasis messages By the time something extracts
  12840. the pointers from ast_json_pack, the channels will already be
  12841. disposed of. This patch properly pulls the information out of the
  12842. variables and packs them into the JSON blob.
  12843. 2013-06-22 14:26 +0000 [r392565-392586] Joshua Colp <jcolp@digium.com>
  12844. * include/asterisk/sorcery.h, res/res_sip/config_auth.c,
  12845. res/res_sip/sip_options.c, res/res_sip/location.c,
  12846. tests/test_sorcery.c, main/sorcery.c,
  12847. res/res_sip/config_domain_aliases.c,
  12848. res/res_sip/config_transport.c, res/res_sip/sip_configuration.c:
  12849. Make sorcery details opaque and add extended fields. Sorcery
  12850. specific object information is now opaque and allocated with the
  12851. object. This means that modules do not need to be recompiled if
  12852. the sorcery specific part is changed. It also means that sorcery
  12853. can store additional information on objects and ensure it is
  12854. freed or the reference count decreased when the object goes away.
  12855. To facilitate the above a generic sorcery allocator function has
  12856. been added which also ensures that allocated objects do not have
  12857. a lock. Extended fields have been added thanks to all of the
  12858. above which allows specific fields to be marked as extended, and
  12859. thus simply stored as-is within the object. Type safety is *NOT*
  12860. enforced on these fields. A consumer of them has to query and
  12861. ultimately perform their own safety check. What does this mean?
  12862. Extra modules can extend already defined structures without
  12863. having to modify them. Tests have also been included to verify
  12864. extended field functionality. Review:
  12865. https://reviewboard.asterisk.org/r/2585/
  12866. * res/res_sip_exten_state.exports.in (added),
  12867. res/res_sip_session.exports.in, res/res_sip_sdp_rtp.c,
  12868. res/res_sip_messaging.c (added), res/res_sip_caller_id.c,
  12869. channels/chan_gulp.c, res/res_sip_session.c,
  12870. res/res_sip_exten_state.c (added), res/res_sip/sip_options.c,
  12871. res/res_sip_pubsub.exports.in, channels/sip/include/sip.h,
  12872. include/asterisk/sdp_srtp.h (added), channels/sip/sdp_crypto.c
  12873. (removed), main/pbx.c, channels/sip/srtp.c (removed),
  12874. res/res_sip_transport_websocket.c (added), channels/chan_sip.c,
  12875. res/res_sip_registrar.c, res/res_sip/sip_distributor.c,
  12876. include/asterisk/res_sip_session.h,
  12877. include/asterisk/res_sip_exten_state.h (added),
  12878. res/res_sip/security_events.c (added),
  12879. res/res_sip_registrar_expire.c (added), res/res_sip.c,
  12880. res/res_sip_pidf.c (added), include/asterisk/res_sip_pubsub.h,
  12881. channels/sip/include/sdp_crypto.h (removed),
  12882. res/res_sip/location.c, res/res_sip_outbound_registration.c,
  12883. channels/sip/include/srtp.h (removed),
  12884. res/res_sip_endpoint_identifier_anonymous.c (added),
  12885. res/res_sip_one_touch_record_info.c (added),
  12886. res/res_sip_pubsub.c, res/res_sip/config_transport.c,
  12887. configs/res_sip.conf.sample, res/res_sip/sip_configuration.c,
  12888. res/res_sip_diversion.c (added), res/res_sip_refer.c (added),
  12889. include/asterisk/res_sip.h, res/res_sip_dtmf_info.c,
  12890. main/sdp_srtp.c (added), res/res_sip/include/res_sip_private.h,
  12891. res/res_sip.exports.in: Merge in current pimp_my_sip work,
  12892. including: 1. Security events 2. Websocket support 3. Diversion
  12893. header + redirecting support 4. An anonymous endpoint identifier
  12894. 5. Inbound extension state subscription support 6. PIDF notify
  12895. generation 7. One touch recording support (special thanks Sean
  12896. Bright!) 8. Blind and attended transfer support 9. Automatic
  12897. inbound registration expiration 10. SRTP support 11. Media offer
  12898. control dialplan function 12. Connected line support 13.
  12899. SendText() support 14. Qualify support 15. Inband DTMF detection
  12900. 16. Call and pickup groups 17. Messaging support Thanks everyone!
  12901. Side note: I'm reminded of the song "How Far We've Come" by
  12902. Matchbox Twenty.
  12903. 2013-06-22 13:58 +0000 [r392564] Matthew Jordan <mjordan@digium.com>
  12904. * res/res_fax.c: Fix a deadlock and possible crash in res_fax This
  12905. patch fixes two bugs. (1) It unlocks the channel in the framehook
  12906. handlers before attempting to grab the peer from the bridge. The
  12907. locking order for the bridging framework is bridge first, then
  12908. channel - having the channel locked while attempting to obtain
  12909. the bridge lock causes a locking inversion and a deadlock. This
  12910. patch bumps the channel ref count prior to releasing the lock in
  12911. the framehook to avoid lifetime issues. Note that this does
  12912. expose a subtle problem in framehooks; that is, something could
  12913. modify the framehook list while we are executing, causing issues
  12914. in the framehook list traversal that the callback executes in.
  12915. Fixing this is a much larger problem that is beyond the scope of
  12916. this patch - (a) we already unlock the channel in this particular
  12917. framehook and we haven't run into a problem yet (as modifying the
  12918. framehook list when a channel is about to perform a fax gateway
  12919. would be a very odd operation) and (b) migrating to an ao2
  12920. container of framehooks would be more invasive at this point. See
  12921. the referenced ASTERISK issue for more information. (2) Directly
  12922. packing channel variables into a JSON object turned out to be
  12923. unsafe. A condition existed where the strings in the JSON blob
  12924. were no longer safe to be accessed if the channel object itself
  12925. was disposed of. (issue ASTERISK-21951)
  12926. 2013-06-22 12:40 +0000 [r392538] Joshua Colp <jcolp@digium.com>
  12927. * include/asterisk/res_sip.h, main/manager_endpoints.c (added),
  12928. include/asterisk/stasis_endpoints.h, channels/chan_iax2.c,
  12929. include/asterisk/manager.h, channels/chan_gulp.c,
  12930. main/stasis_endpoints.c, res/res_sip.c, main/manager.c,
  12931. channels/chan_sip.c, channels/chan_skinny.c,
  12932. res/res_sip/sip_configuration.c: Migrate PeerStatus events to
  12933. stasis, add stasis endpoints, and add chan_pjsip device state.
  12934. (closes issue ASTERISK-21489) (closes issue ASTERISK-21503)
  12935. Review: https://reviewboard.asterisk.org/r/2601/
  12936. 2013-06-21 22:39 +0000 [r392514] Richard Mudgett <rmudgett@digium.com>
  12937. * bridges/bridge_simple.c, bridges/bridge_softmix.c,
  12938. bridges/bridge_native_rtp.c, main/bridging.c,
  12939. include/asterisk/bridging_technology.h, bridges/bridge_holding.c,
  12940. include/asterisk/bridging.h: Extract a useful routine from the
  12941. softmix bridge technology. * Extract a useful routine from the
  12942. softmix bridge technology for other technologies. Make other
  12943. technologies use it if they can. * Made native and 1-1 bridges
  12944. write to all parties if the bridge channel writing the frame into
  12945. the bridge is NULL. Softmix will also do the same for frame types
  12946. that make sense. * Tweak the bridge write routine return value
  12947. meaning and adjust the bridge technologies to match.
  12948. 2013-06-21 21:22 +0000 [r392489] Matthew Jordan <mjordan@digium.com>
  12949. * channels/chan_gulp.c: Add BUGBUG for broken direct media in
  12950. chan_gulp (issue ASTERISK-21947)
  12951. 2013-06-21 18:54 +0000 [r392464] Jason Parker <jparker@digium.com>
  12952. * rest-api/api-docs/channels.json: Fix typo.
  12953. 2013-06-21 18:10 +0000 [r392437] Richard Mudgett <rmudgett@digium.com>
  12954. * main/bridging.c: Add channel optimization interaction with frame
  12955. hooks BUGBUG comments.
  12956. 2013-06-21 18:05 +0000 [r392436] Mark Michelson <mmichelson@digium.com>
  12957. * channels/chan_unistim.c: Change chan_unistim to use core transfer
  12958. API. Review: https://reviewboard.asterisk.org/r/2553 (closes
  12959. issue ASTERISK-21527) Reported by Matt Jordan
  12960. 2013-06-21 17:48 +0000 [r392435] Richard Mudgett <rmudgett@digium.com>
  12961. * bridges/bridge_softmix.c, main/bridging.c,
  12962. include/asterisk/bridging_technology.h,
  12963. include/asterisk/bridging.h, main/features.c: Change several
  12964. bridge functions to return error status. The bridge frame queue
  12965. functions need to return an error status if the frame failed to
  12966. be queued because of an error condition. The main calls that
  12967. needed to return the status are:
  12968. ast_bridge_channel_queue_action_data() and
  12969. ast_bridge_channel_write_action_data(). The other return changes
  12970. are ripple effects.
  12971. 2013-06-21 14:21 +0000 [r392409] Matthew Jordan <mjordan@digium.com>
  12972. * contrib/scripts/autosupport: Update autosupport script This patch
  12973. updates the autosupport script to collect all information
  12974. available to the Asterisk CLI command "digium_phones". It also
  12975. makes minor improvements in options handling. (closes issue
  12976. AST-1163) Reported by: Trey Blancher patches:
  12977. 390347_autosupport.diff uploaded by tblancher (License 5821)
  12978. 390348_autosupport.diff uploaded by tblancher (License 5821)
  12979. 2013-06-20 21:13 +0000 [r392364] Joshua Colp <jcolp@digium.com>
  12980. * res/res_sip_session.c: Add a log message for when an incoming
  12981. session is rejected due to the extension not being found.
  12982. 2013-06-20 17:21 +0000 [r392335] Richard Mudgett <rmudgett@digium.com>
  12983. * include/asterisk/bridging_features.h, main/features.c,
  12984. main/bridging.c, res/parking/parking_bridge_features.c,
  12985. apps/confbridge/conf_config_parser.c: Fix potential bridge hook
  12986. resource leak if the hook install fails.
  12987. 2013-06-20 16:29 +0000 [r392318] Mark Michelson <mmichelson@digium.com>
  12988. * main/threadpool.c: Fix threadpool rapid growth problem. When a
  12989. threadpool is set to autoincrement its threadcount, an issue may
  12990. arise when multiple tasks are queued at once into the threadpool.
  12991. Since threads start active, each new task would result in
  12992. autoincrementing the thread count. So if all threads were active,
  12993. and a thread's autoincrement value were 5, then 3 new tasks would
  12994. result in 15 threads being created even though the initial
  12995. autoincrement was sufficient to handle the number of tasks. This
  12996. change introduces three behavior changes: 1) New threads in the
  12997. threadpool start idle instead of active. 2) When a threadpool
  12998. autoincrements, one thread is activated after the growth. 3) When
  12999. a threadpool's size is incremented manually, all added threads
  13000. are activated. For a more detailed explanation about the changes,
  13001. please see the Review Board link at the bottom of this commit.
  13002. Review: https://reviewboard.asterisk.org/r/2629
  13003. 2013-06-19 22:52 +0000 [r392279] David M. Lee <dlee@digium.com>
  13004. * Makefile, main/Makefile: Fix build problem on OS X Mountain Lion
  13005. (10.8) For about forever, our build flags for OS X have been
  13006. slightly off, but good enough to build and run. Apparently they
  13007. aren't good enough any more. Previously, we would compile with
  13008. macosx-version-min unset and link with it set. This combination,
  13009. using GCC 4.8, on Mountain Lion, would create a bad executable
  13010. ("Illegal Instruction: 4", or something like that) This patch
  13011. consistently sets macosx-version-min for both compiling and
  13012. linking, which makes everything happy enough to build and run.
  13013. 2013-06-19 12:55 +0000 [r392241] Kinsey Moore <kmoore@digium.com>
  13014. * include/asterisk/cel.h, main/cel.c: Pull CEL linkedid
  13015. manipulation into cel.c This finishes moving all CEL linkedid
  13016. tracking entirely within cel.c since that is now possible with
  13017. channel snapshots. This also removes another CEL linkedid
  13018. manipulation function from cel.h that has already been
  13019. internalized and is neither called nor available to link against.
  13020. Review: https://reviewboard.asterisk.org/r/2632/
  13021. 2013-06-19 01:28 +0000 [r392190-392214] Matthew Jordan <mjordan@digium.com>
  13022. * funcs/func_cdr.c: Handle variable substitution in dummy variables
  13023. When func_cdr is used for variable substitution, there is no
  13024. channel name and hence no run-time information available for CDR
  13025. variable substitution. In that case, the correct thing to do is
  13026. to use the CDR object on the channel passed to the function. This
  13027. patch checks to see if the channel passed in has a name - if not,
  13028. it uses ast_cdr_format_var instead of ast_cdr_get_var. This
  13029. allows CDR backends to continue to use variable substitution in
  13030. order to resolve ast_cdr object properties.
  13031. * tests/test_substitution.c: Fix the test_substitution test In
  13032. r391947, the CDR function was modified such that it will return a
  13033. value for the start,answer, and end times if asked. That time
  13034. will just be 0 if it hasn't happened yet.
  13035. 2013-06-18 19:31 +0000 [r392139-392166] Richard Mudgett <rmudgett@digium.com>
  13036. * main/bridging.c, include/asterisk/bridging.h: Bridging: Fix crash
  13037. on destruction of a partially constructed bridge. * Promoted some
  13038. bridge construction debug messages to warnings.
  13039. * main/bridging.c: Add some safety cleanup for a failed push into a
  13040. bridge.
  13041. * main/bridging_basic.c: Remove stub comment on function that is
  13042. not a stub.
  13043. 2013-06-18 14:30 +0000 [r392116] Kinsey Moore <kmoore@digium.com>
  13044. * include/asterisk/stasis_bridging.h,
  13045. rest-api/api-docs/bridges.json, main/stasis_bridging.c: Fix
  13046. bridge snapshot conversion to JSON This makes
  13047. ast_bridge_snapshot_to_json conform to the swagger Bridge model
  13048. by adding the two fields it required. Review:
  13049. https://reviewboard.asterisk.org/r/2583/
  13050. 2013-06-17 18:58 +0000 [r392076] David M. Lee <dlee@digium.com>
  13051. * funcs/func_cdr.c, main/cdr.c: Fix build warnings related to
  13052. printf/scanf of tv_usec. The type of tv_usec is suseconds_t. On
  13053. Linux, this is usually a long int, but the specification is
  13054. actually pretty lax on what it might actually be. And, sadly,
  13055. there's no printf/scanf width specifier for suseconds_t. So it
  13056. could bit an int or a long, but there's not a great way to tell
  13057. which it is. This patch fixes scanf by reading into a long
  13058. temporary variable that's then stored into the tv_usec. It fixes
  13059. printf by casting the tv_usec to a long first. This patch also
  13060. adds some missing width specifiers for some debug statements,
  13061. which would cause ".000001" to be displayed at ".1".
  13062. 2013-06-17 18:37 +0000 [r392053-392073] Richard Mudgett <rmudgett@digium.com>
  13063. * main/channel.c, channels/chan_vpb.cc: chan_vpb: Fix compile error
  13064. and __ast_channel_alloc() prototype const inconsistency.
  13065. * channels/chan_misdn.c: chan_misdn: Fix compile error after CDR
  13066. merge.
  13067. 2013-06-17 16:59 +0000 [r392032] Jason Parker <jparker@digium.com>
  13068. * include/asterisk/app.h: Fix a build warning with stasis messages.
  13069. 2013-06-17 14:40 +0000 [r392004-392005] Matthew Jordan <mjordan@digium.com>
  13070. * main/manager_channels.c: Prevent sending a NewExten event after a
  13071. Hangup during a stack restore When a channel is originated, its
  13072. application is typically set to AppDial2, indicating that it was
  13073. a dialed channel through the Dial API. Asterisk during an
  13074. originate will perform a stack execute to direct the outgoing
  13075. channel to a particular place in the dialplan or application.
  13076. When the stack returns, the previous application (AppDial2) is
  13077. restored. Unfortunately, in the case of an originated channel,
  13078. the stack restore happens after hangup. A stasis message is sent
  13079. notifying everyone that the application was restored, and this
  13080. causes a NewExten event to go out after the Hangup event,
  13081. violating the basic contract consumers have of the channel
  13082. lifetime. While we could preclude the message from going out,
  13083. restoring the channel's state before it executed the next higher
  13084. frame in the stack has to occur, and other places in the code
  13085. depend on this behavior. Since we know that channel hung up (it's
  13086. a ZOMBIE!), this patch simply checks to see if the channel has
  13087. been zombified before sending a NewExten event. Note that this
  13088. will fix a number of bouncing tests in the Test Suite. Go tests.
  13089. * CHANGES: Restore bad merge on CHANGES The patch for CDRs moved
  13090. around a lot of content in CHANGES to try and organize the areas
  13091. that were affected. This missed some changes that went in with a
  13092. merge and removed some updates - this patch adds them back in.
  13093. 2013-06-17 12:28 +0000 [r391982] Joshua Colp <jcolp@digium.com>
  13094. * main/cdr.c: Fix build warning (which is transmogrified into an
  13095. error) with my compiler due to uninitialized variable.
  13096. 2013-06-17 03:31 +0000 [r391947-391964] Matthew Jordan <mjordan@digium.com>
  13097. * addons/cdr_mysql.c: Make cdr_mysql compile again by not directly
  13098. setting the run-time CDR object A stray ast_cdr_setvar was missed
  13099. in cdr_mysql (silly addons). This has now been refactored to not
  13100. set the property, as the property would have been set on a
  13101. run-time object that was already dispatched to the backend. The
  13102. module simply remembers the value it wanted to set and writes it
  13103. to MySQL later in the processing.
  13104. * apps/app_forkcdr.c, include/asterisk/stasis_channels.h,
  13105. main/test.c, channels/chan_h323.c, main/asterisk.c,
  13106. channels/chan_unistim.c, addons/chan_ooh323.c,
  13107. include/asterisk/cel.h, apps/app_authenticate.c, cdr/cdr_pgsql.c,
  13108. apps/app_followme.c, channels/chan_iax2.c,
  13109. res/res_config_sqlite.c, main/stasis.c, cdr/cdr_csv.c,
  13110. main/cli.c, main/dial.c, channels/chan_skinny.c,
  13111. cel/cel_manager.c, res/res_agi.c, main/stasis_channels.c,
  13112. cdr/cdr_odbc.c, tests/test_cdr.c (added), main/bridging_basic.c,
  13113. main/pbx.c, channels/chan_sip.c, main/channel_internal_api.c,
  13114. UPGRADE.txt, include/asterisk/cdr.h, include/asterisk/channel.h,
  13115. res/res_stasis_answer.c, main/cel.c, cdr/cdr_tds.c,
  13116. funcs/func_channel.c, funcs/func_cdr.c,
  13117. include/asterisk/bridging.h, addons/cdr_mysql.c,
  13118. funcs/func_callerid.c, apps/app_cdr.c, include/asterisk/time.h,
  13119. cel/cel_radius.c, include/asterisk/stasis_internal.h (added),
  13120. include/asterisk/channel_internal.h, main/utils.c,
  13121. cdr/cdr_adaptive_odbc.c, cdr/cdr_radius.c, main/channel.c,
  13122. main/cdr.c, include/asterisk/test.h, channels/chan_dahdi.c,
  13123. main/manager.c, apps/app_osplookup.c, main/features.c,
  13124. apps/app_dumpchan.c, main/manager_channels.c, main/bridging.c,
  13125. cdr/cdr_custom.c, channels/chan_mgcp.c, cdr/cdr_manager.c,
  13126. apps/app_dial.c, main/stasis_cache.c, cdr/cdr_syslog.c,
  13127. cel/cel_tds.c, channels/chan_agent.c, apps/app_disa.c,
  13128. apps/app_queue.c, CHANGES, res/res_monitor.c: Update Asterisk's
  13129. CDRs for the new bridging framework This patch is the initial
  13130. push to update Asterisk's CDR engine for the new bridging
  13131. framework. This patch guts the existing CDR engine and builds the
  13132. new on top of messages coming across Stasis. As changes in
  13133. channel state and bridge state are detected, CDRs are built and
  13134. dispatched accordingly. This fundamentally changes CDRs in a few
  13135. ways. (1) CDRs are now *very* reflective of the actual state of
  13136. channels and bridges. This means CDRs track well with what an
  13137. actual channel is doing - which is useful in transfer scenarios
  13138. (which were previously difficult to pin down). It does, however,
  13139. mean that CDRs cannot be 'fooled'. Previous behavior in Asterisk
  13140. allowed for CDR applications, channels, and other properties to
  13141. be spoofed in parts of the code - this no longer works. (2) CDRs
  13142. have defined behavior in multi-party scenarios. This behavior
  13143. will not be what everyone wants, but it is a defined behavior and
  13144. as such, it is predictable. (3) The CDR manipulation functions
  13145. and applications have been overhauled. Major changes have been
  13146. made to ResetCDR and ForkCDR in particular. Many of the options
  13147. for these two applications no longer made any sense with the new
  13148. framework and the (slightly) more immutable nature of CDRs. There
  13149. are a plethora of other changes. For a full description of CDR
  13150. behavior, see the CDR specification on the Asterisk wiki. (closes
  13151. issue ASTERISK-21196) Review:
  13152. https://reviewboard.asterisk.org/r/2486/
  13153. 2013-06-14 23:26 +0000 [r391921] Mark Michelson <mmichelson@digium.com>
  13154. * main/app.c: Fix regression in MWI stasis handling. In revision
  13155. 389733, mwi state allocation was placed into its own function
  13156. instead of performing the allocation in-line when required. The
  13157. issue was that in ast_publish_mwi_state_full(), the local
  13158. variable "uniqueid" was no longer being set, but it was still
  13159. being used as the topic for MWI. This meant that all MWI
  13160. publications ended up being published to the "" (empty string)
  13161. mailbox topic. Thus MWI subscriptions for specific mailboxes were
  13162. never notified of mailbox state changes. This change fixes the
  13163. issue by removing the local uniqueid variable from
  13164. ast_publish_mwi_state_full() and instead referencing the
  13165. mwi_state->uniqueid field since it has been properly set. (closes
  13166. issue ASTERISK-21913) Reported by Malcolm Davenport
  13167. 2013-06-14 21:57 +0000 [r391902] Joshua Colp <jcolp@digium.com>
  13168. * res/res_sip_registrar.c: Ensure that the number of added contacts
  13169. never goes below 0. This can happen when a REGISTER request is
  13170. removing a contact. (closes issue ASTERISK-21911) Reported by:
  13171. mdavenport
  13172. 2013-06-14 18:50 +0000 [r391855-391856] Kinsey Moore <kmoore@digium.com>
  13173. * main/stasis_bridging.c, include/asterisk/stasis_bridging.h,
  13174. rest-api/api-docs/bridges.json: Revert parts of r391855 that were
  13175. not ready to go in to trunk
  13176. * main/cel.c, include/asterisk/stasis_bridging.h,
  13177. rest-api/api-docs/bridges.json, main/stasis_bridging.c: Fix two
  13178. more possible crashes in CEL These are locations that should
  13179. return valid snapshots, but need to be handled if not.
  13180. 2013-06-14 16:32 +0000 [r391828] Jonathan Rose <jrose@digium.com>
  13181. * apps/app_mixmonitor.c, /: app_mixmonitor: Fix crashes caused by
  13182. unloading app_mixmonitor Unloading app_mixmonitor while active
  13183. mixmonitors were running would cause a segfault. This patch fixes
  13184. that by making it impossible to unload app_mixmonitor while
  13185. mixmonitors are active. Review:
  13186. https://reviewboard.asterisk.org/r/2624/ ........ Merged
  13187. revisions 391778 from
  13188. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  13189. revisions 391794 from
  13190. http://svn.asterisk.org/svn/asterisk/branches/11
  13191. 2013-06-14 16:12 +0000 [r391776-391777] Kinsey Moore <kmoore@digium.com>
  13192. * main/cel.c: Fix a crash in CEL bridge snapshot handling Properly
  13193. search for bridge association structures so that they are found
  13194. when expected and handle cases where they don't exist.
  13195. * main/bridging.c: Publish bridge snapshots more often Bridge
  13196. snapshot events were missing some important transitions that were
  13197. noticed in subsequent snapshots. Snapshots will now be published
  13198. on all bridge reconfigurations.
  13199. 2013-06-13 21:53 +0000 [r391732] Matthew Jordan <mjordan@digium.com>
  13200. * utils/check_expr.c, utils/refcounter.c, utils/ael_main.c,
  13201. utils/conf2ael.c: Make the utils directory compile... again.
  13202. Utils is a source folder that lies, eventually all developers
  13203. will cry, "I know I must maintain it, But really with this last
  13204. commit I can kiss my software ethics good-bye."
  13205. 2013-06-13 19:04 +0000 [r391701] Richard Mudgett <rmudgett@digium.com>
  13206. * apps/app_confbridge.c, apps/confbridge/conf_config_parser.c, /,
  13207. apps/confbridge/include/confbridge.h: app_confbridge: Fix memory
  13208. leak on reload. The config framework options should not be
  13209. registered multiple times. Instead the configuration just needs
  13210. to be reprocessed by the config framework. ........ Merged
  13211. revisions 391700 from
  13212. http://svn.asterisk.org/svn/asterisk/branches/11
  13213. 2013-06-13 18:26 +0000 [r391699] Mark Michelson <mmichelson@digium.com>
  13214. * main/features_config.c: Just return outright on a reload since we
  13215. have already processed configuration.
  13216. 2013-06-13 18:20 +0000 [r391689] Kinsey Moore <kmoore@digium.com>
  13217. * main/cel.c: Ensure that Asterisk still starts up when cel.conf is
  13218. missing
  13219. 2013-06-13 18:17 +0000 [r391676] Mark Michelson <mmichelson@digium.com>
  13220. * main/features_config.c: Fix memory leak in features_config.c The
  13221. options should not be registered multiple times. Instead, the
  13222. configuration just needs to be reprocessed by the config
  13223. framework. This also exposed that we were not properly telling
  13224. the config framework to treat the configuration processing with
  13225. the "reload" semantics when a reload occurred. Both of these
  13226. errors are fixed now. Thanks to Richard Mudgett for discovering
  13227. the leak.
  13228. 2013-06-13 18:14 +0000 [r391675] Matthew Jordan <mjordan@digium.com>
  13229. * main/json.c, main/manager.c, include/asterisk/json.h: Blow away
  13230. usage of libjansson's foreach macro While very handy, this macro
  13231. didn't occur until a later version of libjansson. We'd prefer to
  13232. be compatible with older versions still - as such, iteration over
  13233. key/value pairs in a JSON object have to be done with a little
  13234. bit more manual work.
  13235. 2013-06-13 13:46 +0000 [r391622-391643] Kinsey Moore <kmoore@digium.com>
  13236. * main/parking.c, include/asterisk/cel.h, main/features.c,
  13237. include/asterisk/_private.h, main/cel.c,
  13238. include/asterisk/parking.h, main/asterisk.c,
  13239. res/parking/parking_manager.c: Refactor CEL bridge events on top
  13240. of Stasis-Core This pulls bridge-related CEL event triggers out
  13241. of the code in which they were residing and pulls them into cel.c
  13242. where they are now triggered by changes in bridge snapshots. To
  13243. get access to the Stasis-Core parking topic in cel.c, the
  13244. Stasis-Core portions of parking init have been pulled into core
  13245. Asterisk init. This also adds a new CEL event
  13246. (AST_CEL_BRIDGE_TO_CONF) that indicates a two-party bridge has
  13247. transitioned to a multi-party conference. The reverse cannot
  13248. occur in CEL terms even though it may occur in actuality and two
  13249. party bridges which receive a AST_CEL_BRIDGE_TO_CONF will be
  13250. treated as multi-party conferences for the duration of the
  13251. bridge. Review: https://reviewboard.asterisk.org/r/2563/ (closes
  13252. issue ASTERISK-21564)
  13253. * include/asterisk/strings.h, main/cel.c,
  13254. include/asterisk/stasis_bridging.h, main/asterisk.c,
  13255. main/channel.c, include/asterisk/config_options.h, main/pbx.c,
  13256. include/asterisk/stasis_channels.h, main/stasis_bridging.c,
  13257. main/config_options.c, main/stasis_channels.c: Refactor CEL
  13258. channel events on top of Stasis-Core This uses the channel state
  13259. change events from Stasis-Core to determine when channel-related
  13260. CEL events should be raised. Those refactored in this patch are:
  13261. * AST_CEL_CHANNEL_START * AST_CEL_ANSWER * AST_CEL_APP_START *
  13262. AST_CEL_APP_END * AST_CEL_HANGUP * AST_CEL_CHANNEL_END Retirement
  13263. of Linked IDs is also refactored. CEL configuration has been
  13264. refactored to use the config framework. Note: Some HANGUP events
  13265. are not generated correctly because the bridge layer does not
  13266. propagate hangupcause/hangupsource information yet. Review:
  13267. https://reviewboard.asterisk.org/r/2544/ (closes issue
  13268. ASTERISK-21563)
  13269. 2013-06-13 11:02 +0000 [r391596] Joshua Colp <jcolp@digium.com>
  13270. * main/endpoints.c, res/stasis_http/resource_endpoints.c,
  13271. main/stasis_cache.c, main/stasis_endpoints.c,
  13272. main/channel_internal_api.c, include/asterisk/stasis.h,
  13273. include/asterisk/channel.h, include/asterisk/stasis_endpoints.h:
  13274. Add support for requiring that all queued messages on a caching
  13275. topic have been handled before retrieving from the cache and also
  13276. change adding channels to an endpoint to be an immediate
  13277. operation. Review: https://reviewboard.asterisk.org/r/2599/
  13278. 2013-06-12 21:08 +0000 [r391561] David M. Lee <dlee@digium.com>
  13279. * res/res_http_websocket.c, /: Fix segfault for certain invalid
  13280. WebSocket input. The WebSocket code would allocate, on the stack,
  13281. a string large enough to hold a key provided by the client, and
  13282. the WEBSOCKET_GUID. If the key is NULL, this causes a segfault.
  13283. If the key is too large, it could overflow the stack. This patch
  13284. checks the key for NULL and checks the length of the key to avoid
  13285. stack smashing nastiness. (closes issue ASTERISK-21825) Reported
  13286. by: Alfred Farrugia Tested by: Alfred Farrugia, David M. Lee
  13287. Patches: issueA21825_check_if_key_is_sent.patch uploaded by
  13288. Walter Doekes (license 5674) ........ Merged revisions 391560
  13289. from http://svn.asterisk.org/svn/asterisk/branches/11
  13290. 2013-06-12 02:29 +0000 [r391479-391521] Matthew Jordan <mjordan@digium.com>
  13291. * main/loader.c, main/format.c, /, main/endpoints.c: Fix memory
  13292. leak while loading modules, adding formats, and destroying
  13293. endpoints This patch fixes three memory leaks * When we load a
  13294. module with the LOAD_PRIORITY flag, we remove its entry from the
  13295. load order list. Unfortunately, we don't free the memory
  13296. associated with entry in the list. This patch corrects that and
  13297. properly frees the memory for the module in the list. * When
  13298. adding a custom format (such as SILK or CELT), the routine for
  13299. adding the format was leaking a reference. RAII_VAR cleans this
  13300. up properly. * We now de-ref the channel_snapshot appropriately
  13301. when an endpoint is disposed of ........ Merged revisions 391489
  13302. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  13303. Merged revisions 391507 from
  13304. http://svn.asterisk.org/svn/asterisk/branches/11
  13305. * main/stasis_channels.c, bridges/bridge_native_rtp.c: Fix memory
  13306. leaks in stasis_channels and bridge_native_rtp This patch fixes
  13307. two memory leaks: * A memory leak in packing channels into a
  13308. multi-channel blob payload when publishing dial messages. The
  13309. multi-channel blob payload does not steal the references - this
  13310. approach was chosen because it works well with the RAII_VAR
  13311. macro. Unfortunately, this does mean that you actually have to
  13312. use the RAII_VAR macro (or manually deref it yourself) * RTP
  13313. instances returned as a result of one of the glue operations are
  13314. ref counted and have to be de-ref'd appropriately. We now do
  13315. that, as saying that we should do it and then not would be silly.
  13316. 2013-06-11 22:57 +0000 [r391455] Mark Michelson <mmichelson@digium.com>
  13317. * main/bridging.c: Remove incorrect comment about local channel
  13318. optimization occurring when performing an attended transfer on an
  13319. entire bridge.
  13320. 2013-06-11 22:21 +0000 [r391430-391453] Jonathan Rose <jrose@digium.com>
  13321. * bridges/bridge_native_rtp.c, include/asterisk/framehook.h,
  13322. main/framehook.c: bridge_native_rtp: Fix native bridge tech being
  13323. incompatible when it should be. When checking compatability for
  13324. the native RTP bridge technology there is a race condition
  13325. between clearing framehooks that are destroyed when leaving
  13326. certain bridges with certain technologies (such as
  13327. bridge_native_rtp) and joining bridges with the bridge_native_rtp
  13328. technology. Yes, that means a channel in a native RTP bridge
  13329. could move to another native RTP bridge and be considered
  13330. incompatible with the new native RTP bridge causing it to revert
  13331. to a simple bridge technology0. This fixes that bug by ignoring
  13332. framehooks that have been marked for destruction when checking
  13333. for compatibility with the bridge_native_rtp technology.
  13334. * bridges/bridge_native_rtp.c: bridge_native_rtp: Fix possible
  13335. segfaults on leaves/joins native_rtp_bridge_get can return any
  13336. result from the ast_rtp_glue_result enumerator and the join/leave
  13337. functions for bridge_native_rtp seem to assume that if the result
  13338. wasn't local that it was remote. Meanwhile forbid can be returned
  13339. by that function which can mean certain glue pointers are NULL.
  13340. Then when the join/leave functions try to use members of that
  13341. pointer, boom. Segfault.
  13342. 2013-06-11 15:46 +0000 [r391403] David M. Lee <dlee@digium.com>
  13343. * main/manager.c, main/stasis_message.c, main/parking.c,
  13344. tests/test_stasis_channels.c, include/asterisk/stasis.h,
  13345. main/stasis_channels.c, tests/test_stasis.c,
  13346. main/manager_channels.c: Add vtable and methods for to_json and
  13347. to_ami for Stasis messages When a Stasis message type is defined
  13348. in a loadable module, handling those messages for AMI and
  13349. res_stasis events can be cumbersome. This patch adds a vtable to
  13350. stasis_message_type, with to_ami and to_json virtual functions.
  13351. These allow messages to be handled abstractly without putting
  13352. module-specific code in core. As an example, the VarSet AMI event
  13353. was refactored to use the to_ami virtual function. (closes issue
  13354. ASTERISK-21817) Review: https://reviewboard.asterisk.org/r/2579/
  13355. 2013-06-11 10:24 +0000 [r391380] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
  13356. * channels/chan_unistim.c, /: Fix issue with no sound in both way
  13357. in case of previous call to chan_unistim phone was canceled.
  13358. (related to ASTERISK-20183) ........ Merged revisions 391379 from
  13359. http://svn.asterisk.org/svn/asterisk/branches/11
  13360. 2013-06-11 08:13 +0000 [r391335] Alec L Davis <sivad.a@paradise.net.nz>
  13361. * channels/chan_iax2.c, /: IAX2: Transfer Reject: Lock bridgecallno
  13362. before touching it, refactor 1). When touching the bridgecallno,
  13363. we need to lock it. 2). Remove magic number '0' and replace with
  13364. TRANSFER_NONE. 3). Exit early if no bridgecallno. 4). Reduce
  13365. indentation. Reported by: alecdavis Tested by: alecdavis
  13366. alecdavis (license 585) Review
  13367. https://reviewboard.asterisk.org/r/2613/ ........ Merged
  13368. revisions 391333 from
  13369. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  13370. revisions 391334 from
  13371. http://svn.asterisk.org/svn/asterisk/branches/11
  13372. 2013-06-10 22:38 +0000 [r391314] Matthew Jordan <mjordan@digium.com>
  13373. * main/loader.c: Make the reload stasis message bump the ref count
  13374. of its sub-object JSON objects are reference stealing. Hence, if
  13375. you've RAII_VAR'd some subobject and want to pack it into another
  13376. JSON object, you have to bump the reference count. Using the 'O'
  13377. option during the pack will bump the reference count for you.
  13378. 2013-06-10 21:04 +0000 [r391297] Damien Wedhorn <voip@facts.com.au>
  13379. * channels/chan_skinny.c: Change chan_skinny to use core transfer
  13380. API. Changes for both attended and blind transfers in chan_skinny
  13381. to use the new transfer API instead of masquerade. (closes issue
  13382. ASTERISK-21526) Reported by: Matt Jordan Review:
  13383. https://reviewboard.asterisk.org/r/2557/
  13384. 2013-06-10 16:03 +0000 [r391271] Kinsey Moore <kmoore@digium.com>
  13385. * res/res_agi.c: Add AGI command arguments to AsyncAGI event This
  13386. makes the AGI AsyncAGI event put provided AGI command arguments
  13387. in the event's environment. (closes issue ASTERISK-21304)
  13388. Patch-By: Dirk Wendland
  13389. 2013-06-10 15:32 +0000 [r391269] Mark Michelson <mmichelson@digium.com>
  13390. * main/features_config.c: Temporary fix for people using sample
  13391. features.conf from previous Asterisk versions. People who use the
  13392. features.conf.sample file from Asterisk 11 and before in trunk
  13393. were given a rude awakening when features configuration changes
  13394. were made. Because it uses the config framework and the config
  13395. framework is strict about what is accepted and what isn't, people
  13396. that had parking options configured found that Asterisk no longer
  13397. started. This is because parking options are currently handled in
  13398. res_parking.conf instead of features.conf. This fix seeks to
  13399. create a temporary band-aid fix for the problem, but having
  13400. parking options from the general section be passed to a handler
  13401. that will simply print that the option is no longer supported.
  13402. This will not cause Asterisk to exit. The fix only applies to
  13403. options in the general section. There are two main reasons for
  13404. this: 1) The sample features.conf file only has parking options
  13405. in the general section. There are no configured parking lots.
  13406. Therefore it's not quite as "urgent" to get the parking lot
  13407. parsing fixed. 2) The plan is to move parking configuration back
  13408. from res_parking.conf to features.conf. When that happens, the
  13409. parking lots will also be addressed at that time.
  13410. 2013-06-10 14:36 +0000 [r391245] Matthew Jordan <mjordan@digium.com>
  13411. * apps/app_queue.c, /, configs/queues.conf.sample, UPGRADE.txt: Add
  13412. announce-to-first-user option for app_queue In r386792, the
  13413. ability to play prompts to the first caller in a call queue was
  13414. added. While this is arguably a bug fix for those who expect the
  13415. first caller to continue receiving prompts while the agent is
  13416. dialed, it has the side effect of preventing the first caller
  13417. from hearing the agent immediately upon bridging. This may not be
  13418. a problem for those who really want this option, but for those
  13419. who didn't care whether or not the first caller in queue heard
  13420. their position, it was an issue. This patch disables the ability
  13421. for the first caller in the queue to hear prompts and adds a new
  13422. option, announce-to-first-user, to queues.conf. Those who the
  13423. behavior can enable it by setting this value to True. Note that
  13424. if we ever implement the ability to have the prompts be stopped
  13425. upon bridging, this option can be removed. (closes issue
  13426. ASTERISK-21782) Reported by: Remi Quezada ........ Merged
  13427. revisions 391215 from
  13428. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  13429. revisions 391241 from
  13430. http://svn.asterisk.org/svn/asterisk/branches/11
  13431. 2013-06-10 13:07 +0000 [r391199] Kinsey Moore <kmoore@digium.com>
  13432. * res/res_stasis_bridge_add.exports.in (added),
  13433. include/asterisk/stasis_app.h,
  13434. res/stasis_http/resource_bridges.c, res/stasis/app.h,
  13435. res/res_stasis_json_events.c, include/asterisk/stasis_bridging.h,
  13436. rest-api/api-docs/bridges.json,
  13437. res/stasis_http/resource_bridges.h, res/res_stasis_bridge_add.c
  13438. (added), main/stasis_bridging.c,
  13439. res/stasis_json/resource_events.h, res/res_stasis.c,
  13440. res/res_stasis_json_events.exports.in,
  13441. rest-api/api-docs/events.json, res/stasis/control.c,
  13442. res/stasis/app.c: Stasis-HTTP: Flesh out bridge-related
  13443. capabilities This adds support for Stasis applications to receive
  13444. bridge-related messages when the application shows interest in a
  13445. given bridge. To supplement this work and test it, this also adds
  13446. support for the following bridge-related Stasis-HTTP
  13447. functionality: * GET stasis/bridges * GET
  13448. stasis/bridges/{bridgeId} * POST stasis/bridges * DELETE
  13449. stasis/bridges/{bridgeId} * POST
  13450. stasis/bridges/{bridgeId}/addChannel * POST
  13451. stasis/bridges/{bridgeId}/removeChannel Review:
  13452. https://reviewboard.asterisk.org/r/2572/ (closes issue
  13453. ASTERISK-21711) (closes issue ASTERISK-21621) (closes issue
  13454. ASTERISK-21622) (closes issue ASTERISK-21623) (closes issue
  13455. ASTERISK-21624) (closes issue ASTERISK-21625) (closes issue
  13456. ASTERISK-21626)
  13457. 2013-06-10 09:33 +0000 [r391064-391154] Alec L Davis <sivad.a@paradise.net.nz>
  13458. * /, channels/chan_iax2.c: chan_iax2: nativebridge refactor, missed
  13459. unlock bridgecallno ........ Merged revisions 391143 from
  13460. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  13461. revisions 391148 from
  13462. http://svn.asterisk.org/svn/asterisk/branches/11
  13463. * channels/chan_iax2.c, /: fix bad edit after conflict resolution
  13464. ........ Merged revisions 391107 from
  13465. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  13466. revisions 391111 from
  13467. http://svn.asterisk.org/svn/asterisk/branches/11
  13468. * channels/chan_iax2.c, /: IAX2: refactor nativebridge transfer
  13469. remove triple checking of iaxs[fr->callno]->transferring reduce
  13470. indentation. Reported by: alecdavis Tested by: alecdavis
  13471. alecdavis (license 585) Review
  13472. https://reviewboard.asterisk.org/r/2602/ ........ Merged
  13473. revisions 391065 from
  13474. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  13475. revisions 391084 from
  13476. http://svn.asterisk.org/svn/asterisk/branches/11
  13477. * channels/chan_iax2.c, /: IAX2: fix race condition with
  13478. nativebridge transfers. 1). When touching the bridgecallno, we
  13479. need to lock it. 2). stop_stuff() which calls
  13480. iax2_destroy_helper() Assumes the lock on the pvt is already
  13481. held, when iax2_destroy_helper() is called. Thus we need to lock
  13482. the bridgecallno pvt before we call
  13483. stop_stuff(iaxs[fr->callno]->bridgecallno); 3). When evaluating
  13484. the state of 'callno->transferring' of the current leg, we can't
  13485. change it to READY unless the bridgecallno is locked. Why, if we
  13486. are interrupted by the other call leg before 'transferring =
  13487. TRANSFER_RELEASED', the interrupt will find that it is READY and
  13488. that the bridgecallno is also READY so Releases the legs. (closes
  13489. issue ASTERISK-21409) Reported by: alecdavis Tested by: alecdavis
  13490. alecdavis (license 585) Review
  13491. https://reviewboard.asterisk.org/r/2594/ ........ Merged
  13492. revisions 391062 from
  13493. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  13494. revisions 391063 from
  13495. http://svn.asterisk.org/svn/asterisk/branches/11
  13496. 2013-06-09 21:11 +0000 [r391012-391040] Matthew Jordan <mjordan@digium.com>
  13497. * main/app.c: Clean up MWI topic pool before message type
  13498. destruction Topics need to be disposed of prior to the message
  13499. types that are published on them. This includes topic pools. This
  13500. prevents an assertion from being raised on shutdown.
  13501. * main/manager.c: Only initialize manager_bridging during startup
  13502. This moves the initialization call behind the protection against
  13503. reloads. We don't want to re-add message router routes during
  13504. reloads.
  13505. * main/backtrace.c (added), main/logger.c, include/asterisk/lock.h,
  13506. main/astmm.c, utils/extconf.c, main/astobj2.c,
  13507. include/asterisk/backtrace.h (added), include/asterisk/logger.h:
  13508. Add backtrace generation to MALLOC_DEBUG memory corruption
  13509. reports This patch allows astmm to access the backtrace
  13510. generation code in Asterisk. When memory is allocated, a
  13511. backtrace is created and stored with the memory region that
  13512. tracks the allocation. If a memory corruption is detected, the
  13513. backtrace is printed to the astmm log. The backtrace will make
  13514. use of the BETTER_BACKTRACES build option if available. As a
  13515. result, this patch moves the backtrace generation code into its
  13516. own file and uses the non-wrapped versions of the C library
  13517. memory allocation routines. This allows the memory allocation
  13518. code to safely use the backtrace generation routines without
  13519. infinitely recursing. Review:
  13520. https://reviewboard.asterisk.org/r/2567
  13521. 2013-06-08 06:31 +0000 [r390940-390991] Richard Mudgett <rmudgett@digium.com>
  13522. * include/asterisk/bridging_technology.h, main/bridging.c: Add more
  13523. support for native bridging. * Added a start technology callback
  13524. that technologies can use to start bridging operations. It is
  13525. expected that native bridges will find this useful. * Factored
  13526. out bridge_channel_complete_join().
  13527. * main/bridging.c, include/asterisk/bridging_technology.h,
  13528. bridges/bridge_softmix.c: Fix a crash when a bridge switches from
  13529. the softmix bridge technology to another. A three party bridge
  13530. uses the softmix bridging technology. This technology has a
  13531. dedicated thread used to perform the analog mixing. When one of
  13532. these parties leaves the bridge, the bridge technology is changed
  13533. from the softmix technology to a two-party mixing technology.
  13534. Changing technologies is done by removing channels from the old
  13535. technology and adding them to the new technology. Since the
  13536. remaining channels do not leave the bridge, the softmix mixing
  13537. thread could continue to process all channels in the bridge. If
  13538. the bridge code is not able to start destruction of the softmix
  13539. technology before the softmix mixing thread wakes up, a crash
  13540. happens. * Added a stop technology callback that technologies can
  13541. use to request any helper threads to stop in preparation for
  13542. being destroyed. (closes issue AST-1156) Reported by: John
  13543. Bigelow
  13544. * include/asterisk/bridging_technology.h: Update some doxygen
  13545. comments.
  13546. * bridges/bridge_softmix.c: The bridge uniqueid is available for
  13547. softmix destructor.
  13548. * bridges/bridge_softmix.c: Add some bridge identifiers to some
  13549. softmix messages.
  13550. 2013-06-07 20:51 +0000 [r390920] Jonathan Rose <jrose@digium.com>
  13551. * res/parking/parking_devicestate.c (added): res_parking: Add
  13552. parking_devicestate.c left out from previous commit (issue
  13553. ASTERISK-21645) Reported by: Matt Jordan Review:
  13554. https://reviewboard.asterisk.org/r/2545/
  13555. 2013-06-07 19:51 +0000 [r390885-390901] Jason Parker <jparker@digium.com>
  13556. * configs/queues.conf.sample, CHANGES, apps/app_queue.c,
  13557. main/manager.c: Make app_queue AMI events more consistent. Give
  13558. Join/Leave more useful names. This also removes the
  13559. eventwhencalled and eventmemberstatus configuration options.
  13560. These events can just be filtered via manager.conf blacklists.
  13561. (closes issue ASTERISK-21469) Review:
  13562. https://reviewboard.asterisk.org/r/2586/
  13563. * res/res_stasis_http_channels.c,
  13564. res/stasis_http/resource_channels.h,
  13565. rest-api/api-docs/channels.json,
  13566. res/stasis_json/resource_channels.h,
  13567. res/stasis_http/resource_channels.c: Implement ARI POST to
  13568. /channels, to originate a call. (closes issue ASTERISK-21617)
  13569. Review: https://reviewboard.asterisk.org/r/2597/
  13570. 2013-06-07 16:22 +0000 [r390864] Kinsey Moore <kmoore@digium.com>
  13571. * tests/test_devicestate.c: Ensure that all unit tests compile with
  13572. the cache clear rework in place
  13573. 2013-06-07 16:07 +0000 [r390848-390849] Jonathan Rose <jrose@digium.com>
  13574. * include/asterisk/pbx.h, CHANGES,
  13575. res/parking/parking_bridge_features.c,
  13576. res/parking/parking_bridge.c, main/pbx.c,
  13577. res/parking/res_parking.h, res/res_parking.c, main/features.c,
  13578. res/parking/parking_controller.c: res_parking: Automatically
  13579. generate extensions, hints, etc. (closes issue ASTERISK-21645)
  13580. Reported by: Matt Jordan Review:
  13581. https://reviewboard.asterisk.org/r/2545/
  13582. * main/manager.c, apps/app_meetme.c,
  13583. apps/confbridge/confbridge_manager.c, include/asterisk/manager.h:
  13584. app_meetme: Refactor manager events to use stasis (closes issue
  13585. ASTERISK-21467) Reported by: Matt Jordan Review:
  13586. https://reviewboard.asterisk.org/r/2564/
  13587. 2013-06-07 12:56 +0000 [r390830] Kinsey Moore <kmoore@digium.com>
  13588. * main/channel.c, main/stasis_cache.c, include/asterisk/stasis.h,
  13589. main/stasis_channels.c, main/endpoints.c, tests/test_stasis.c,
  13590. main/bridging.c: Rework stasis cache clear events Stasis cache
  13591. clear message payloads now consist of a stasis_message
  13592. representative of the message to be cleared from the cache. This
  13593. allows multiple parallel caches to coexist and be cleared
  13594. properly by the same cache clear message even when keyed on
  13595. different fields. This change fixes a bug where multiple cache
  13596. clears could be posted for channels. The cache clear is now
  13597. produced in the destructor instead of ast_hangup. Additionally,
  13598. dummy channels are no longer capable of producing channel
  13599. snapshots. Review: https://reviewboard.asterisk.org/r/2596
  13600. 2013-06-07 01:06 +0000 [r390803-390804] Richard Mudgett <rmudgett@digium.com>
  13601. * channels/sig_pri.c, channels/sig_pri.h, main/channel.c,
  13602. channels/chan_dahdi.c, channels/chan_misdn.c,
  13603. channels/sig_analog.c: Refactor chan_dahdi/sig_analog/sig_pri and
  13604. chan_misdn to use the common transfer functions. (closes issue
  13605. ASTERISK-21523) Reported by: Matt Jordan (closes issue
  13606. ASTERISK-21524) Reported by: Matt Jordan Review:
  13607. https://reviewboard.asterisk.org/r/2600/
  13608. * main/features_config.c: Tweak applicationmap and featuregroup
  13609. config containers. * Change applicationmap and featuregroup to
  13610. replace duplicate config items rather than reject them. * Remove
  13611. some unneeded warning messages when getting the applicationmap
  13612. allows duplicates from DYNAMIC_FEATURES.
  13613. 2013-06-06 23:32 +0000 [r390787] Mark Michelson <mmichelson@digium.com>
  13614. * main/features_config.c: Conditionally reject duplicate entries in
  13615. applicationmap containers. When reading from a config file, it's
  13616. important to reject duplicates. Otherwise, featuregroups will
  13617. have ambiguity when pointing to applicationmap items. However,
  13618. when constructing the channel's current applicationmap, we don't
  13619. care about duplicate names since it's the DTMF that identifies a
  13620. feature, not the name.
  13621. 2013-06-06 22:46 +0000 [r390771] Richard Mudgett <rmudgett@digium.com>
  13622. * configs/iax.conf.sample, configs/chan_dahdi.conf.sample,
  13623. bridges/bridge_builtin_features.c,
  13624. include/asterisk/bridging_features.h,
  13625. include/asterisk/bridging.h, main/features.c, UPGRADE.txt,
  13626. configs/sip.conf.sample, configs/skinny.conf.sample, CHANGES,
  13627. main/bridging.c: Reimplement bridging and DTMF features related
  13628. channel variables in the bridging core. * The channel variable
  13629. ATTENDED_TRANSFER_COMPLETE_SOUND is no longer channel driver
  13630. specific. If the channel variable is set on the transferrer
  13631. channel, the sound will be played to the target of an attended
  13632. transfer. * The channel variable BRIDGEPEER becomes a comma
  13633. separated list of peers in a multi-party bridge. The BRIDGEPEER
  13634. value can have a maximum of 10 peers listed. Any more peers in
  13635. the bridge will not be included in the list. BRIDGEPEER is not
  13636. valid in holding bridges like parking since those channels do not
  13637. talk to each other even though they are in a bridge. * The
  13638. channel variable BRIDGEPVTCALLID is only valid for two party
  13639. bridges and will contain a value if the BRIDGEPEER's channel
  13640. driver supports it. * The channel variable DYNAMIC_PEERNAME is
  13641. redundant with BRIDGEPEER and is removed. The more useful
  13642. DYNAMIC_WHO_ACTIVATED gives the channel name that activated the
  13643. dynamic feature. * The channel variables DYNAMIC_FEATURENAME and
  13644. DYNAMIC_WHO_ACTIVATED are set only on the channel executing the
  13645. dynamic feature. Executing a dynamic feature on the bridge peer
  13646. in a multi-party bridge will execute it on all peers of the
  13647. activating channel. (closes issue ASTERISK-21555) Reported by:
  13648. Matt Jordan Review: https://reviewboard.asterisk.org/r/2582/
  13649. 2013-06-06 21:40 +0000 [r390751] Mark Michelson <mmichelson@digium.com>
  13650. * channels/sip/include/sip.h, main/bridging.c,
  13651. channels/chan_mgcp.c, apps/app_dial.c, channels/chan_unistim.c,
  13652. channels/chan_sip.c, include/asterisk/features_config.h (added),
  13653. include/asterisk/channel.h, main/features_config.c (added),
  13654. include/asterisk/features.h, channels/chan_dahdi.c,
  13655. channels/chan_misdn.c, channels/sig_analog.c, main/manager.c,
  13656. bridges/bridge_builtin_features.c, main/features.c: Refactor the
  13657. features configuration scheme. Features configuration is handled
  13658. in its own API in features_config.h and features_config.c. This
  13659. way, features configuration is accessible to anything that needs
  13660. it. In addition, features configuration has been altered to be
  13661. more channel-oriented. Most callers of features API code will be
  13662. supplying a channel so that the individual channel's settings
  13663. will be acquired rather than the global setting. Missing from
  13664. this commit is XML documentation for the features configuration.
  13665. That will be handled in a separate commit. Review:
  13666. https://reviewboard.asterisk.org/r/2578/ (issue ASTERISK-21542)
  13667. 2013-06-06 20:50 +0000 [r390733-390734] Richard Mudgett <rmudgett@digium.com>
  13668. * main/stasis_message_router.c: Fix compiler warning.
  13669. * main/bridging.c, main/features.c, apps/app_bridgewait.c: * Fix a
  13670. couple missed hook installs that need
  13671. AST_BRIDGE_HOOK_REMOVE_ON_PULL. * Rename some hook flag
  13672. parameters to remove_flags.
  13673. 2013-06-06 20:37 +0000 [r390730] Kinsey Moore <kmoore@digium.com>
  13674. * res/res_agi.c: Fix documentation generation Regression from
  13675. r390701
  13676. 2013-06-06 20:32 +0000 [r390729] Jason Parker <jparker@digium.com>
  13677. * /: Remove props that people will yell at me for. I'm sorry I
  13678. broke automerge. :(
  13679. 2013-06-06 20:30 +0000 [r390728] Kinsey Moore <kmoore@digium.com>
  13680. * res/parking/parking_manager.c: Fix documentation that was in
  13681. review during the great suffix/prefix swap
  13682. 2013-06-06 19:51 +0000 [r390698-390701] Jason Parker <jparker@digium.com>
  13683. * CHANGES, /, res/res_agi.c: Split AGI manager events, to remove
  13684. SubEvent field. This moves them to stasis, in the process.
  13685. (closes issue ASTERISK-21470) Review:
  13686. https://reviewboard.asterisk.org/r/2587/
  13687. * main/stasis_message_router.c,
  13688. include/asterisk/stasis_message_router.h: Convert message_router
  13689. routes to ao2. Add support for removal. Review:
  13690. https://reviewboard.asterisk.org/r/2591/
  13691. 2013-06-06 18:21 +0000 [r390669] Jonathan Rose <jrose@digium.com>
  13692. * main/bridging.c: Parking: Enable code responsible for
  13693. intercepting park exten transfers
  13694. 2013-06-06 01:52 +0000 [r390612-390639] Richard Mudgett <rmudgett@digium.com>
  13695. * channels/chan_dahdi.c: Add a BUGBUG note.
  13696. * main/bridging.c: Misc core external attended transfer fixes. *
  13697. Fix external attended transfer bridge move/swap method. One of
  13698. the transferrer channels was not kicked out of the bridge. * Fix
  13699. several off-nominal extended attended transfer paths. Mainly the
  13700. channels involved needed to be hung up or kicked out of the
  13701. bridge.
  13702. * main/core_local.c: Make local channels use ast_channel_move()
  13703. instead of the inlined version.
  13704. 2013-06-05 21:14 +0000 [r390584-390585] David M. Lee <dlee@digium.com>
  13705. * include/asterisk/stasis.h: Corrected comment on stasis_cache_get
  13706. * main/manager_channels.c: Fixed refcounting problems with chanspy
  13707. AMI support. The ast_multi_channel_blob_get_channel function does
  13708. not bump the refcount on the channel snapshot that it returns.
  13709. This is typical for Stasis message payloads, since being
  13710. immutable means that the object won't get unreffed out from
  13711. underneath you. The manager code for chanspy was unreffing the
  13712. snapshots it got out of the multi-channel blob, which was one
  13713. unref too many.
  13714. 2013-06-05 19:19 +0000 [r390510-390550] Mark Michelson <mmichelson@digium.com>
  13715. * include/asterisk/bridging_features.h, main/features.c,
  13716. bridges/bridge_builtin_interval_features.c, main/bridging.c,
  13717. res/parking/parking_bridge_features.c, main/bridging_basic.c:
  13718. Remove remaining traces of remove_on_pull from hooks and hook
  13719. APIs.
  13720. * include/asterisk/bridging_features.h: Give the
  13721. AST_BRIDGE_HOOK_REMOVE_ON_PULL a legitimate value.
  13722. * include/asterisk/bridging_features.h, main/bridging.c: Change the
  13723. remove_on_pull flag on ast_bridge_hook to be a set of flags. This
  13724. change is used to make bridge hook removal more generic. This
  13725. way, depending on the circumstance, the appropriate bridge hooks
  13726. may be removed.
  13727. 2013-06-05 14:50 +0000 [r390473] Joshua Colp <jcolp@digium.com>
  13728. * main/channel.c: Publish the channel state snapshot *before*
  13729. calling device state so a device state producer can use an up to
  13730. date snapshot.
  13731. 2013-06-05 14:47 +0000 [r390472] David M. Lee <dlee@digium.com>
  13732. * main/channel_internal_api.c: Fixed a consistency problem with
  13733. channel snapshot and endpoint state. When channels are added to
  13734. an endpoint, the code originally posted a channel snapshot to the
  13735. endoint's topic directly. Turns out, this is a bad idea. This
  13736. causes the endpoint to see an inconsistent view of the channel,
  13737. since it will later receive in-flight messages with old channel
  13738. snapshots. This patch instead just publishes channel state
  13739. immediately after setting up the forward to the endpoint's topic.
  13740. This gives the endpoints a consistent view of the channel's
  13741. state.
  13742. 2013-06-04 22:55 +0000 [r390439-390440] Richard Mudgett <rmudgett@digium.com>
  13743. * bridges/bridge_native_rtp.c: Add BUGBUG comment.
  13744. * bridges/bridge_native_rtp.c: Simple lock, assignment, unlock
  13745. sandwich optimization.
  13746. 2013-06-04 15:55 +0000 [r390352-390398] David M. Lee <dlee@digium.com>
  13747. * include/asterisk/manager.h: Corrected the docs on
  13748. ast_manager_event_blob_create
  13749. * configure.ac, makeopts.in, configure,
  13750. include/asterisk/autoconfig.h.in, main/Makefile: Correct autoconf
  13751. script for finding UUID support. The library that provides UUID
  13752. support varies greatly from system to system. On most Linux
  13753. distros, it's in libuuid. On OpenBSD, it's in libe2fs-uuid. On OS
  13754. X, it is in libsystem. This patch plays hide-and-seek with UUID
  13755. support, looking for it in the three places we know about. It
  13756. also corrects the Makefile so that it uses the configured library
  13757. name and include path. (closes issue ASTERISK-21816) Reported by:
  13758. Brad Latus (snuffy) Tested by: Brad Latus (snuffy)
  13759. 2013-05-31 19:00 +0000 [r390317] Kinsey Moore <kmoore@digium.com>
  13760. * main/pbx.c, apps/app_userevent.c, main/stasis_channels.c:
  13761. Refactor code and fix a reference leak Refactor some channel blob
  13762. publishing code to use ast_channel_publish_blob now that it is
  13763. available and fix a JSON reference leak that was occurring during
  13764. varset publishing.
  13765. 2013-05-31 16:15 +0000 [r390289-390291] Richard Mudgett <rmudgett@digium.com>
  13766. * main/channel.c, main/manager.c, main/channel_internal_api.c,
  13767. include/asterisk/channel.h: Remove ast_channel_bridge() and
  13768. associated code called only by it. * Added some more BUGBUG
  13769. notes.
  13770. * include/asterisk/stasis_channels.h,
  13771. bridges/bridge_builtin_features.c, include/asterisk/bridging.h,
  13772. main/stasis_channels.c, main/bridging.c, main/channel.c: Fixup
  13773. hold/unhold with attended and blind transfers. * DTMF attended
  13774. and blind transfers have hold/unhold behavior restored. *
  13775. External attended and blind transfers unhold the transfered party
  13776. when the transfer is initiated. * Made prohibit blind
  13777. transferring a bridge marked as masquerade only. (ConfBridge
  13778. bridges) * Made running an application or playing a file inside a
  13779. bridge post the hold/unhold messages if MOH is requested. Review:
  13780. https://reviewboard.asterisk.org/r/2574/
  13781. 2013-05-31 14:36 +0000 [r390268] Jason Parker <jparker@digium.com>
  13782. * main/manager.c, include/asterisk/manager.h, main/asterisk.c:
  13783. Replace ast_manager_publish_message() with a more useful version.
  13784. It's much easier to just create a blob of the message. Convert
  13785. some AMI events to use it. Review:
  13786. https://reviewboard.asterisk.org/r/2577/
  13787. 2013-05-31 12:41 +0000 [r390249-390250] Kinsey Moore <kmoore@digium.com>
  13788. * apps/confbridge/include/confbridge.h, main/stasis_bridging.c,
  13789. apps/confbridge/confbridge_manager.c, apps/app_confbridge.c,
  13790. include/asterisk/stasis_bridging.h: Remove remnant of snapshot
  13791. blob JSON types Remove usage of the once-mandatory snapshot blob
  13792. type field, refactor confbridge stasis messages accordingly, and
  13793. remove ast_bridge_blob_json_type(). Review:
  13794. https://reviewboard.asterisk.org/r/2575/
  13795. * main/stasis_channels.c, include/asterisk/stasis_channels.h: Add
  13796. snapshot cache that indexes by channel name This adds a new
  13797. channel snapshot cache in parallel to the existing cache; the
  13798. difference being that it indexes the channel snapshots by channel
  13799. name instead of channel uniqueid. Review:
  13800. https://reviewboard.asterisk.org/r/2576
  13801. 2013-05-31 10:42 +0000 [r390230] Alexandr Anikin <may@telecom-service.ru>
  13802. * addons/chan_ooh323.c, /: Multiple revisions 390228-390229
  13803. ........ r390228 | may | 2013-05-31 14:19:52 +0400 (Fri, 31 May
  13804. 2013) | 14 lines reject call attempts when gatekeeper is
  13805. configured but not registered (closes issue ASTERISK-21800)
  13806. Reported by: Dmitry Melekhov Patches: ASTERISK-21800-1.patch
  13807. Tested by: Dmitry Melekhov ........ Merged revisions 390181 from
  13808. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  13809. revisions 390223 from
  13810. http://svn.asterisk.org/svn/asterisk/branches/10 ........ r390229
  13811. | may | 2013-05-31 14:34:20 +0400 (Fri, 31 May 2013) | 4 lines
  13812. remove unnecessary declarations (issue ASTERISK-21800) ........
  13813. Merged revisions 390228-390229 from
  13814. http://svn.asterisk.org/svn/asterisk/branches/11
  13815. 2013-05-31 07:57 +0000 [r390180] Walter Doekes <walter+asterisk@wjd.nu>
  13816. * Makefile: Let find do its own globbing. Previously a stray .c
  13817. file would cause xmldocs to not get built.
  13818. 2013-05-30 19:23 +0000 [r390122-390154] David M. Lee <dlee@digium.com>
  13819. * main/app.c: Missed a line from a bad merge in r390122
  13820. * main/stasis_cache.c, include/asterisk.h, main/security_events.c,
  13821. include/asterisk/stasis.h, main/devicestate.c, main/named_acl.c,
  13822. include/asterisk/stasis_bridging.h, main/presencestate.c,
  13823. main/stasis.c, main/channel.c,
  13824. include/asterisk/stasis_channels.h, main/stasis_bridging.c,
  13825. main/test.c, main/app.c, main/stasis_channels.c,
  13826. include/asterisk/security_events.h, main/asterisk.c,
  13827. main/bridging.c: Avoid unnecessary cleanups during immediate
  13828. shutdown This patch addresses issues during immediate shutdowns,
  13829. where modules are not unloaded, but Asterisk atexit handlers are
  13830. run. In the typical case, this usually isn't a big deal. But the
  13831. introduction of the Stasis message bus makes it much more likely
  13832. for asynchronous activity to be happening off in some thread
  13833. during shutdown. During an immediate shutdown, Asterisk skips
  13834. unloading modules. But while it is processing the atexit
  13835. handlers, there is a window of time where some of the core
  13836. message types have been cleaned up, but the message bus is still
  13837. running. Specifically, it's still running module subscriptions
  13838. that might be using the core message types. If a message is
  13839. received by that subscription in that window, it will attempt to
  13840. use a message type that has been cleaned up. To solve this
  13841. problem, this patch introduces ast_register_cleanup(). This
  13842. function operates identically to ast_register_atexit(), except
  13843. that cleanup calls are not invoked on an immediate shutdown. All
  13844. of the core message type and topic cleanup was moved from atexit
  13845. handlers to cleanup handlers. This ensures that core type and
  13846. topic cleanup only happens if the modules that used them are
  13847. first unloaded. This patch also changes the ast_assert() when
  13848. accessing a cleaned up or uninitialized message type to an error
  13849. log message. Message type functions are actually NULL safe across
  13850. the board, so the assert was a bit heavy handed. Especially for
  13851. anyone with DO_CRASH enabled. Review:
  13852. https://reviewboard.asterisk.org/r/2562/
  13853. 2013-05-29 20:24 +0000 [r390068] Richard Mudgett <rmudgett@digium.com>
  13854. * main/channel.c, /: Fix segfault when dealing with chan_agent
  13855. channels. Check the returned bridged pointer for NULL to avoid a
  13856. crash. It looks like chan_agent is returning a NULL pointer when
  13857. it probably should be returning a pointer to the channel the
  13858. Agent channel is pretending to be. (closes issue ASTERISK-21793)
  13859. Reported by: Rodrigo P. Telles Patches:
  13860. jira_asterisk_21793_v1.8.patch (license #5621) patch uploaded by
  13861. rmudgett Tested by: Rodrigo P. Telles ........ Merged revisions
  13862. 390044 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  13863. ........ Merged revisions 390047 from
  13864. http://svn.asterisk.org/svn/asterisk/branches/11
  13865. 2013-05-29 19:54 +0000 [r390042] Jason Parker <jparker@digium.com>
  13866. * main/channel.c: Remove unused RAII vars.
  13867. 2013-05-29 03:22 +0000 [r389990] Matthew Jordan <mjordan@digium.com>
  13868. * res/res_fax.c: Pack the right number of items into the status and
  13869. receive fax blobs The code was still attempting to pack an
  13870. additional item into the blobs that didn't exist. Crashes ensued.
  13871. This patch modifies the publishing of these messages so that the
  13872. correct number of items are packed in the JSON.
  13873. 2013-05-29 02:26 +0000 [r389974] Kinsey Moore <kmoore@digium.com>
  13874. * res/res_musiconhold.c, res/res_monitor.c,
  13875. include/asterisk/stasis_channels.h, res/res_fax.c,
  13876. apps/app_fax.c, main/stasis_channels.c: Resolve a merge conflict
  13877. When ast_channel_cached_blob_create was merged,
  13878. ast_channel_blob_create_from_cache was partially removed in an
  13879. unresolved merge conflict. This restores
  13880. ast_channel_blob_create_from_cache and refactors usage of
  13881. ast_channel_cached_blob_create (requires an ast_channel) to use
  13882. ast_channel_blob_create_from_cache (requires a channel uniqueid)
  13883. instead.
  13884. 2013-05-28 17:47 +0000 [r389897] Jonathan Rose <jrose@digium.com>
  13885. * /, main/slinfactory.c: Fix a memory copying bug in slinfactory
  13886. which was causing mixmonitor issues. Reported by: Michael Walton
  13887. Tested by: Jonathan Rose Patches:
  13888. slinfactory.c.ASTERISK-21799.patch uploaded by Michael Walton
  13889. (license 6502) (closes issue ASTERISK-21799) ........ Merged
  13890. revisions 389895 from
  13891. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  13892. revisions 389896 from
  13893. http://svn.asterisk.org/svn/asterisk/branches/11
  13894. 2013-05-28 15:54 +0000 [r389848-389870] Mark Michelson <mmichelson@digium.com>
  13895. * main/bridging.c: Add missing NULL check to acquire_bridge()
  13896. function.
  13897. * channels/chan_sip.c, channels/sip/include/sip.h: Add attended
  13898. transfer support for chan_sip.c This now uses the core API for
  13899. performing attended transfers. Review
  13900. https://reviewboard.asterisk.org/r/2513 (Closes issue
  13901. ASTERISK-21520) reported by Matt Jordan
  13902. * main/channel.c, main/pbx.c, bridges/bridge_builtin_features.c,
  13903. channels/chan_sip.c, apps/confbridge/confbridge_manager.c,
  13904. include/asterisk/bridging.h, main/features.c,
  13905. include/asterisk/channel.h, CHANGES, main/bridging.c,
  13906. channels/chan_mgcp.c: Adds support for a core attended transfer
  13907. function plus adds some hiding of masquerades. The attended
  13908. transfer API call can complete the attended transfer in a number
  13909. of ways depending on the current bridged states of the channels
  13910. involved. The hiding of masquerades is done in some
  13911. bridging-related functions, such as the manager Bridge action and
  13912. the Bridge dialplan application. In addition, call pickup was
  13913. edited to "move" a channel rather than masquerade it. Review:
  13914. https://reviewboard.asterisk.org/r/2511 (closes issue
  13915. ASTERISK-21334) Reported by Matt Jordan (closes issue
  13916. Asterisk-21336) Reported by Matt Jordan
  13917. 2013-05-27 01:33 +0000 [r389770-389827] Matthew Jordan <mjordan@digium.com>
  13918. * res/res_fax.c, res/res_fax_spandsp.c: Fix some more fax test
  13919. errors due to needing the peer in a bridge In r389799, a number
  13920. of fax errors in gateway mode were fixed by using the appropriate
  13921. function to get a channel's peer while in a bridge. This patch
  13922. does two things: (1) It uses the same function in res_fax_spandsp
  13923. while starting the fax gateway. Without this, the fax gateway
  13924. will not actually start up, as res_fax_spandsp also must inspect
  13925. the channel's peer in a two-party bridge (2) It refactors some
  13926. ao2 objects in sendfax_exec to use RAII_VAR. This was reverted in
  13927. r389799 as some off nominal paths were getting hit without the
  13928. fix in (1) that indicated an ao2 object issue; this turned out to
  13929. be a red herring (which is an odd phrase)
  13930. * main/stasis_endpoints.c: Initialize the message type before the
  13931. topic Caching topics will during initialization attempt to
  13932. reference their message type. The message type therefore has to
  13933. be initialized prior to the topic to prevent the dreaded
  13934. assertion.
  13935. * res/res_fax.c: Fix a few fax gateway failures Fax gateway
  13936. requires knowledge of a channel's peer in a bridge. This patch
  13937. now uses the supported mechanisms to get this information. This
  13938. is acceptable for a few reasons: * Fax gateway can only ever work
  13939. in a 2-party bridge * Fax gateway cannot work when not in a
  13940. bridge * Fax gateway cannot work without knowledge of the
  13941. capabilities of both channels in the fax operation (it is, after
  13942. all, a gateway)
  13943. * main/asterisk.c, res/res_fax.c, main/devicestate.c: Fix a variety
  13944. of memory corruption/assertion errors * Initialize a Stasis-Core
  13945. message type prior to initializing a caching topic. The caching
  13946. topic will attempt to use the message type. * Don't attempt to
  13947. publish Stasis-Core messages from remote console connections.
  13948. They aren't the main process; they shouldn't attempt to behave as
  13949. it (they also don't have the infrastructure to do so) * Don't
  13950. treat a JSON object as an ao2 object (whoops) * In asterisk.c,
  13951. ref bump the JSON even package that is distributed with the event
  13952. meta data. The callers assume that they own the reference, and
  13953. the packing routine steals references.
  13954. * main/asterisk.c: Restore initialization of security topics During
  13955. a merge the security topic initialization got blown away. This
  13956. patch restores it.
  13957. 2013-05-24 21:23 +0000 [r389746-389748] Jason Parker <jparker@digium.com>
  13958. * /: grr, props.
  13959. * channels/chan_h323.c, main/stasis_channels.c,
  13960. main/manager_channels.c, channels/chan_mgcp.c,
  13961. channels/chan_unistim.c, /, channels/chan_sip.c,
  13962. include/asterisk/channel.h, channels/sig_pri.c,
  13963. channels/chan_iax2.c, CHANGES, res/res_sip_sdp_rtp.c,
  13964. main/channel.c, channels/chan_dahdi.c,
  13965. include/asterisk/stasis_channels.h, channels/sig_analog.c,
  13966. channels/chan_misdn.c, channels/chan_skinny.c,
  13967. channels/chan_motif.c: Split Hold event into Hold/Unhold, and
  13968. move it into core. (closes issue ASTERISK-21487) Review:
  13969. https://reviewboard.asterisk.org/r/2565/
  13970. 2013-05-24 21:01 +0000 [r389738] Kinsey Moore <kmoore@digium.com>
  13971. * res/res_stasis.c: Remove a junk define BLOB_HANDLER_BUCKETS is a
  13972. remnant of using "type" fields in JSON/snapshot blobs and is no
  13973. longer used.
  13974. 2013-05-24 20:44 +0000 [r389680-389733] Matthew Jordan <mjordan@digium.com>
  13975. * include/asterisk/_private.h, include/asterisk/manager.h,
  13976. channels/sig_pri.c, CHANGES, res/res_monitor.c,
  13977. include/asterisk/app.h, main/json.c,
  13978. include/asterisk/stasis_channels.h, apps/app_chanspy.c,
  13979. res/parking/parking_manager.c, main/asterisk.c,
  13980. main/manager_mwi.c (added), apps/app_voicemail.c,
  13981. channels/chan_unistim.c, include/asterisk/json.h,
  13982. res/res_musiconhold.c, res/res_xmpp.c, channels/chan_iax2.c,
  13983. res/res_jabber.c, main/enum.c, main/loader.c, main/cli.c,
  13984. main/cdr.c, channels/chan_dahdi.c, main/manager.c,
  13985. channels/chan_skinny.c, apps/app_minivm.c, main/app.c,
  13986. main/stasis_channels.c, main/manager_channels.c,
  13987. res/res_sip_mwi.c, channels/chan_mgcp.c, main/pbx.c,
  13988. main/dnsmgr.c, channels/chan_sip.c, res/res_fax.c,
  13989. apps/app_fax.c: Migrate a large number of AMI events over to
  13990. Stasis-Core This patch moves a number of AMI events over to the
  13991. Stasis-Core message bus. This includes: * ChanSpyStart/Stop *
  13992. MonitorStart/Stop * MusicOnHoldStart/Stop * FullyBooted/Reload *
  13993. All Voicemail/MWI related events In addition, it adds some
  13994. Stasis-Core and AMI support for generic AMI messages, refactors
  13995. the message router in AMI to use a single router with topic
  13996. forwarding for the topics that AMI cares about, and refactors MWI
  13997. message types and topics to be more name compliant. Review:
  13998. https://reviewboard.asterisk.org/r/2532 (closes issue
  13999. ASTERISK-21462)
  14000. * /, main/logger.c: Print all logger messages on shutdown When
  14001. Asterisk shuts down and shuts down the loggin gsubsystem, any
  14002. messages currently in flight will not get logged. This patch
  14003. prevents the loop writing messages from breaking out prematurely,
  14004. such that all of the messages are logged. (closes issue
  14005. ASTERISK-21716) Reported by: Corey Farrell patches:
  14006. logger-process-all-messages.patch uploaded by Corey Farrell
  14007. (license 5909) ........ Merged revisions 389676 from
  14008. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14009. revisions 389677 from
  14010. http://svn.asterisk.org/svn/asterisk/branches/11
  14011. 2013-05-24 10:23 +0000 [r389663] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
  14012. * channels/chan_unistim.c, /: Fix several problems caused by
  14013. multiple line usage with i2004 phones. Reported by: Daniel
  14014. Bohling, MihaiMircea (closes issue ASTERISK-21061) (closes issue
  14015. ASTERISK-21120) ........ Merged revisions 389661 from
  14016. http://svn.asterisk.org/svn/asterisk/branches/11
  14017. 2013-05-23 21:46 +0000 [r389639] David M. Lee <dlee@digium.com>
  14018. * res/res_stasis_playback.c, res/stasis_http/resource_channels.c,
  14019. include/asterisk/stasis_http.h, res/res_stasis_http.c:
  14020. stasis-http: Provide a response body for 201 created responses
  14021. 2013-05-23 21:11 +0000 [r389618-389623] Jonathan Rose <jrose@digium.com>
  14022. * res/parking/parking_bridge.c: res_parking: Add a verbose message
  14023. when a channel is parked
  14024. * res/parking/parking_bridge.c: res_parking: Fix some simple bugs
  14025. Both of them are covered in the dynamic parking review on
  14026. https://reviewboard.asterisk.org/r/2550 - Remove unref against
  14027. parking lot that the bridge did on dissolve since the reference
  14028. wasn't taken in the first place. On a swap, reapply bridge roles
  14029. in order to get music on hold and such playing on the channel
  14030. that swaps into the bridge.
  14031. 2013-05-23 20:25 +0000 [r389609] Joshua Colp <jcolp@digium.com>
  14032. * res/res_sip_session.c: Fix a crash due to the INVITE session
  14033. being destroyed before the session. This change ensures that the
  14034. INVITE session remains valid for the lifetime of the session
  14035. object itself by increasing the session count on the dialog that
  14036. the INVITE session is allocated from. Once this reaches zero
  14037. (normally as a result of decrementing it within the session
  14038. destructor) the dialog, and INVITE session, are destroyed.
  14039. 2013-05-23 20:21 +0000 [r389587-389603] David M. Lee <dlee@digium.com>
  14040. * include/asterisk/stasis_app_playback.h,
  14041. res/stasis_http/resource_playback.c, include/asterisk/app.h,
  14042. res/res_stasis_playback.c, res/stasis/control.c,
  14043. res/stasis_http/resource_channels.c,
  14044. rest-api/api-docs/playback.json, res/res_stasis_http_channels.c,
  14045. include/asterisk/stasis_app.h, main/app.c,
  14046. include/asterisk/channel.h, res/stasis_http/resource_channels.h,
  14047. rest-api/api-docs/channels.json: This patch adds support for
  14048. controlling a playback operation from the Asterisk REST
  14049. interface. This adds the /playback/{playbackId}/control resource,
  14050. which may be POSTed to to pause, unpause, reverse, forward or
  14051. restart the media playback. Attempts to control a playback that
  14052. is not currently playing will either return a 404 Not Found
  14053. (because the playback object no longer exists) or a 409 Conflict
  14054. (because the playback object is still in the queue to be played).
  14055. This patch also adds skipms and offsetms parameters to the
  14056. /channels/{channelId}/play resource. (closes issue
  14057. ASTERISK-21587) Review: https://reviewboard.asterisk.org/r/2559
  14058. * res/res_stasis_json_events.exports.in, res/res_stasis_playback.c
  14059. (added), rest-api/api-docs/events.json, res/stasis/control.c,
  14060. main/channel_internal_api.c, include/asterisk/stasis_http.h,
  14061. res/res_stasis_http_channels.c, res/res_stasis_json_events.c,
  14062. include/asterisk/stasis_app_playback.h (added),
  14063. res/stasis_http/resource_playback.c, include/asterisk/app.h,
  14064. include/asterisk/stasis_channels.h,
  14065. res/stasis_json/resource_channels.h,
  14066. res/stasis_http/resource_channels.c,
  14067. res/stasis_http/resource_channels.h, main/stasis_channels.c,
  14068. rest-api/api-docs/channels.json,
  14069. res/res_stasis_playback.exports.in (added),
  14070. res/res_stasis_http.c, res/stasis_json/resource_events.h: This
  14071. patch implements the REST API's for POST
  14072. /channels/{channelId}/play and GET /playback/{playbackId}. This
  14073. allows an external application to initiate playback of a sound on
  14074. a channel while the channel is in the Stasis application. /play
  14075. commands are issued asynchronously, and return immediately with
  14076. the URL of the associated /playback resource. Playback commands
  14077. queue up, playing in succession. The /playback resource shows the
  14078. state of a playback operation as enqueued, playing or complete.
  14079. (Although the operation will only be in the 'complete' state for
  14080. a very short time, since it is almost immediately freed up).
  14081. (closes issue ASTERISK-21283) (closes issue ASTERISK-21586)
  14082. Review: https://reviewboard.asterisk.org/r/2531/
  14083. 2013-05-23 18:40 +0000 [r389569] Richard Mudgett <rmudgett@digium.com>
  14084. * main/features.c: Fix inverted test preventing DTMF disconnect
  14085. from working.
  14086. 2013-05-23 18:39 +0000 [r389551-389568] Joshua Colp <jcolp@digium.com>
  14087. * res/res_sip_sdp_rtp.c: Fix a bug where the DTMF mode was not set
  14088. on newly created RTP instances in the res_sip_sdp_rtp module.
  14089. * res/res_sip_sdp_rtp.c: Fix a bug with applying the end result of
  14090. the codec negotiation to the Asterisk channel.
  14091. * res/res_sip_session.c: Fix a bug where the codec order as
  14092. configured was not being obeyed.
  14093. 2013-05-22 19:15 +0000 [r389519] David M. Lee <dlee@digium.com>
  14094. * main/app.c: Fixed startup race condition which caused occasional
  14095. stasis_mwi_state_type assertions. The caching topic (which refers
  14096. to the message type) was created before the message type. If the
  14097. initial subscription message gets processed before the type can
  14098. be initialized, the assertion about using an uninitialized type
  14099. fires.
  14100. 2013-05-22 18:20 +0000 [r389492-389505] Jason Parker <jparker@digium.com>
  14101. * /: Remove bad props, before anybody notices.
  14102. * /, include/asterisk/dial.h, apps/app_followme.c,
  14103. apps/app_queue.c, apps/app_dial.c, main/dial.c: Add dial events
  14104. to app_queue and app_followme. Also fixes an issue in app_dial,
  14105. where the channels were swapped on dial events. (closes issue
  14106. ASTERISK-21551) (closes issue ASTERISK-21550) Review:
  14107. https://reviewboard.asterisk.org/r/2549/
  14108. 2013-05-21 22:49 +0000 [r389454] David M. Lee <dlee@digium.com>
  14109. * main/stasis_bridging.c: Fix destruction order assert for
  14110. stasis_bridging
  14111. 2013-05-21 21:08 +0000 [r389426] Richard Mudgett <rmudgett@digium.com>
  14112. * apps/app_queue.c: Conditional out more app_queue logging that
  14113. needs to be reworked. Fixes crash because app_queue was
  14114. unconditionally freeing a datastore that was still on a channel.
  14115. 2013-05-21 18:45 +0000 [r389402] Matthew Jordan <mjordan@digium.com>
  14116. * apps/app_confbridge.c, apps/confbridge/confbridge_manager.c:
  14117. Raise the ConfBridgeMute/Unmute events when a CLI or AMI action
  14118. triggers the change New in 12 are the ConfBridgeMute/Unmute
  14119. events, which are triggered when a user changes their mute/unmute
  14120. state. This was typically triggered when a user hit a DTMF key
  14121. that triggered the mute/unmute menu handler. Forgotten in this is
  14122. when an AMI action or CLI command triggers the mute/unmute. This
  14123. patch now raises the events in those situations as well. (closes
  14124. issue ASTERISK-21802) Reported by: Birger "WIMPy" Harzenetter
  14125. 2013-05-21 18:00 +0000 [r389378] Richard Mudgett <rmudgett@digium.com>
  14126. * rest-api-templates/res_stasis_json_resource.c.mustache,
  14127. include/asterisk/frame.h, apps/app_mixmonitor.c,
  14128. include/asterisk/parking.h (added), channels/chan_mgcp.c,
  14129. main/bridging_roles.c (added), main/pbx.c, main/strings.c,
  14130. rest-api/api-docs/events.json, include/asterisk/core_local.h
  14131. (added), configs/res_parking.conf.sample (added),
  14132. channels/chan_bridge.c (removed),
  14133. res/parking/parking_controller.c,
  14134. res/parking/parking_applications.c, include/asterisk/channel.h,
  14135. include/asterisk/manager.h, apps/app_queue.c,
  14136. include/asterisk/stasis_bridging.h (added),
  14137. include/asterisk/framehook.h, include/asterisk/config_options.h,
  14138. bridges/bridge_builtin_features.c,
  14139. apps/confbridge/confbridge_manager.c (added), main/features.c,
  14140. apps/app_dumpchan.c, channels/chan_motif.c, channels/chan_h323.c,
  14141. apps/app_confbridge.c, include/asterisk/rtp_engine.h,
  14142. apps/app_chanspy.c, include/asterisk/ccss.h,
  14143. main/manager_channels.c, main/bridging.c,
  14144. apps/confbridge/conf_chan_announce.c (added),
  14145. main/bridging_basic.c (added), include/asterisk/core_unreal.h
  14146. (added), apps/app_dial.c, res/res_stasis_json_events.exports.in,
  14147. addons/chan_ooh323.c, main/frame.c, main/parking.c (added),
  14148. bridges/bridge_holding.c (added), bridges/bridge_simple.c,
  14149. bridges/bridge_softmix.c, funcs/func_jitterbuffer.c,
  14150. res/Makefile, res/res_stasis_json_events.c, main/core_local.c
  14151. (added), CHANGES, channels/chan_iax2.c,
  14152. bridges/bridge_multiplexed.c (removed),
  14153. res/parking/parking_bridge_features.c,
  14154. include/asterisk/abstract_jb.h, channels/chan_gulp.c,
  14155. apps/confbridge/conf_config_parser.c, main/channel.c,
  14156. res/res_parking.c (added), main/manager.c, main/stasis_bridging.c
  14157. (added), res/parking (added),
  14158. bridges/bridge_builtin_interval_features.c (added),
  14159. rest-api-templates/stasis_json_resource.h.mustache,
  14160. main/config_options.c, res/stasis_json/resource_events.h,
  14161. main/asterisk.c, res/parking/parking_manager.c,
  14162. apps/app_parkandannounce.c (removed), channels/chan_unistim.c,
  14163. res/parking/parking_ui.c, channels/chan_local.c (removed),
  14164. main/rtp_engine.c, apps/confbridge/conf_chan_record.c (added),
  14165. main/core_unreal.c (added), apps/app_bridgewait.c (added),
  14166. apps/app_followme.c, configs/features.conf.sample,
  14167. channels/chan_jingle.c, channels/chan_dahdi.c,
  14168. apps/app_channelredirect.c, funcs/func_channel.c,
  14169. main/abstract_jb.c, main/manager_bridging.c (added),
  14170. include/asterisk/bridging_roles.h (added), channels/chan_vpb.cc,
  14171. channels/chan_sip.c, main/channel_internal_api.c,
  14172. channels/chan_agent.c, UPGRADE.txt, include/asterisk/_private.h,
  14173. res/parking/parking_bridge.c, main/cli.c,
  14174. res/parking/res_parking.h,
  14175. include/asterisk/bridging_technology.h, channels/chan_misdn.c,
  14176. apps/confbridge/include/confbridge.h, channels/chan_skinny.c,
  14177. include/asterisk/bridging_features.h, funcs/func_frame_trace.c,
  14178. include/asterisk/bridging.h, include/asterisk/bridging_basic.h
  14179. (added), bridges/bridge_native_rtp.c (added): Merge in the
  14180. bridge_construction branch to make the system use the Bridging
  14181. API. Breaks many things until they can be reworked. A partial
  14182. list: chan_agent chan_dahdi, chan_misdn, chan_iax2 native
  14183. bridging app_queue COLP updates DTMF attended transfers Protocol
  14184. attended transfers
  14185. 2013-05-21 14:17 +0000 [r389343] David M. Lee <dlee@digium.com>
  14186. * apps/app_userevent.c, main/stasis_channels.c: Fixed some extra
  14187. field assertion when the event WebSocket is connected
  14188. 2013-05-20 19:24 +0000 [r389306] Matthew Jordan <mjordan@digium.com>
  14189. * main/pbx.c: Set the AST_CDR_FLAG_ORIGINATED flag on originated
  14190. channel's CDRs This may alleviate some of the CDR woes with
  14191. originated channels, as CDRs do like to know when a channel was
  14192. originated. Eventually this will get converted to be a channel
  14193. flag, so its location is still good to know post the great CDR
  14194. shakeup of 2013.
  14195. 2013-05-20 18:03 +0000 [r389247-389251] Richard Mudgett <rmudgett@digium.com>
  14196. * res/stasis_http/resource_recordings.c, cel/cel_sqlite3_custom.c,
  14197. main/event.c, funcs/func_iconv.c,
  14198. res/stasis_http/resource_recordings.h,
  14199. res/stasis_http/resource_events.c,
  14200. res/res_stasis_http_asterisk.c, main/udptl.c,
  14201. res/res_stasis_websocket.c, res/stasis_http/resource_events.h,
  14202. tests/test_gosub.c, main/threadstorage.c, cel/cel_tds.c,
  14203. tests/test_dlinklists.c, res/res_stasis_http_endpoints.c,
  14204. res/stasis_http/resource_asterisk.c, res/ael/pval.c, main/json.c,
  14205. res/stasis_http/resource_asterisk.h, res/ael/ael_lex.c,
  14206. res/res_stasis_http_bridges.c, tests/test_stasis_http.c,
  14207. tests/test_stasis.c, res/res_clioriginate.c, cel/cel_pgsql.c,
  14208. tests/test_res_stasis.c, res/res_stasis_http_channels.c,
  14209. res/res_srtp.c, main/stasis.c, main/stasis_message.c,
  14210. main/stasis_message_router.c, main/hashtab.c, res/ael/ael.tab.c,
  14211. cel/cel_manager.c, funcs/func_odbc.c,
  14212. res/stasis_http/resource_channels.c, funcs/func_channel.c,
  14213. res/ael/ael.tab.h, res/stasis_http/resource_channels.h,
  14214. utils/ael_main.c, formats/format_h264.c, codecs/codec_dahdi.c,
  14215. contrib/utils/eagi_proxy.c, res/res_stasis.c,
  14216. main/manager_channels.c, tests/test_json.c, cel/cel_radius.c,
  14217. main/stasis_cache.c, tests/test_astobj2_thrash.c,
  14218. funcs/func_dialgroup.c, tests/test_xml_escape.c, pbx/pbx_lua.c,
  14219. res/res_ael_share.c, res/res_pktccops.c, funcs/func_realtime.c,
  14220. cel/cel_odbc.c, res/res_smdi.c, cel/cel_custom.c, res/res_curl.c,
  14221. res/res_stasis_http.c, res/stasis_http/resource_endpoints.c,
  14222. utils/refcounter.c, res/stasis_http/resource_endpoints.h,
  14223. funcs/func_rand.c, funcs/func_version.c, main/sha1.c,
  14224. tests/test_hashtab_thrash.c, res/stasis_http/resource_bridges.c,
  14225. res/res_stasis_http_recordings.c, main/cel.c,
  14226. res/stasis_http/resource_bridges.h, res/res_stasis_http_events.c,
  14227. tests/test_time.c: Fixup svn:keywords in all *.c and *.h files.
  14228. * channels/sip/include/globals.h, apps/app_celgenuserevent.c,
  14229. channels/sip/dialplan_functions.c, include/asterisk/pktccops.h,
  14230. channels/sip/include/sdp_crypto.h,
  14231. include/asterisk/ael_structs.h, include/asterisk/udptl.h,
  14232. channels/sip/include/srtp.h, include/asterisk/frame_defs.h,
  14233. apps/app_stasis.c, include/asterisk/sha1.h,
  14234. include/asterisk/smdi.h, include/asterisk/stringfields.h,
  14235. channels/sip/sdp_crypto.c, channels/sip/include/dialog.h,
  14236. include/asterisk/res_srtp.h, channels/sip/srtp.c,
  14237. include/asterisk/cel.h, include/asterisk/stasis_http.h,
  14238. include/asterisk/stasis_app.h, include/asterisk/stasis.h,
  14239. apps/app_morsecode.c, apps/app_waituntil.c,
  14240. include/asterisk/json.h,
  14241. include/asterisk/stasis_message_router.h,
  14242. include/asterisk/hashtab.h,
  14243. channels/sip/include/dialplan_functions.h,
  14244. include/asterisk/paths.h, include/asterisk/event.h,
  14245. apps/app_setcallerid.c, include/asterisk/event_defs.h: Fixup
  14246. svn:keywords in all *.c and *.h files.
  14247. 2013-05-20 17:44 +0000 [r389246] Jason Parker <jparker@digium.com>
  14248. * /: Add doxygen.log to svn:ignore property. ........ Merged
  14249. revisions 389244 from
  14250. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14251. revisions 389245 from
  14252. http://svn.asterisk.org/svn/asterisk/branches/11
  14253. 2013-05-20 14:21 +0000 [r389217] Kinsey Moore <kmoore@digium.com>
  14254. * res/res_stasis_answer.exports.in (added): Add missing exports
  14255. file This exposes stasis_app_control_answer and allows
  14256. res_stasis_http_channels to load properly.
  14257. 2013-05-20 14:02 +0000 [r389204] Joshua Colp <jcolp@digium.com>
  14258. * main/sorcery.c: In Sorcery pass the name of the object being
  14259. allocated to the allocator.
  14260. 2013-05-20 13:45 +0000 [r389202] Kinsey Moore <kmoore@digium.com>
  14261. * apps/confbridge/conf_config_parser.c: Add documentation for
  14262. record_file_append When this option was added, it was noted in
  14263. CHANGES, but was missing the XML documentation that this patch
  14264. adds. (closes issue ASTERISK-21780) Patch-by: Brad Latus (snuffy)
  14265. 2013-05-19 20:52 +0000 [r389180] Alexandr Anikin <may@telecom-service.ru>
  14266. * addons/chan_ooh323.c, addons/chan_ooh323.h: add
  14267. ast_publish_channel_state according new event framework
  14268. 2013-05-19 19:45 +0000 [r389164] Damien Wedhorn <voip@facts.com.au>
  14269. * channels/chan_skinny.c: Add transfer softkey to ringout state to
  14270. enable blond transfers. (closes issue ASTERISK-21327) Reported
  14271. by: wedhorn Tested by: myself Patches: skinny-blindxfer01.diff
  14272. uploaded by wedhorn (license 5019)
  14273. 2013-05-19 17:45 +0000 [r389148] Kinsey Moore <kmoore@digium.com>
  14274. * res/res_sip_acl.c, res/res_sip.c,
  14275. res/res_sip_outbound_registration.c,
  14276. res/res_sip_endpoint_identifier_ip.c: Add base XML documentation
  14277. for res_sip Thanks to Brad Latus, this patch adds a significant
  14278. amount much-needed documentation to res_sip. It should cover all
  14279. existing configuration options currently in Asterisk trunk.
  14280. Patch-by: Brad Latus (snuffy) Review:
  14281. https://reviewboard.asterisk.org/r/2471/
  14282. 2013-05-19 02:21 +0000 [r389116-389132] Joshua Colp <jcolp@digium.com>
  14283. * main/pbx.c: Don't hold the outgoing lock for a prolonged period
  14284. of time as it may block the originator.
  14285. * main/pbx.c: If the caller of the originate API calls wants the
  14286. channel ensure it has been requested and dialed.
  14287. 2013-05-18 23:20 +0000 [r389097] Damien Wedhorn <voip@facts.com.au>
  14288. * channels/chan_skinny.c, configs/skinny.conf.sample: Add call
  14289. forward no answer to skinny and cleanup general callfwd handling.
  14290. CallforwardNoAnswer uses a sched to determine when to forward the
  14291. call. Defaults to 20secs but configurable in skinny.conf. Adds
  14292. dialType to each subchannel structure to be used to differentiate
  14293. between normal dials that result in a call being placed (default)
  14294. and other uses for the skinny_dialer (such as cfwd digit
  14295. collection). Restructured all cfwd handling to use this new
  14296. arrangement. (closes issue ASTERISK-21292) Reported by: wedhorn
  14297. Tested by: myself Patches: skinny-callfwdnoans03.diff uploaded by
  14298. wedhorn (license 5019)
  14299. 2013-05-18 22:49 +0000 [r389053-389085] Joshua Colp <jcolp@digium.com>
  14300. * main/pbx.c: Fix a bug where synchronous origination (oddly enough
  14301. triggered by doing an async manager Originate) would not work
  14302. properly.
  14303. * include/asterisk/dial.h, main/manager_channels.c, main/dial.c,
  14304. main/pbx.c: Move origination to use the dialing API and send
  14305. Stasis messages on dial begin and end. (closes issue
  14306. ASTERISK-21549) Reported by: Matt Jordan Review:
  14307. https://reviewboard.asterisk.org/r/2512/
  14308. 2013-05-17 21:10 +0000 [r389011] David M. Lee <dlee@digium.com>
  14309. * res/res_jabber.c, apps/app_queue.c, channels/chan_iax2.c,
  14310. main/endpoints.c, include/asterisk/stasis_message_router.h,
  14311. res/res_chan_stats.c, main/stasis.c, main/manager.c,
  14312. funcs/func_presencestate.c, main/stasis_message_router.c,
  14313. main/app.c, main/stasis_channels.c, res/res_stasis.c,
  14314. main/manager_channels.c, apps/app_voicemail.c,
  14315. main/stasis_cache.c, main/pbx.c, main/stasis_endpoints.c,
  14316. channels/chan_sip.c, include/asterisk/stasis.h,
  14317. main/devicestate.c: Fix shutdown assertions in stasis-core In
  14318. r388005, macros were introduced to consistently define message
  14319. types. This added an assert if a message type was used either
  14320. before it was initialized or after it had been cleaned up. It
  14321. turns out that this assertion fires during shutdown. This
  14322. actually exposed a hidden shutdown ordering problem. Since
  14323. unsubscribing is asynchronous, it's possible that the message
  14324. types used by the subscription could be freed before the final
  14325. message of the subscription was processed. This patch adds
  14326. stasis_subscription_join(), which blocks until the last message
  14327. has been processed by the subscription. Since joining was most
  14328. commonly done right after an unsubscribe, a
  14329. stasis_unsubscribe_and_join() convenience function was also
  14330. added. Similar functions were also added to the
  14331. stasis_caching_topic and stasis_message_router, since they wrap
  14332. subscriptions and have similar problems. Other code in trunk was
  14333. refactored to join() where appropriate, or at least verify that
  14334. the subscription was complete before being destroyed. Review:
  14335. https://reviewboard.asterisk.org/r/2540
  14336. 2013-05-17 20:24 +0000 [r389009] Michael L. Young <elgueromexicano@gmail.com>
  14337. * channels/chan_iax2.c: Remove Character Limit On "inkeys" For IAX2
  14338. Currently, the buffer for processing "inkeys" is limited to 256
  14339. characters. If the user has many keys and the names of those key
  14340. files are long, the 256 character limit is not enough. * Change
  14341. inkeys buffer to be dynamic (closes issue ASTERISK-21398)
  14342. Reported by: Pavel Kopchyk Tested by: Pavel Kopchyk, Michael L.
  14343. Young Patches: asterisk-21398-iax2-inkeys-dynamic-buffer_v3.diff
  14344. by Michael L. Young (license 5026) Review:
  14345. https://reviewboard.asterisk.org/r/2501/
  14346. 2013-05-17 17:43 +0000 [r388976] Matthew Jordan <mjordan@digium.com>
  14347. * apps/app_dial.c, main/channel.c, main/dial.c,
  14348. include/asterisk/stasis_channels.h, main/stasis_channels.c:
  14349. Publish the outbound channel's application/data when dialing This
  14350. patch does two things: * It fixes a bug where the outbound
  14351. channel's application/data set by the dialing API/app_dial is not
  14352. communicated until the channel is hung up. If that happens, AMI
  14353. would incorrectly send a NewExten event immediately after a
  14354. Hangup. This isn't really AMI's fault, as the dialing APIs never
  14355. communicated the 'helpful' app/data on the outbound channel until
  14356. it was hungup. * It makes public sending a stasis message about a
  14357. change in channel state. This is useful enough that - for now at
  14358. least - it should be public. If operations on a channel go to
  14359. being more coarse-grained, this function could be made private
  14360. again. Review: https://reviewboard.asterisk.org/r/2548 Note that
  14361. this problem was found and reported by Matt DiMeo.
  14362. 2013-05-17 17:36 +0000 [r388975] Jonathan Rose <jrose@digium.com>
  14363. * include/asterisk/json.h, main/named_acl.c, CHANGES,
  14364. channels/chan_iax2.c, tests/test_security_events.c,
  14365. res/res_sip.c, main/json.c, main/manager.c,
  14366. channels/sip/include/config_parser.h, res/res_sip_nat.c,
  14367. channels/sip/dialplan_functions.c, include/asterisk/netsock2.h,
  14368. res/res_sip_outbound_registration.c,
  14369. channels/sip/config_parser.c, include/asterisk/security_events.h,
  14370. channels/sip/include/sip.h,
  14371. include/asterisk/security_events_defs.h, main/asterisk.c,
  14372. res/res_security_log.c, include/asterisk/acl.h,
  14373. res/res_sip/config_transport.c, channels/chan_sip.c,
  14374. main/security_events.c, channels/sip/security_events.c,
  14375. include/asterisk/res_sip.h: Stasis: Update security events to use
  14376. Stasis Also moves ACL messages to the security topic and gets rid
  14377. of the ACL topic (closes issue ASTERISK-21103) Reported by: Matt
  14378. Jordan Review: https://reviewboard.asterisk.org/r/2496/
  14379. 2013-05-15 21:13 +0000 [r388896] David M. Lee <dlee@digium.com>
  14380. * res/stasis/app.c, res/stasis/app.h: Fixed inverted logic in
  14381. app_add_channel(). Also added some missing doc comments for
  14382. stasis/app.h.
  14383. 2013-05-15 15:58 +0000 [r388840] Kevin Harwell <kharwell@digium.com>
  14384. * main/lock.c, /: Fix for segfault in __ast_rwlock_destroy with
  14385. DEBUG_THREADS If DEBUG_THREADS is enabled __ast_rwlock_destroy
  14386. causes a segfault while trying to access a possible NULL t->track
  14387. object. A NULL check has been added before trying to access the
  14388. memory. (closes issue ASTERISK-21724) Reported by: Corey Farrell
  14389. Fixed by: Corey Farrell Patches: ast_rwlock_destroy-segv.patch
  14390. uploaded by Corey Farrell (license 5909) ........ Merged
  14391. revisions 388838 from
  14392. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14393. revisions 388839 from
  14394. http://svn.asterisk.org/svn/asterisk/branches/11
  14395. 2013-05-15 15:03 +0000 [r388818] Jason Parker <jparker@digium.com>
  14396. * apps/app_voicemail.c, /: Fix VM snapshot handling for combined
  14397. INBOX. The snapshot API contains an option that allow for
  14398. combining of new and old messages within a single snapshot. New
  14399. messages, however, include options beyond just 'INBOX' - it also
  14400. includes the Urgent folder. A previous patch that combined INBOX
  14401. and Urgent accidentally impacted snapshots that attempted to gain
  14402. messages from just the Old folder. This patch fixes the snapshot
  14403. gathering such that the API returns the appropriate messages for
  14404. the folder selected, with and without the combine option. This
  14405. should make it more clear about what's happening. Review:
  14406. https://reviewboard.asterisk.org/r/2539/ ........ Merged
  14407. revisions 388816 from
  14408. http://svn.asterisk.org/svn/asterisk/branches/11
  14409. 2013-05-15 12:42 +0000 [r388770] Kinsey Moore <kmoore@digium.com>
  14410. * res/res_srtp.c, /, configure, include/asterisk/autoconfig.h.in,
  14411. configure.ac: Use srtp_shutdown when available This allows the
  14412. SRTP library to be shut down properly when the functionality is
  14413. offered by libsrtp. Review:
  14414. https://reviewboard.asterisk.org/r/2538/ (closes issue
  14415. ASTERISK-21719) ........ Merged revisions 388768 from
  14416. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14417. revisions 388769 from
  14418. http://svn.asterisk.org/svn/asterisk/branches/11
  14419. 2013-05-15 02:37 +0000 [r388729-388751] David M. Lee <dlee@digium.com>
  14420. * main/named_acl.c, res/res_stasis_test.c, main/asterisk.c,
  14421. main/presencestate.c, main/stasis.c, main/stasis_cache.c,
  14422. main/stasis_endpoints.c, include/asterisk/stasis.h, main/test.c,
  14423. main/app.c, main/devicestate.c: Refactored the rest of the
  14424. message types to use the STASIS_MESSAGE_TYPE_* macros.
  14425. * res/res_stasis_answer.c (added), res/res_stasis.c,
  14426. apps/app_stasis.c, res/stasis (added), include/asterisk/module.h,
  14427. include/asterisk/stasis_app.h, include/asterisk/stasis_app_impl.h
  14428. (added), res/Makefile: Break res_stasis into smaller files. When
  14429. implementing playback for stasis-http, the monolithicedness of
  14430. res_stasis really started to get in my way. This patch breaks the
  14431. major components of res_stasis.c into individual files. *
  14432. res/stasis/app.c - Stasis application tracking *
  14433. res/stasis/control.c - Channel control objects *
  14434. res/stasis/command.c - Channel command object This refactoring
  14435. also allows res_stasis applications to be loaded as independent
  14436. modules, such as the new res_stasis_answer module. The bulk of
  14437. this patch is simply moving code from one file to another,
  14438. adjusting names and adding accessors as necessary. Review:
  14439. https://reviewboard.asterisk.org/r/2530/
  14440. 2013-05-14 19:03 +0000 [r388701] Richard Mudgett <rmudgett@digium.com>
  14441. * main/astobj2.c, /, include/asterisk/astobj2.h: Make ao2 global
  14442. objects not always use the debug version of the ao2_ref() calls.
  14443. The debug versions of ao2_ref() should only be used if REF_DEBUG
  14444. is enabled so nothing is written to /tmp/refs unexpectedly.
  14445. (closes issue ASTERISK-21785) Reported by: abelbeck Patches:
  14446. jira_asterisk_21785_v11.patch (license #5621) patch uploaded by
  14447. rmudgett Tested by: abelbeck ........ Merged revisions 388700
  14448. from http://svn.asterisk.org/svn/asterisk/branches/11
  14449. 2013-05-14 12:47 +0000 [r388668] Kinsey Moore <kmoore@digium.com>
  14450. * res/stasis_http/resource_recordings.h,
  14451. rest-api-templates/stasis_http_resource.h.mustache,
  14452. res/res_stasis_json_endpoints.exports.in (added),
  14453. res/res_stasis_json_events.exports.in (added),
  14454. res/res_stasis_json_channels.c (added),
  14455. rest-api-templates/res_stasis_http_resource.c.mustache,
  14456. res/stasis_http/resource_events.h,
  14457. res/res_stasis_json_recordings.c (added),
  14458. res/stasis_json/resource_bridges.h (added),
  14459. res/stasis_http/resource_sounds.h, res/res_stasis_json_events.c
  14460. (added), res/res_stasis_json_bridges.exports.in (added),
  14461. res/stasis_json/resource_playback.h (added),
  14462. res/res_stasis_json_sounds.c (added),
  14463. res/stasis_http/resource_asterisk.h,
  14464. res/stasis_json/resource_channels.h (added),
  14465. rest-api-templates/stasis_json_resource.h.mustache (added),
  14466. res/res_stasis_json_channels.exports.in (added),
  14467. res/stasis_json/resource_recordings.h (added),
  14468. res/res_stasis_json_asterisk.c (added),
  14469. rest-api-templates/res_stasis_json_resource.c.mustache (added),
  14470. res/res_stasis_json_recordings.exports.in (added),
  14471. res/stasis_json/resource_events.h (added),
  14472. res/stasis_http/resource_endpoints.h,
  14473. res/stasis_json/resource_sounds.h (added),
  14474. tests/test_res_stasis.c, res/res_stasis_json_sounds.exports.in
  14475. (added), res/res_stasis_json_endpoints.c (added),
  14476. rest-api-templates/res_stasis_json_resource.exports.mustache
  14477. (added), res/stasis_http/resource_bridges.h,
  14478. res/stasis_json/resource_asterisk.h (added),
  14479. res/res_stasis_http_events.c,
  14480. res/res_stasis_json_asterisk.exports.in (added),
  14481. res/res_stasis_json_playback.exports.in (added),
  14482. res/stasis_http/resource_playback.h,
  14483. res/res_stasis_json_bridges.c (added),
  14484. res/stasis_http/resource_channels.h, res/stasis_json (added),
  14485. res/stasis_json/resource_endpoints.h (added),
  14486. res/res_stasis_json_playback.c (added), res/res_stasis.c,
  14487. rest-api-templates/make_stasis_http_stubs.py: Move JSON event
  14488. generators into separate modules This moves the JSON event
  14489. generators out of the Stasis-HTTP modules and into standalone
  14490. JSON-related counterparts so that Stasis-HTTP and res_stasis can
  14491. depend on them without creating dependency cycles. This also
  14492. provides a future location for Swagger Model validator functions
  14493. once the generators for that code are written. Review:
  14494. https://reviewboard.asterisk.org/r/2534/
  14495. 2013-05-13 21:21 +0000 [r388602-388617] Michael L. Young <elgueromexicano@gmail.com>
  14496. * /, main/logger.c: Fix Missing CALL-ID When Logging Through Syslog
  14497. The CALL-ID (ie [C-00000074]) is missing when logging to syslog.
  14498. This was just an oversight when this feature was added. * Add
  14499. CALL-IDs when using syslog (closes issue ASTERISK-21430) Reported
  14500. by: Nikola Ciprich Tested by: Nikola Ciprich, Michael L. Young
  14501. Patches: asterisk-21430-syslog-callid_trunk.diff by Michael L.
  14502. Young (license 5026) Review:
  14503. https://reviewboard.asterisk.org/r/2526/ ........ Merged
  14504. revisions 388605 from
  14505. http://svn.asterisk.org/svn/asterisk/branches/11
  14506. * /, channels/chan_sip.c: Fix Crash Caused By One-way Audio With
  14507. auto_* NAT Settings Fix The prior code committed, r385473, failed
  14508. to take into consideration that not all outgoing calls will be to
  14509. a peer. My fault. This patch does the following: * Check if there
  14510. is a related peer involved. If there is, check and set NAT
  14511. settings according to the peer's settings. * Fix a problem with
  14512. realtime peers. If the global setting has auto_force_rport set
  14513. and we issued a "sip reload" while a peer is still registered,
  14514. the peer's flags for NAT are reset to off. When this happens, we
  14515. were always setting the contact address of the peer to that of
  14516. the full contact info that we had. (closes issue ASTERISK-21374)
  14517. Reported by: jmls Tested by: Michael L. Young Patches:
  14518. asterisk-21374-fix-crash-and-rt-peers.diff by Michael L. Young
  14519. (license 5026) Review: https://reviewboard.asterisk.org/r/2524/
  14520. ........ Merged revisions 388601 from
  14521. http://svn.asterisk.org/svn/asterisk/branches/11
  14522. 2013-05-13 20:37 +0000 [r388598] Kinsey Moore <kmoore@digium.com>
  14523. * res/res_srtp.c, /: Revert r388529 for now Adding the cleanup
  14524. function needs some deeper thought since it apparently doesn't
  14525. exist for all variants of libsrtp. ........ Merged revisions
  14526. 388596 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  14527. ........ Merged revisions 388597 from
  14528. http://svn.asterisk.org/svn/asterisk/branches/11
  14529. 2013-05-13 19:29 +0000 [r388579] Jonathan Rose <jrose@digium.com>
  14530. * main/pbx.c, /: pbx: Fix lack of cleanup on macrolock and
  14531. context_table (closes issue ASTERISK-21723) Reported by: Corey
  14532. Farrell Patches: core-pbx-cleanup.patch uploaded by Correy
  14533. Farrell (license 5909) ........ Merged revisions 388532 from
  14534. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14535. revisions 388578 from
  14536. http://svn.asterisk.org/svn/asterisk/branches/11
  14537. 2013-05-13 18:10 +0000 [r388531] Kinsey Moore <kmoore@digium.com>
  14538. * res/res_srtp.c, /: Close libsrtp properly Ensure that libsrtp is
  14539. shutdown properly when res_srtp is unloaded. (closes issue
  14540. ASTERISK-21719) Reported by: Corey Farrell Patches:
  14541. res_srtp-library-shutdown.patch uploaded by Corey Farrell
  14542. ........ Merged revisions 388529 from
  14543. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14544. revisions 388530 from
  14545. http://svn.asterisk.org/svn/asterisk/branches/11
  14546. 2013-05-13 17:20 +0000 [r388526] Jonathan Rose <jrose@digium.com>
  14547. * channels/chan_gulp.c: chan_gulp: Minor readability Improvements
  14548. to chan_gulp (closes issue ASTERISK-21670) Reported by: Snuffy
  14549. Review: https://reviewboard.asterisk.org/r/2473/ Patches:
  14550. gulp-coding-guide.diff uploaded by snuffy (license 5024)
  14551. 2013-05-13 14:28 +0000 [r388479] Richard Mudgett <rmudgett@digium.com>
  14552. * main/manager.c, /: Fix SendText AMI action to never return
  14553. non-zero. AMI actions must never return non-zero unless they
  14554. intend to close the AMI connection. (Which is almost never.)
  14555. (closes issue ASTERISK-21779) Reported by: Paul Goldbaum ........
  14556. Merged revisions 388477 from
  14557. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14558. revisions 388478 from
  14559. http://svn.asterisk.org/svn/asterisk/branches/11
  14560. 2013-05-10 22:12 +0000 [r388427] Richard Mudgett <rmudgett@digium.com>
  14561. * /, channels/misdn/isdn_msg_parser.c: Allow mISDN to send PROGRESS
  14562. messsage. * Made isdn_msg_parser.c build a progress message with
  14563. the mandatory progress indicator IE. (The mISDNuser NT state
  14564. machine rejected sending the incomplete message.) Note: The
  14565. associated mISDN and mISDNuser patches respectively are viewable
  14566. here: http://svnview.digium.com/svn/thirdparty?view=rev&rev=200
  14567. http://svnview.digium.com/svn/thirdparty?view=rev&rev=201 (closes
  14568. issue AST-1153) Reported by: Guenther Kelleter Patches:
  14569. progress-chan_misdn.diff (license #6372) patch uploaded by
  14570. Guenther Kelleter progress-misdn.diff (license #6372) mISDN patch
  14571. uploaded by Guenther Kelleter progress-misdnuser.diff (license
  14572. #6372) mISDNuser patch uploaded by Guenther Kelleter ........
  14573. Merged revisions 388425 from
  14574. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14575. revisions 388426 from
  14576. http://svn.asterisk.org/svn/asterisk/branches/11
  14577. 2013-05-10 20:50 +0000 [r388380] Mark Michelson <mmichelson@digium.com>
  14578. * /, pbx/pbx_dundi.c: Fix memory leak in pbx_dundi pbx_dundi added
  14579. an io context without removing it. This caused a memory leak when
  14580. the module was unloaded. (closes ASTERISK-21718) Reported by
  14581. Corey Farrell Patches: pbx_dundi-ast_io_remove.patch uploaded by
  14582. Corey Farrell (License #5909) ........ Merged revisions 388376
  14583. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  14584. Merged revisions 388378 from
  14585. http://svn.asterisk.org/svn/asterisk/branches/11
  14586. 2013-05-10 20:28 +0000 [r388375] Michael L. Young <elgueromexicano@gmail.com>
  14587. * res/res_config_odbc.c: Fix Finding Extensions With Patterns Using
  14588. ODBC Realtime After the merge of support for the realtime sorcery
  14589. module, extensions that contained a pattern were not being found
  14590. through odbc realtime. It was tracked down to this one line that
  14591. was advancing to the next variable list before it should have
  14592. been. The removal of this one line fixes this. Tested this fix on
  14593. my machine. Received confirmation that this is the right fix from
  14594. file on IRC.
  14595. 2013-05-10 17:12 +0000 [r388318-388350] David M. Lee <dlee@digium.com>
  14596. * res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
  14597. res/res_stasis_http_recordings.c,
  14598. res/res_stasis_http_endpoints.c, main/loader.c,
  14599. res/res_stasis_http_events.c, res/res_stasis_http_sounds.c,
  14600. res/res_stasis_http_bridges.c, res/res_stasis_http.c,
  14601. res/res_stasis.c, apps/app_stasis.c,
  14602. res/res_stasis_http_asterisk.c,
  14603. rest-api-templates/res_stasis_http_resource.c.mustache,
  14604. res/res_stasis_http_playback.c, res/res_stasis_websocket.c,
  14605. tests/test_res_stasis.c: Address unload order issues for
  14606. res_stasis* modules I've noticed when doing a graceful shutdown
  14607. that the res_stasis_http.so module gets unloaded before the
  14608. modules that use it, which causes some asserts during their
  14609. unload. While r386928 was a quick hack to get it to not assert
  14610. and die, this patch increases the use counts on res_stasis.so and
  14611. res_stasis_http.so properly. It's a bigger change than I
  14612. expected, hence the review instead of just committing it. Review:
  14613. https://reviewboard.asterisk.org/r/2489/
  14614. * include/asterisk/stasis.h: Avoided __ast names for the private
  14615. variables created by the STASIS_MESSAGE_TYPE_*() macros.
  14616. 2013-05-10 13:13 +0000 [r388275] Kinsey Moore <kmoore@digium.com>
  14617. * rest-api-templates/event_function_decl.mustache (added),
  14618. res/stasis_http/resource_sounds.h, CHANGES,
  14619. res/res_stasis_http_events.c, include/asterisk/stasis_channels.h,
  14620. main/stasis_channels.c, rest-api-templates/swagger_model.py,
  14621. res/res_stasis.c, main/manager_channels.c,
  14622. rest-api-templates/stasis_http_resource.h.mustache,
  14623. res/stasis_http/resource_recordings.h,
  14624. rest-api-templates/asterisk_processor.py,
  14625. rest-api-templates/res_stasis_http_resource.c.mustache,
  14626. res/stasis_http/resource_endpoints.h,
  14627. rest-api/api-docs/events.json, res/stasis_http/resource_events.h,
  14628. res/res_stasis_websocket.c, apps/app_userevent.c: Add channel
  14629. events for res_stasis apps This change adds a framework in
  14630. res_stasis for handling events from channel topics. JSON event
  14631. generation and validation code is created from event
  14632. documentation in rest-api/api-docs/events.json to assist in JSON
  14633. event generation, ensure consistency, and ensure that accurate
  14634. documentation is available for ALL events that are received by
  14635. res_stasis applications. The userevent application has been
  14636. refactored along with the code that handles userevent channel
  14637. blob events to pass the headers as key/value pairs in the JSON
  14638. blob. As a side-effect, app_userevent now handles duplicate keys
  14639. by overwriting the previous value. Review:
  14640. https://reviewboard.asterisk.org/r/2428/ (closes issue
  14641. ASTERISK-21180) Patch-By: Kinsey Moore <kmoore@digium.com>
  14642. 2013-05-10 11:47 +0000 [r388254] Sean Bright <sean@malleable.com>
  14643. * /, channels/chan_sip.c: Fix copy/paste error in
  14644. one-touch-recording implementation. ........ Merged revisions
  14645. 388253 from http://svn.asterisk.org/svn/asterisk/branches/11
  14646. 2013-05-09 14:41 +0000 [r388175] Matthew Jordan <mjordan@digium.com>
  14647. * apps/app_userevent.c: Don't expect to pack three tuples when you
  14648. only have two
  14649. 2013-05-09 04:11 +0000 [r388110-388113] Michael L. Young <elgueromexicano@gmail.com>
  14650. * res/res_rtp_asterisk.c, /: Fix The Payload Being Set On CN
  14651. Packets And Do Not Set Marker Bit When we send out a CN packet
  14652. (for instance, in the case of using rtpkeepalives), we are not
  14653. setting the payload code properly. Also, we are setting the
  14654. marker bit when we shouldn't be according to RFC 3389, section 4.
  14655. AST_RTP_CN is not defined by AST_FORMAT codes. Therefore, we
  14656. should be using ast_rtp_codecs_payload_code() rather than
  14657. ast_rtp_codecs_payload_lookup(). 11 and trunk already use the
  14658. appropriate function. * In 1.8, use ast_rtp_codecs_payload_code()
  14659. * Remove the setting of the marker bit * Fix the debug message by
  14660. incrementing the seqno after the debug message is set in order to
  14661. display the correct seqno that was sent out (closes issue
  14662. ASTERISK-21246) Reported by: Peter Katzmann Tested by: Peter
  14663. Katzmann, Michael L. Young Patches:
  14664. asterisk-21246-rtp-cng-payload-error_1.8_v2.diff uploaded by
  14665. Michael L. Young (license 5026) Review:
  14666. https://reviewboard.asterisk.org/r/2500/ ........ Merged
  14667. revisions 388111 from
  14668. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14669. revisions 388112 from
  14670. http://svn.asterisk.org/svn/asterisk/branches/11
  14671. * /, apps/app_queue.c: Fix Segfault In app_queue When
  14672. "persistentmembers" Is Enabled And Using Realtime When the
  14673. "ignorebusy" setting was deprecated, we added some code to allow
  14674. us to be compatible with older setups that are still using the
  14675. "ignorebusy" setting instead of "ringinuse". We set a char
  14676. *variable with the column name to use, which helps the realtime
  14677. functions to use the correct column in their SQL queries. When
  14678. "persistentmembers" is enabled, we are not setting this variable
  14679. before the realtime functions were called to load members. This
  14680. results in the variable being NULL and therefore causing a
  14681. segfault when loading members during the module's process of
  14682. loading. The solution was to move the code that sets that
  14683. variable to be before these realtime functions are called during
  14684. the loading of the module. (closes issue ASTERISK-21738) Reported
  14685. by: JoshE Tested by: JoshE Patches:
  14686. asterisk-21738-rt-ringinuse-field-not-set.diff uploaded by
  14687. Michael L. Young (license 5026) Review:
  14688. https://reviewboard.asterisk.org/r/2499/ ........ Merged
  14689. revisions 388108 from
  14690. http://svn.asterisk.org/svn/asterisk/branches/11
  14691. 2013-05-08 22:00 +0000 [r388014-388075] David M. Lee <dlee@digium.com>
  14692. * res/res_stasis_websocket.c: Fixed MODFLAG for
  14693. res_stasis_websocket
  14694. * build_tools/cflags.xml, include/asterisk/inline_api.h: Add
  14695. development flag to disable the inline API. A GCC bug[1] can, in
  14696. some cases, pop up an unsuppressible pedwarn when using a static
  14697. inline standard library function from a non-static inline
  14698. function. This normally doesn't show up, but can occur if you're
  14699. running an upgrade version of GCC (such as GCC 4.8 on OS X, which
  14700. normally runs GCC 4.2). [1]:
  14701. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47816
  14702. * main/srv.c, main/enum.c: Removed #if checks for crazy old
  14703. versions of OS X. The <arpa/nameser_compat.h> was introduced way
  14704. back in OS X Panther, which itself was end-of-lifed back in 2007.
  14705. We can assume that any OS X machine we build on will need that
  14706. header file :-) Why bother removing it? The flag we're checking
  14707. (__APPLE_CC__) is actually Apple's build number. Self-compiled
  14708. versions of GCC (such as installing the latest version of GCC
  14709. from homebrew) sets the value to 0, making it useless for this
  14710. sort of compile flaggery.
  14711. * tests/test_stasis_endpoints.c: Fixed set-but-not-used warning
  14712. caught by newer GCC
  14713. 2013-05-08 18:36 +0000 [r388008] Matthew Jordan <mjordan@digium.com>
  14714. * apps/app_directory.c: Don't perform a realtime lookup with a NULL
  14715. keyword Previously, a call to ast_load_realtime_multientry could
  14716. get away with passing a NULL parameter to the function, even
  14717. though it really isn't supposed to do that. After the change over
  14718. to using ast_variable instead of variadic arguments, the realtime
  14719. engine gets unhappy if you do this. This was always an unintended
  14720. function call in app_directory anyway - now, we just don't call
  14721. into the realtime function calls if we don't have anything to
  14722. query on.
  14723. 2013-05-08 18:34 +0000 [r388005] David M. Lee <dlee@digium.com>
  14724. * main/stasis_channels.c, res/res_stasis.c,
  14725. main/manager_channels.c, main/channel.c,
  14726. include/asterisk/stasis_channels.h, tests/test_stasis_channels.c,
  14727. apps/app_userevent.c, include/asterisk/stasis.h: Remove required
  14728. type field from channel blobs When we first introduced the
  14729. channel blob types, the JSON blobs were self identifying by a
  14730. required "type" field in the JSON object itself. This, as it
  14731. turns out, was a bad idea. When we introduced the message router,
  14732. it was useless for routing based on the JSON type. And messages
  14733. had two type fields to check: the stasis_message_type() of the
  14734. message itself, plus the type field in the JSON blob (but only if
  14735. it was a blob message). This patch corrects that mistake by
  14736. removing the required type field from JSON blobs, and introducing
  14737. first class stasis_message_type objects for the actual message
  14738. type. Since we now will have a proliferation of message types, I
  14739. introduced a few macros to help reduce the amount of boilerplate
  14740. necessary to set them up. Review:
  14741. https://reviewboard.asterisk.org/r/2509
  14742. 2013-05-08 16:58 +0000 [r387974] Richard Mudgett <rmudgett@digium.com>
  14743. * utils: Add version.c to list of ignored files in the utils
  14744. directory.
  14745. 2013-05-08 13:39 +0000 [r387932] David M. Lee <dlee@digium.com>
  14746. * tests/test_endpoints.c (added),
  14747. include/asterisk/stasis_endpoints.h (added),
  14748. res/res_stasis_test.c (added),
  14749. res/stasis_http/resource_endpoints.c, channels/sip/include/sip.h,
  14750. main/asterisk.c, rest-api/api-docs/endpoints.json,
  14751. res/stasis_http/resource_endpoints.h, main/stasis_cache.c,
  14752. main/stasis_endpoints.c (added), channels/chan_sip.c,
  14753. include/asterisk/endpoints.h (added), include/asterisk/astobj2.h,
  14754. main/channel_internal_api.c, include/asterisk/stasis_test.h
  14755. (added), include/asterisk/stasis.h, main/endpoints.c (added),
  14756. main/astobj2.c, res/res_stasis_http_endpoints.c,
  14757. tests/test_stasis_endpoints.c (added),
  14758. res/res_stasis_test.exports.in (added): Initial support for
  14759. endpoints. An endpoint is an external device/system that may
  14760. offer/accept channels to/from Asterisk. While this is a very
  14761. useful concept for end users, it is surprisingly not a core
  14762. concept within Asterisk itself. This patch defines ast_endpoint
  14763. as a separate object, which channel drivers may use to expose
  14764. their concept of an endpoint. As the channel driver creates
  14765. channels, it can use ast_endpoint_add_channel() to associate
  14766. channels to the endpoint. This updated the endpoint
  14767. appropriately, and forwards all of the channel's events to the
  14768. endpoint's topic. In order to avoid excessive locking on the
  14769. endpoint object itself, the mutable state is not accessible via
  14770. getters. Instead, you can create a snapshot using
  14771. ast_endpoint_snapshot_create() to get a consistent snapshot of
  14772. the internal state. This patch also includes a set of topics and
  14773. messages associated with endpoints, and implementations of the
  14774. endpoint-related RESTful API. chan_sip was updated to create
  14775. endpoints with SIP peers, but the state of the endpoints is not
  14776. updated with the state of the peer. Along for the ride in this
  14777. patch is a Stasis test API. This is a stasis_message_sink object,
  14778. which can be subscribed to a Stasis topic. It has functions for
  14779. blocking while waiting for conditions in the message sink to be
  14780. fulfilled. (closes issue ASTERISK-21421) Review:
  14781. https://reviewboard.asterisk.org/r/2492/
  14782. 2013-05-08 07:21 +0000 [r387885] Alec L Davis <sivad.a@paradise.net.nz>
  14783. * /, channels/chan_sip.c: chan_sip: NOTIFYs for BLF start queuing
  14784. up and fail to be sent out after retries fail RFC6665 4.2.2: ...
  14785. after a failed State NOTIFY transaction remove the subscription
  14786. The problem is that the State Notify requests rely on the 200OK
  14787. reponse for pacing control and to not confuse the notify
  14788. susbsystem. The issue is, the pendinginvite isn't cleared if a
  14789. response isn't received, thus further notify's are never sent.
  14790. The solution, follow RFC 6665 4.2.2's 'SHOULD' and remove the
  14791. subscription after failure. (closes issue ASTERISK-21677)
  14792. Reported by: Dan Martens Tested by: alecdavis alecdavis (license
  14793. 585) Review https://reviewboard.asterisk.org/r/2475/ ........
  14794. Merged revisions 387875 from
  14795. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14796. revisions 387880 from
  14797. http://svn.asterisk.org/svn/asterisk/branches/11
  14798. 2013-05-07 18:32 +0000 [r387803-387825] David M. Lee <dlee@digium.com>
  14799. * include/asterisk/lock.h: Fixed up \example marker in lock.h
  14800. Doxygen comment. The \example tags marks an entire file as an
  14801. example, not a code snippet.
  14802. * res/res_config_pgsql.c, main/manager.c, /: Minor fixups to
  14803. Doxygen comments. The \example tags marks an entire file as an
  14804. example, not a code snippet. ........ Merged revisions 387823
  14805. from http://svn.asterisk.org/svn/asterisk/branches/11
  14806. * include/asterisk/json.h: Better explained the depths of reference
  14807. stealing.
  14808. 2013-05-07 17:53 +0000 [r387802] Jason Parker <jparker@digium.com>
  14809. * include/asterisk.h: Fix build breakage, from LOW_MEMORY fix.
  14810. 2013-05-06 17:15 +0000 [r387740-387741] Richard Mudgett <rmudgett@digium.com>
  14811. * include/asterisk/astobj2.h: Update ao2_destructor_fn doxygen.
  14812. * channels/chan_dahdi.c: Make a log NOTICE more explicit that the
  14813. event comes from DAHDI and not PRI.
  14814. 2013-05-06 17:01 +0000 [r387738] Jason Parker <jparker@digium.com>
  14815. * main/asterisk.c: Fix building with LOW_MEMORY defined.
  14816. 2013-05-06 15:58 +0000 [r387690] Russell Bryant <russell@russellbryant.com>
  14817. * /, apps/app_meetme.c: Make SLA reload more paranoid. Reload
  14818. support was originally not included for SLA. It was added later,
  14819. but in a fairly non-traditional way. It basically sets a flag
  14820. indicating that a reload is pending, and then waits for a time
  14821. where it thinks everything SLA related is idle and unused, and
  14822. *then* executes the reload. It does this because the reload
  14823. process is destructive. It starts by throwing everything away and
  14824. starting over. There are a number of problems with this approach.
  14825. One of them is that the check to see if anything in use was
  14826. incomplete. This patch makes it more complete and thus less
  14827. likely for a crash to occur during reload processing. However,
  14828. this approach still has problems so some much more significant
  14829. reworking of this code will need to come in as a next step. Patch
  14830. credit and testing by CoreDial, LLC. ........ Merged revisions
  14831. 387688 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  14832. ........ Merged revisions 387689 from
  14833. http://svn.asterisk.org/svn/asterisk/branches/11
  14834. 2013-05-06 13:04 +0000 [r387662] Joshua Colp <jcolp@digium.com>
  14835. * include/asterisk/sorcery.h, res/res_sorcery_astdb.c,
  14836. tests/test_sorcery.c, main/sorcery.c: Add support for observers
  14837. and JSON objectset creation to sorcery. This change adds the
  14838. ability for modules to add themselves as observers to sorcery
  14839. object types. Observers can be notified when objects are created,
  14840. updated, or deleted as well as when the object type is loaded or
  14841. reloaded. Observer notifications are done using a thread pool in
  14842. a serialized fashion so the caller of the sorcery API calls is
  14843. minimally impacted. This also adds the ability to create JSON
  14844. changesets of a sorcery object. Tests are also present to confirm
  14845. all of the above functionality. Review:
  14846. https://reviewboard.asterisk.org/r/2477/
  14847. 2013-05-04 16:00 +0000 [r387630-387633] Matthew Jordan <mjordan@digium.com>
  14848. * main/asterisk.c, include/asterisk.h: Clean up documentation;
  14849. prevent ref leak on exit This patch: * Cleans up some doxygen *
  14850. Prevents leaking the system level Stasis topics and messages on
  14851. exit (users of valgrind will be happier)
  14852. * funcs/func_global.c: Migrate SHARED's use of the VarSet AMI event
  14853. to Stasis-Core This patch removes the direct call to AMI from the
  14854. SHARED function and instead call Stasis-Core. Stasis-Core
  14855. delivers the notification that a shared variable has changed on a
  14856. channel to all interested consumers. (issue ASTERISK-21462)
  14857. 2013-05-03 18:03 +0000 [r387594] Jonathan Rose <jrose@digium.com>
  14858. * main/asterisk.c, include/asterisk.h, channels/chan_sip.c,
  14859. res/res_stun_monitor.c, main/event.c, channels/chan_iax2.c:
  14860. Stasis: Convert network change events into network change stasis
  14861. messages (issue ASTERISK-21103) Review:
  14862. https://reviewboard.asterisk.org/r/2490/
  14863. 2013-05-03 11:35 +0000 [r387545] Joshua Colp <jcolp@digium.com>
  14864. * res/res_sip_sdp_rtp.c, channels/chan_gulp.c: Use the configured
  14865. formats for Gulp sessions if there are no joint formats between
  14866. requested formats and configured formats. (closes issue
  14867. ASTERISK-21756)
  14868. 2013-05-02 20:59 +0000 [r387519] Matthew Jordan <mjordan@digium.com>
  14869. * build_tools/post_process_documentation.py, apps/app_stack.c:
  14870. Migrate AMI VarSet events raised by GoSub local variables This
  14871. patch moves VarSet events for local variables raised by GoSub
  14872. over to Stasis-Core. It also tweaks up the post-processing
  14873. documentation scripts to not combine parameters if both
  14874. parameters are already documented. (issue ASTERISK-21462)
  14875. 2013-05-02 19:06 +0000 [r387482] Richard Mudgett <rmudgett@digium.com>
  14876. * main/channel.c: Remove the ABI compatability ast_channel_alloc().
  14877. It is no longer needed.
  14878. 2013-05-02 17:15 +0000 [r387423] Matthew Jordan <mjordan@digium.com>
  14879. * utils/Makefile, /: Update utils Makefile to handle r387294 Alec's
  14880. patch that added the Asterisk version to 'core show locks'
  14881. angered the items in utils, as they exist somewhat outside of the
  14882. Asterisk build system. Some day, this Makefile should get nuked
  14883. from high orbit, but for now, include version.c in its list of
  14884. stuff to pile in. ........ Merged revisions 387421 from
  14885. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14886. revisions 387422 from
  14887. http://svn.asterisk.org/svn/asterisk/branches/11
  14888. 2013-05-02 16:39 +0000 [r387420] Jonathan Rose <jrose@digium.com>
  14889. * include/asterisk/event_defs.h, main/event.c: Putting all event
  14890. defs and names back for now due to res_corosync dependency
  14891. 2013-05-02 08:24 +0000 [r387296-387369] Alec L Davis <sivad.a@paradise.net.nz>
  14892. * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
  14893. Session-Expires: Set timer to correctly expire at (~2/3) of the
  14894. interval when not the refresher RFC 4028 Section 10 if the side
  14895. not performing refreshes does not receive a session refresh
  14896. request before the session expiration, it SHOULD send a BYE to
  14897. terminate the session, slightly before the session expiration.
  14898. The minimum of 32 seconds and one third of the session interval
  14899. is RECOMMENDED. Prior to this asterisk would refresh at 1/2 the
  14900. Session-Expires interval, or if the remote device was the
  14901. refresher, asterisk would timeout at interval end. Now, when not
  14902. refresher, timeout as per RFC noted above. (closes issue
  14903. ASTERISK-21742) Reported by: alecdavis Tested by: alecdavis
  14904. alecdavis (license 585) Review
  14905. https://reviewboard.asterisk.org/r/2488/ ........ Merged
  14906. revisions 387344 from
  14907. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14908. revisions 387345 from
  14909. http://svn.asterisk.org/svn/asterisk/branches/11
  14910. * /, channels/chan_sip.c: chan_sip: Honor Session-Expires in 200OK
  14911. response when it's a RE-INVITE when asterisk is the refresher.
  14912. RFC 4028 Section 7.2 "UACs MUST be prepared to receive a
  14913. Session-Expires header field in a response, even if none were
  14914. present in the request." What changed After ASTERISK-20787,
  14915. inbound calls to asterisk with no Session-Expires in the INVITE
  14916. are now are offered a Session-Expires (1800 asterisk default) in
  14917. the response, with asterisk as the refresher. Symptom: After 900
  14918. seconds (asterisk default refresher period 1800), asterisk
  14919. RE-INVITEs the device, the device may respond with a much lower
  14920. Session-Expires (180 in our case) value that it is now using.
  14921. Asterisk ignores this response, as it's deemed both an INBOUND
  14922. CALL, and a RE-INVITE. After 180 seconds the device times out and
  14923. sends BYE (hangs up), asterisk is still working with the
  14924. refresher period of 1800 as it ignored the 'Session Expires: 180'
  14925. in the previous 200OK response. Fix: handle_response_invite()
  14926. when 200OK, remove check for outbound and reinvite. (closes issue
  14927. ASTERISK-21664) Reported by: alecdavis Tested by: alecdavis
  14928. alecdavis (license 585) Review
  14929. https://reviewboard.asterisk.org/r/2463/ ........ Merged
  14930. revisions 387312 from
  14931. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14932. revisions 387319 from
  14933. http://svn.asterisk.org/svn/asterisk/branches/11
  14934. * channels/chan_dahdi.c, /: chan_dahdi: fix lower bound check with
  14935. -ve integer conversion from a float Lower bound of a 16bit signed
  14936. int is -32768 not -32767 (closes issue ASTERISK-21744) Reported
  14937. by: alecdavis Tested by: alecdavis alecdavis (license 585)
  14938. ........ Merged revisions 387297 from
  14939. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14940. revisions 387298 from
  14941. http://svn.asterisk.org/svn/asterisk/branches/11
  14942. * /, main/utils.c: Add Asterisk Version to core show locks Assist
  14943. with reporting 'core show locks' when submitting bug reports.
  14944. Example below: =========================== == SVN-branch-1.8-...
  14945. == Currently Held Locks =========================== (closes issue
  14946. ASTERISK-21743) Reported by: alecdavis Tested by: alecdavis
  14947. alecdavis (license 585) ........ Merged revisions 387294 from
  14948. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14949. revisions 387295 from
  14950. http://svn.asterisk.org/svn/asterisk/branches/11
  14951. 2013-05-01 21:55 +0000 [r387260-387261] Richard Mudgett <rmudgett@digium.com>
  14952. * channels/chan_local.c: Simplify
  14953. chan_local.c:manager_optimize_away() using ao2_find().
  14954. * channels/chan_local.c: Cleanup chan_local.c:local_new(). * Remove
  14955. t and ama local variables. There is no way they could be anything
  14956. other than default because p->owner can only be NULL at this
  14957. point. * Rename tmp and tmp2 to owner and chan respectively. *
  14958. Remove redundant initialization of channel context, exten,
  14959. priority.
  14960. 2013-05-01 21:18 +0000 [r387220] Matthew Jordan <mjordan@digium.com>
  14961. * res/res_rtp_asterisk.c, /: Clear the DTMF sending digit tracking
  14962. on off nominal paths In certain situations, when the RTP engine
  14963. goes to send a DTMF end digit it may be in a situation where the
  14964. remote address is no longer available, or the digit that was
  14965. supposed to be sent is invalid. In such cases, we need to clear
  14966. the RTP counters appropriately. Otherwise, when the RTP source is
  14967. set again, we'll continue to think that we're in the middle of
  14968. sending a DTMF digit, which can confuse the remote party
  14969. (signficantly). (closes issue ASTERISK-21522) Reported by: Corey
  14970. Farrell patches: rtp_dtmf_process_end.patch uploaded by Corey
  14971. Farrell (License 5909) ........ Merged revisions 387213 from
  14972. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  14973. revisions 387216 from
  14974. http://svn.asterisk.org/svn/asterisk/branches/11
  14975. 2013-05-01 21:09 +0000 [r387181-387212] Richard Mudgett <rmudgett@digium.com>
  14976. * channels/chan_local.c: Trivial changes. Comments, parentheses,
  14977. spelling, wording.
  14978. * channels/chan_local.c: Make chan_local locals container an
  14979. explicit list container. Pretending that chan_local locals
  14980. container can have more than one bucket is silly. The container
  14981. has no key to help search.
  14982. * channels/chan_local.c: Whitespace changes.
  14983. * main/loader.c: Make mod_load_cmp() not as klunky. There is a
  14984. reason the heap comparison functions like qsort(), and other
  14985. comparison functions specify <0, >0, and =0 for the return
  14986. values.
  14987. * channels/chan_unistim.c: Remove some unnecessary calls to
  14988. ast_bridged_channel() in chan_unistim.c
  14989. * channels/chan_mgcp.c: Remove some unnecessary calls to
  14990. ast_bridged_channel() in chan_mgcp.c
  14991. * channels/chan_skinny.c: Remove some unnecessary calls to
  14992. ast_bridged_channel() in chan_skinny.c
  14993. * channels/chan_iax2.c: Remove some unnecessary calls to
  14994. ast_bridged_channel() in chan_iax2.c
  14995. * channels/chan_dahdi.c, channels/sig_analog.c: Remove some
  14996. unnecessary calls to ast_bridged_channel() in
  14997. chan_dahdi.c/sig_analog.c
  14998. 2013-05-01 18:38 +0000 [r387135] Matthew Jordan <mjordan@digium.com>
  14999. * /, channels/chan_sip.c: Prevent crash in 'sip show peers' when
  15000. the number of peers on a system is large When you have lots of
  15001. SIP peers (according to the issue reporter, around 3500), the
  15002. 'sip show peers' CLI command or AMI action can crash due to a
  15003. poorly placed string duplication that occurs on the stack. This
  15004. patch refactors the command to not allocate the string on the
  15005. stack, and handles the formatting of a single peer in a separate
  15006. function call. (closes issue ASTERISK-21466) Reported by:
  15007. Guillaume Knispel patches:
  15008. fix_sip_show_peers_stack_overflow_asterisk_11.3.0-v2.patch
  15009. uploaded by gknispel (License 6492) ........ Merged revisions
  15010. 387134 from http://svn.asterisk.org/svn/asterisk/branches/11
  15011. 2013-05-01 17:15 +0000 [r387108] Richard Mudgett <rmudgett@digium.com>
  15012. * channels/chan_dahdi.c: Move some annoying chan_dahdi debug
  15013. messages to level 5.
  15014. 2013-04-30 22:50 +0000 [r387039] Matthew Jordan <mjordan@digium.com>
  15015. * main/features.c, /: Fix CDR not being created during an
  15016. externally initiated blind transfer Way back when in the dark
  15017. days of Asterisk 1.8.9, blind transferring a call in a context
  15018. that included the 'h' extension would inadvertently execute the
  15019. hangup code logic on the transferred channel. This was a "bad
  15020. thing". The fix was to properly check for the softhangup flags on
  15021. the channel and only execute the 'h' extension logic (and, in
  15022. later versions, hangup handler logic) if the channel was well and
  15023. truly dead (Jim). Unfortunately, CDRs are fickle. Setting the
  15024. softhangup flag when we detected that the channel was leaving the
  15025. bridge (but not to die) caused some crucial snippet of CDR code,
  15026. lying in ambush in the middle of the bridging code, to not get
  15027. executed. This had the effect of blowing away one of the CDRs
  15028. that is typically created during a blind transfer. While we live
  15029. and die by the adage "don't touch CDRs in release branches", this
  15030. was our bad. The attached patch restores the CDR behavior, and
  15031. still manages to not run the 'h' extension during a blind
  15032. transfer (at least not when it's supposed to). Thanks to Steve
  15033. Davies for diagnosing this and providing a fix. Review:
  15034. https://reviewboard.asterisk.org/r/2476 (closes issue
  15035. ASTERISK-21394) Reported by: Ishfaq Malik Tested by: Ishfaq
  15036. Malik, mjordan patches: fix_missing_blindXfer_cdr2 uploaded by
  15037. one47 (License 5012) ........ Merged revisions 387036 from
  15038. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15039. revisions 387038 from
  15040. http://svn.asterisk.org/svn/asterisk/branches/11
  15041. 2013-04-30 22:37 +0000 [r387035-387037] Jonathan Rose <jrose@digium.com>
  15042. * main/event.c, include/asterisk/json.h, channels/chan_iax2.c,
  15043. main/named_acl.c, include/asterisk/acl.h, main/json.c,
  15044. main/manager.c, channels/chan_sip.c,
  15045. include/asterisk/event_defs.h: Stasis Core: Refactor ACL Change
  15046. events to go out over the stasis core msg bus (issue
  15047. ASTERISK-21103) Reported by: Matt Jordan Review:
  15048. https://reviewboard.asterisk.org/r/2481/
  15049. * /, main/event.c: Add forgotten event types to event_names array
  15050. ........ Merged revisions 387030 from
  15051. http://svn.asterisk.org/svn/asterisk/branches/11
  15052. 2013-04-30 18:12 +0000 [r386990] Jason Parker <jparker@digium.com>
  15053. * channels/chan_gulp.c: Fix a log message.
  15054. 2013-04-30 13:48 +0000 [r386931] Sean Bright <sean@malleable.com>
  15055. * include/asterisk/utils.h, /: Use the proper lower bound when
  15056. doing saturation arithmetic. 16 bit signed integers have a range
  15057. of [-32768, 32768). The existing code was using the interval
  15058. (-32768, 32768) instead. This patch fixes that. Review:
  15059. https://reviewboard.asterisk.org/r/2479/ ........ Merged
  15060. revisions 386929 from
  15061. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15062. revisions 386930 from
  15063. http://svn.asterisk.org/svn/asterisk/branches/11
  15064. 2013-04-30 13:37 +0000 [r386928] David M. Lee <dlee@digium.com>
  15065. * tests/test_stasis_http.c, res/res_stasis_http.c: Just a couple of
  15066. Stasis-HTTP nitpick fixes. * Fixed crash when res_stasis_http is
  15067. unloaded before the implementation modules. * Cleaned up test
  15068. initialization for test_stasis_http.so.
  15069. 2013-04-29 23:36 +0000 [r386879] Rusty Newton <rnewton@digium.com>
  15070. * sounds/Makefile, /: Modifying sounds/Makefile to pull down 1.4.24
  15071. core sounds 1.4.24 core sounds includes a full set of Italian
  15072. prompts for core sounds and a fix for the missing voicemail
  15073. prompts in the Russian language. (closes issue ASTERISK-19431)
  15074. (closes issue ASTERISK-19721) ........ Merged revisions 386877
  15075. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  15076. Merged revisions 386878 from
  15077. http://svn.asterisk.org/svn/asterisk/branches/11
  15078. 2013-04-29 13:38 +0000 [r386793-386841] Olle Johansson <oej@edvina.net>
  15079. * /, CHANGES, apps/app_queue.c: Play periodic prompts for first
  15080. call in a call queue Review:
  15081. https://reviewboard.asterisk.org/r/2263/ ........ Merged
  15082. revisions 386792 from
  15083. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15084. revisions 386794 from
  15085. http://svn.asterisk.org/svn/asterisk/branches/11
  15086. * include/asterisk/doxygen/commits.h: Change pointer to existing
  15087. wiki page instead of non-existing page
  15088. 2013-04-28 03:32 +0000 [r386774] Kinsey Moore <kmoore@digium.com>
  15089. * rest-api-templates/swagger_model.py: Fix spelling error in python
  15090. doc
  15091. 2013-04-27 19:03 +0000 [r386731-386760] Joshua Colp <jcolp@digium.com>
  15092. * res/res_sip.c: Tweak res_sip priority so it gets loaded first
  15093. before all other SIP stuff.
  15094. * res/res_config_sqlite.c: Update res_config_sqlite to use the
  15095. ast_variable lists.
  15096. * CHANGES, res/res_config_ldap.c, main/config.c,
  15097. tests/test_sorcery_realtime.c (added), main/sorcery.c,
  15098. res/res_sorcery_realtime.c (added), addons/res_config_mysql.c,
  15099. res/res_config_sqlite3.c, res/res_config_curl.c,
  15100. res/res_config_pgsql.c, res/res_config_odbc.c,
  15101. include/asterisk/config.h: Add support for a realtime sorcery
  15102. module. This change does the following: 1. Adds the sorcery
  15103. realtime module 2. Adds unit tests for the sorcery realtime
  15104. module 3. Changes the realtime core to use an ast_variable list
  15105. instead of variadic arguments 4. Changes all realtime drivers to
  15106. accept an ast_variable list Review:
  15107. https://reviewboard.asterisk.org/r/2424/
  15108. 2013-04-26 21:52 +0000 [r386685-386686] Matthew Jordan <mjordan@digium.com>
  15109. * res/res_sip_nat.c, res/res_sip_registrar.c,
  15110. res/res_sip_dtmf_info.c,
  15111. res/res_sip_outbound_authenticator_digest.c,
  15112. res/res_sip_rfc3326.c, res/res_sip_outbound_registration.c,
  15113. res/res_sip_endpoint_identifier_ip.c,
  15114. res/res_sip_endpoint_identifier_constant.c, res/res_sip_mwi.c,
  15115. res/res_sip_acl.c, res/res_sip_logger.c,
  15116. res/res_sip_endpoint_identifier_user.c, res/res_sip_pubsub.c: Add
  15117. missing module dependencies to various res_sip* modules This
  15118. patch updates the various res_sip modules with their proper
  15119. menuselect options and proper dependencies, such that Asterisk
  15120. still has a snowball's chance in hell of compiling without
  15121. pjproject. Much thanks to snuffy(-home|-work) for making
  15122. everyone's life easier with this patch. Review:
  15123. https://reviewboard.asterisk.org/r/2472/ (closes issue
  15124. ASTERISK-21669) Reported by: snuffy patches: xml-depends.diff
  15125. uploaded by snuffy (license 5024)
  15126. * /, main/config.c: Clean up memory leak in config file on off
  15127. nominal paths when glob is allowed If a system allows for its
  15128. usage, Asterisk will use glob to help parse Asterisk .conf files.
  15129. The config file loading routine was leaking the memory allocated
  15130. by the glob() routine when the config file was in an unmodified
  15131. or invalid state. This patch properly calls globfree in those off
  15132. nominal paths. (closes issue ASTERISK-21412) Reported by: Corey
  15133. Farrell patches: config_glob_leak.patch uploaded by Corey Farrell
  15134. (license 5909) ........ Merged revisions 386672 from
  15135. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15136. revisions 386677 from
  15137. http://svn.asterisk.org/svn/asterisk/branches/11
  15138. 2013-04-26 21:31 +0000 [r386684] David M. Lee <dlee@digium.com>
  15139. * main/loader.c: By popular demand, putting the
  15140. about-to-load-module printf back. But now it only prints during
  15141. the initial startup, and prints at verbose 1 level.
  15142. 2013-04-26 21:27 +0000 [r386676] Matthew Jordan <mjordan@digium.com>
  15143. * /, main/features.c: Clean up resources in features on exit This
  15144. patch cleans up two things features: * It properly unregisters
  15145. the CLI commands that features registered * It cancels and
  15146. performs a pthread_join on the created parking thread. This not
  15147. only properly joins a non-detached thread, but also prevents
  15148. disposing of the parking lots prior to the parking thread
  15149. completely exiting. (closes issue ASTERISK-21407) Reported by:
  15150. Corey Farrell patches: features_shutdown-r2.patch uploaded by
  15151. Corey Farrell (License 5909) ........ Merged revisions 386641
  15152. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  15153. Merged revisions 386642 from
  15154. http://svn.asterisk.org/svn/asterisk/branches/11
  15155. 2013-04-26 21:00 +0000 [r386640] David M. Lee <dlee@digium.com>
  15156. * main/loader.c: Removing stray printf from r386540
  15157. 2013-04-26 20:32 +0000 [r386638] Mark Michelson <mmichelson@digium.com>
  15158. * main/uuid.c: Add an \extref doxygen pointer for libuuid. Thanks
  15159. to Olle Johansson for suggesting this.
  15160. 2013-04-26 20:05 +0000 [r386623-386624] David M. Lee <dlee@digium.com>
  15161. * res/res_chan_stats.c (added), res/res_statsd.exports.in (added),
  15162. configs/statsd.conf.sample (added), include/asterisk/utils.h,
  15163. include/asterisk/statsd.h (added), res/res_statsd.c (added):
  15164. Example of how to use the Stasis message bus In order to get
  15165. people familiar with the Stasis message bus, it would be useful
  15166. to have something of a tutorial. Since I'm not clever enough to
  15167. think of some cool integration we could do with Twitter, I
  15168. settled for something that might actually be useful. This patch
  15169. adds a res_statsd.so module, which implements a basic statsd[1]
  15170. client. Statsd is a very simple statistics gathering server,
  15171. which can publish its results to a backend graphing engine, like
  15172. Graphite[2]. There are several different Statsd server
  15173. implementations[3], so you can pick what works best for your
  15174. environment. The actual example of how to use the Stasis message
  15175. bus is in res_chan_stats.so. This module demonstrates how to use
  15176. subscriptions and the message router by monitoring messages and
  15177. posting channels stats to the statsd server. A wiki page walking
  15178. through res_chan_stats.so is forthcoming. [1]:
  15179. https://github.com/etsy/statsd/ [2]:
  15180. http://graphite.readthedocs.org/en/latest/ [3]:
  15181. http://joemiller.me/2011/09/21/list-of-statsd-server-implementations/
  15182. Review: https://reviewboard.asterisk.org/r/2460/
  15183. * res/res_sip: Ignore *.[oi] files in res/res_sip
  15184. 2013-04-25 21:32 +0000 [r386577] Joshua Colp <jcolp@digium.com>
  15185. * configs/res_sip.conf.sample: Don't bind to anything in the sample
  15186. configuration so we don't clash with chan_sip on a "make samples"
  15187. right now.
  15188. 2013-04-25 18:28 +0000 [r386540-386541] Mark Michelson <mmichelson@digium.com>
  15189. * /: REmove automerge properties.
  15190. * res/res_sip/sip_options.c, res/res_sip_pubsub.exports.in (added),
  15191. res/res_sip_rfc3326.c (added), res/res_sip_mwi.c (added),
  15192. main/sorcery.c, res/res_sip (added),
  15193. include/asterisk/threadpool.h, res/res_sip_registrar.c (added),
  15194. res/res_sip/sip_distributor.c, res/res_sip/config_auth.c,
  15195. include/asterisk/res_sip_session.h (added),
  15196. res/res_sip_endpoint_identifier_ip.c (added), channels/Makefile,
  15197. tests/test_sorcery.c, res/res_sip/config_domain_aliases.c,
  15198. res/res_sip_endpoint_identifier_user.c (added), res/res_sip.c
  15199. (added), include/asterisk/res_sip_pubsub.h (added),
  15200. include/asterisk/sorcery.h,
  15201. res/res_sip_outbound_authenticator_digest.c (added),
  15202. res/res_sip/location.c, res/res_sip_outbound_registration.c
  15203. (added), res/res_sip_endpoint_identifier_constant.c (added),
  15204. res/res_sip_acl.c (added), res/res_sip_pubsub.c (added),
  15205. res/res_sorcery_config.c, res/res_sip/config_transport.c,
  15206. configs/res_sip.conf.sample (added),
  15207. res/res_sip/sip_configuration.c, /,
  15208. include/asterisk/autoconfig.h.in, include/asterisk/res_sip.h
  15209. (added), res/res_sip_dtmf_info.c (added),
  15210. res/res_sip/include/res_sip_private.h, res/res_sip.exports.in
  15211. (added), main/threadpool.c, res/Makefile,
  15212. res/res_sip_authenticator_digest.c (added), main/taskprocessor.c,
  15213. res/res_sip_session.exports.in (added), main/astobj2.c,
  15214. res/res_sip_sdp_rtp.c (added), res/res_sip/sip_outbound_auth.c,
  15215. main/loader.c, channels/chan_gulp.c (added),
  15216. res/res_sip_caller_id.c (added), res/res_sip_logger.c (added),
  15217. res/res_sip/include, res/res_sip_nat.c (added), configure,
  15218. res/res_sip_session.c (added): Merge the pimp_my_sip branch into
  15219. trunk. The pimp_my_sip branch is being merged at this point
  15220. because it offers basic functionality, and from an API
  15221. standpoint, things are complete. SIP work is *not*
  15222. feature-complete; however, with the completion of the
  15223. SUBSCRIBE/NOTIFY API, all APIs (except a PUBLISH API) have been
  15224. created, and thus it is possible for developers to attempt to
  15225. create new SIP work. API documentation can be found in the
  15226. doxygen in the code, but usability documentation is still
  15227. lacking.
  15228. 2013-04-25 03:04 +0000 [r386485-386487] Michael L. Young <elgueromexicano@gmail.com>
  15229. * /, channels/chan_sip.c: Fix Displaying Symmetric RTP Global
  15230. Setting * Use comedia_string() to display correctly the symmetric
  15231. rtp setting when running "sip show settings" ........ Merged
  15232. revisions 386486 from
  15233. http://svn.asterisk.org/svn/asterisk/branches/11
  15234. * /, channels/chan_sip.c: Change Case On Forcerport For Consistency
  15235. * Change "ForcerPort" to "Forcerport" to match everywhere else it
  15236. is displayed ........ Merged revisions 386483 from
  15237. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15238. revisions 386484 from
  15239. http://svn.asterisk.org/svn/asterisk/branches/11
  15240. 2013-04-24 21:47 +0000 [r386461-386462] David M. Lee <dlee@digium.com>
  15241. * res/stasis_http/resource_bridges.h,
  15242. res/stasis_http/resource_recordings.h,
  15243. rest-api-templates/stasis_http_resource.h.mustache,
  15244. res/stasis_http/resource_endpoints.h,
  15245. res/stasis_http/resource_events.h,
  15246. res/stasis_http/resource_asterisk.h,
  15247. res/stasis_http/resource_playback.h,
  15248. res/stasis_http/resource_channels.h,
  15249. res/stasis_http/resource_sounds.h: Document JSON models in
  15250. resource_*.h
  15251. * rest-api-templates/swagger_model.py: Oops. Mustache doesn't like
  15252. dictionaries
  15253. 2013-04-23 20:18 +0000 [r386375] Richard Mudgett <rmudgett@digium.com>
  15254. * apps/confbridge/conf_config_parser.c, apps/app_confbridge.c:
  15255. confbridge: Make search the conference bridges container using
  15256. OBJ_KEY. * Make confbridge config parsing user profile, bridge
  15257. profile, and menu container hash/cmp functions correctly check
  15258. the OBJ_POINTER, OBJ_KEY, and OBJ_PARTIAL_KEY flags. * Made
  15259. confbridge load_module()/unload_module() free all resources on
  15260. failure conditions.
  15261. 2013-04-23 18:57 +0000 [r386352] Kinsey Moore <kmoore@digium.com>
  15262. * res/res_stasis.c: Fix some bad whitespace This crept in with the
  15263. RESTful HTTP interface merge.
  15264. 2013-04-22 16:44 +0000 [r386289] Richard Mudgett <rmudgett@digium.com>
  15265. * main/channel.c, /: Fix crash when AMI redirect action redirects
  15266. two channels out of a bridge. The two party bridging loops were
  15267. changing the bridge peer pointers without the channel locks held.
  15268. Thus when ast_channel_massquerade() tested and used the pointer
  15269. there is a small window of opportunity for the pointers to become
  15270. NULL even though the masquerade code has the channels locked.
  15271. (closes issue ASTERISK-21356) Reported by: William luke Patches:
  15272. jira_asterisk_21356_v11.patch (license #5621) patch uploaded by
  15273. rmudgett Tested by: William luke ........ Merged revisions 386256
  15274. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  15275. Merged revisions 386286 from
  15276. http://svn.asterisk.org/svn/asterisk/branches/11
  15277. 2013-04-22 16:22 +0000 [r386266] Andrew Latham <lathama@gmail.com>
  15278. * include/asterisk/srv.h: Doxygen - Markup Guidelines Expand on a
  15279. commit by OEJ to use the Coding-Guidelines (issue ASTERISK-20259)
  15280. 2013-04-22 14:58 +0000 [r386232] David M. Lee <dlee@digium.com>
  15281. * res/stasis_http/resource_channels.c, res/res_stasis_http_sounds.c
  15282. (added), rest-api (added), main/http.c,
  15283. res/res_stasis_http_bridges.c (added), tests/test_stasis_http.c
  15284. (added), include/asterisk/strings.h, res/res_stasis_http.c
  15285. (added), tests/test_stasis.c, res/res_stasis.c,
  15286. res/res_stasis_http_asterisk.c (added),
  15287. res/res_stasis_http_playback.c (added), res/stasis_http (added),
  15288. configs/stasis_http.conf.sample (added),
  15289. include/asterisk/stasis_http.h (added),
  15290. res/res_stasis_http_channels.c (added),
  15291. include/asterisk/stasis_app.h, res/Makefile,
  15292. include/asterisk/json.h, res/res_stasis_http_recordings.c
  15293. (added), res/stasis_http.make (added), tests/test_strings.c,
  15294. res/res_stasis_http_endpoints.c (added),
  15295. res/res_stasis_http_events.c (added), include/asterisk/http.h,
  15296. Makefile, main/json.c, res/res_stasis_http.exports.in (added),
  15297. rest-api-templates (added): This patch adds a RESTful HTTP
  15298. interface to Asterisk. The API itself is documented using
  15299. Swagger, a lightweight mechanism for documenting RESTful API's
  15300. using JSON. This allows us to use swagger-ui to provide
  15301. executable documentation for the API, generate client bindings in
  15302. different languages, and generate a lot of the boilerplate code
  15303. for implementing the RESTful bindings. The API docs live in the
  15304. rest-api/ directory. The RESTful bindings are generated from the
  15305. Swagger API docs using a set of Mustache templates. The code
  15306. generator is written in Python, and uses Pystache. Pystache has
  15307. no dependencies, and be installed easily using pip. Code
  15308. generation code lives in rest-api-templates/. The generated code
  15309. reduces a lot of boilerplate when it comes to handling HTTP
  15310. requests. It also helps us have greater consistency in the REST
  15311. API. (closes issue ASTERISK-20891) Review:
  15312. https://reviewboard.asterisk.org/r/2376/
  15313. 2013-04-22 12:45 +0000 [r386211] Olle Johansson <oej@edvina.net>
  15314. * include/asterisk/srv.h: Fix mistake in Doxygen. Doxygen is only
  15315. *ONE* comment that applies to the NEXT piece of code.
  15316. 2013-04-22 01:05 +0000 [r386190] Russell Bryant <russell@russellbryant.com>
  15317. * apps/app_meetme.c: sla: remove redundant locking. sla.lock was
  15318. already locked in the only place that sla_check_reload() was
  15319. called. Remove the redundant locking of sla.lock done in this
  15320. function. Less recursive locking is A Good Thing.
  15321. 2013-04-19 22:27 +0000 [r386160] Matthew Jordan <mjordan@digium.com>
  15322. * /, res/res_timing_pthread.c: Prevent res_timing_pthread from
  15323. blocking callers There were several reports of deadlock when
  15324. using res_timing_pthread. Backtraces indicated that one thread
  15325. was blocked waiting for the write to the pipe to complete and
  15326. this thread held the container lock for the timers. Therefore any
  15327. thread that wanted to create a new timer or read an existing
  15328. timer would block waiting for either the timer lock or the
  15329. container lock and deadlock ensued. This patch changes the way
  15330. the pipe is used to eliminate this source of deadlocks: 1) The
  15331. pipe is placed in non-blocking mode so that it would never block
  15332. even if the following changes someone fail... 2) Instead of
  15333. writing bytes into the pipe for each "tick" that's fired the pipe
  15334. now has two states--signaled and unsignaled. If signaled, the
  15335. pipe is hot and any pollers of the read side filedescriptor will
  15336. be woken up. If unsigned the pipe is idle. This eliminates even
  15337. the chance of filling up the pipe and reduces the potential
  15338. overhead of calling unnecessary writes. 3) Since we're tracking
  15339. the signaled / unsignaled state, we can eliminate the exta poll
  15340. system call for every firing because we know that there is data
  15341. to be read. (closes issue ASTERISK-21389) Reported by: Matt
  15342. Jordan Tested by: Shaun Ruffell, Matt Jordan, Tony Lewis patches:
  15343. 0001-res_timing_pthread-Reduce-probability-of-deadlocking.patch
  15344. uploaded by sruffell (License 5417) (closes issue ASTERISK-19754)
  15345. Reported by: Nikola Ciprich (closes issue ASTERISK-20577)
  15346. Reported by: Kien Kennedy (closes issue ASTERISK-17436) Reported
  15347. by: Henry Fernandes (closes issue ASTERISK-17467) Reported by:
  15348. isrl (closes issue ASTERISK-17458) Reported by: isrl Review:
  15349. https://reviewboard.asterisk.org/r/2441/ ........ Merged
  15350. revisions 386109 from
  15351. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15352. revisions 386159 from
  15353. http://svn.asterisk.org/svn/asterisk/branches/11
  15354. 2013-04-19 05:20 +0000 [r386019-386054] David M. Lee <dlee@digium.com>
  15355. * main/cli.c, /: cli.c: Properly initialize debug_modules and
  15356. verbose_modules. This avoids some lock errors on the core set
  15357. {debug,verbose} commands. ........ Merged revisions 386049 from
  15358. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15359. revisions 386051 from
  15360. http://svn.asterisk.org/svn/asterisk/branches/11
  15361. * res/res_http_websocket.c, include/asterisk/http_websocket.h:
  15362. Allow WebSocket connections on more URL's This patch adds the
  15363. concept of ast_websocket_server to res_http_websocket, allowing
  15364. WebSocket connections on URL's more more than /ws. The existing
  15365. funcitons for managing the WebSocket subprotocols on /ws still
  15366. work, so this patch should be completely backward compatible.
  15367. (closes issue ASTERISK-21279) Review:
  15368. https://reviewboard.asterisk.org/r/2453/
  15369. * main/message.c, /: Fix lock errors on startup. In messages.c,
  15370. there are several places in the code where we create a
  15371. tmp_tech_holder and pass that into an ao2_find call.
  15372. Unfortunately, we weren't initializing the rwlock on the
  15373. tmp_tech_holder, which the hash function was locking. It's
  15374. apparently harmless, but still not the best code. This patch
  15375. extracts all that copy/pasted code into two functions,
  15376. msg_find_by_tech and msg_find_by_tech_name, which properly
  15377. initialize and destroy the rwlock on the tmp_tech_holder. Review:
  15378. https://reviewboard.asterisk.org/r/2454/ ........ Merged
  15379. revisions 386006 from
  15380. http://svn.asterisk.org/svn/asterisk/branches/11
  15381. 2013-04-16 23:44 +0000 [r385939] Alec L Davis <sivad.a@paradise.net.nz>
  15382. * res/res_xmpp.c, res/res_jabber.c, /: res_xmpp and res_jabber need
  15383. to search 'cachable' in the attrib section of the received IE,
  15384. not data. (issue ASTERISK-20175) (closes issue ASTERISK-21429)
  15385. (closes issue ASTERISK-21069) (closes issue ASTERISK-21164)
  15386. Reported by: alecdavis Tested by: alecdavis alecdavis (license
  15387. 585) Review https://reviewboard.asterisk.org/r/2452/
  15388. 2013-04-16 17:50 +0000 [r385860-385886] Kinsey Moore <kmoore@digium.com>
  15389. * res/res_corosync.c: Allow res_corosync to build
  15390. ast_enable_distributed_devstate is no longer applicable to how
  15391. the distributed device state system works and is no longer
  15392. necessary.
  15393. * main/pbx.c, funcs/func_presencestate.c,
  15394. include/asterisk/presencestate.h, main/presencestate.c: Move
  15395. presence state distribution to Stasis-core Convert presence state
  15396. events to Stasis-core messages and remove redundant serializers
  15397. where possible. Review: https://reviewboard.asterisk.org/r/2410/
  15398. (closes issue ASTERISK-21102) Patch-by: Kinsey Moore
  15399. <kmoore@digium.com>
  15400. * include/asterisk/devicestate.h, main/pbx.c, main/ccss.c,
  15401. include/asterisk/xmpp.h, tests/test_devicestate.c,
  15402. main/devicestate.c, res/res_xmpp.c, apps/app_queue.c,
  15403. res/res_jabber.c, main/asterisk.c: Move device state distribution
  15404. to Stasis-core In the move from Asterisk's event system to
  15405. Stasis, this makes distributed device state aggregation
  15406. always-on, removes unnecessary task processors where possible,
  15407. and collapses aggregate and non-aggregate states into a single
  15408. cache for ease of retrieval. This also removes an intermediary
  15409. step in device state aggregation. Review:
  15410. https://reviewboard.asterisk.org/r/2389/ (closes issue
  15411. ASTERISK-21101) Patch-by: Kinsey Moore <kmoore@digium.com>
  15412. 2013-04-16 14:09 +0000 [r385835] David M. Lee <dlee@digium.com>
  15413. * include/asterisk/stasis_channels.h: Fixed a typo
  15414. 2013-04-15 17:26 +0000 [r385782] Jason Parker <jparker@digium.com>
  15415. * Makefile, /: Don't unnecessarily rebuild things on every run of
  15416. 'make'. Review: https://reviewboard.asterisk.org/r/2449/ ........
  15417. Merged revisions 385745 from
  15418. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15419. revisions 385768 from
  15420. http://svn.asterisk.org/svn/asterisk/branches/11
  15421. 2013-04-15 16:47 +0000 [r385718-385743] David M. Lee <dlee@digium.com>
  15422. * res/res_stasis_websocket.c: Avoid unused variable warning when
  15423. not in devmode
  15424. * main/json.c, include/asterisk/stasis_channels.h,
  15425. res/res_stasis.exports.in (added), apps/Makefile,
  15426. apps/app_stasis.exports.in (removed), apps/stasis_json.c
  15427. (removed), main/stasis_channels.c, tests/test_app_stasis.c
  15428. (removed), res/res_stasis.c (added), main/manager_channels.c,
  15429. apps/app_stasis.c, tests/test_json.c, res/res_stasis_websocket.c,
  15430. tests/test_res_stasis.c (added), tests/test_stasis_channels.c,
  15431. include/asterisk/app_stasis.h (removed),
  15432. include/asterisk/stasis_app.h (added), include/asterisk/json.h:
  15433. Moved core logic from app_stasis to res_stasis After some
  15434. discussion on asterisk-dev, it was decided that the bulk of the
  15435. logic in app_stasis actually belongs in a resource module instead
  15436. of the application module. This patch does that, leaves the app
  15437. specific stuff in app_stasis, and fixes up everything else to be
  15438. consistent with that change. * Renamed test_app_stasis to
  15439. test_res_stasis * Renamed app_stasis.h to stasis_app.h * This is
  15440. still stasis application support, even though it's no longer in
  15441. an app_ module. The name should never have been tied to the type
  15442. of module, anyways. * Now that json isn't a resource module
  15443. anymore, moved the ast_channel_snapshot_to_json function to
  15444. main/stasis_channels.c, where it makes more sense. Review:
  15445. https://reviewboard.asterisk.org/r/2430/
  15446. * apps/app_stasis.c, main/manager_channels.c, main/channel.c,
  15447. include/asterisk/cli.h, include/asterisk/strings.h: DTMF events
  15448. are now published on a channel's stasis_topic. AMI was refactored
  15449. to use these events rather than producing the events directly in
  15450. channel.c. Finally, the code was added to app_stasis to produce
  15451. DTMF events on the WebSocket. The AMI events are completely
  15452. backward compatible, including sending events on transmitted
  15453. DTMF, and sending DTMF start events. The Stasis-HTTP events are
  15454. somewhat simplified. Since DTMF start and DTMF send events are
  15455. generally less useful, Stasis-HTTP will only send events on
  15456. received DTMF end. (closes issue ASTERISK-21282) (closes issue
  15457. ASTERISK-21359) Review: https://reviewboard.asterisk.org/r/2439
  15458. * apps/app_saycounted.c, channels/sip/security_events.c,
  15459. contrib/realtime/mysql/voicemail_messages.sql, BSDmakefile,
  15460. contrib/realtime/mysql/voicemail_data.sql,
  15461. build_tools/sha1sum-sh, res/res_mutestream.c,
  15462. configs/res_curl.conf.sample, tests/test_func_file.c,
  15463. res/res_rtp_multicast.c, include/asterisk/select.h,
  15464. include/asterisk/bridging_technology.h,
  15465. include/asterisk/bridging_features.h, tests/test_locale.c,
  15466. doc/Makefile, tests/test_poll.c,
  15467. contrib/realtime/mysql/musiconhold.sql, res/res_timing_kqueue.c,
  15468. contrib/realtime/mysql/queue_log.sql,
  15469. channels/sip/include/security_events.h, channels/sig_ss7.c,
  15470. channels/chan_multicast_rtp.c, channels/sig_ss7.h, /,
  15471. tests/test_expr.c: Fix the svn:keywords property on several
  15472. files. Normally I think keyword expansion is silly, but the one
  15473. time it would have been good, it didn't work because the property
  15474. had quotes in it. This patch fixes obviously busted svn:keywords
  15475. properties. ........ Merged revisions 385683 from
  15476. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15477. revisions 385689 from
  15478. http://svn.asterisk.org/svn/asterisk/branches/11
  15479. 2013-04-14 03:01 +0000 [r385635-385638] Matthew Jordan <mjordan@digium.com>
  15480. * res/res_rtp_multicast.c, /: Calculate the timestamp for outbound
  15481. RTP if we don't have timing information This patch calculates the
  15482. timestamp for outbound RTP when we don't have timing information.
  15483. This uses the same approach in res_rtp_asterisk. Thanks to both
  15484. Pietro and Tzafrir for providing patches. (closes issue
  15485. ASTERISK-19883) Reported by: Giacomo Trovato Tested by: Pietro
  15486. Bertera, Tzafrir Cohen patches: rtp-timestamp-1.8.patch uploaded
  15487. by tzafrir (License 5035) rtp-timestamp.patch uploaded by
  15488. pbertera (License 5943) ........ Merged revisions 385636 from
  15489. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15490. revisions 385637 from
  15491. http://svn.asterisk.org/svn/asterisk/branches/11
  15492. * /, channels/chan_alsa.c: Don't attempt to create a voice frame on
  15493. a read error Prior to this patch, a read error in snd_pcm_readi
  15494. would still be treated as a nominal result when constructing a
  15495. voice frame from the expected data. Since the value returned is
  15496. negative, as opposed to the number of samples read, this could
  15497. result in a crash. With this patch, we now return a null frame
  15498. when a read error is detected. Note that the patch on
  15499. ASTERISK-21329 was modified slightly for this commit, in that we
  15500. bail immediately on detecting the read error, rather than
  15501. bypassing the construction of the voice frame. (closes issue
  15502. ASTERISK-21329) Reported by: Keiichiro Kawasaki patches:
  15503. chan_alsa.diff uploaded by kawasaki (License 6489) ........
  15504. Merged revisions 385633 from
  15505. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15506. revisions 385634 from
  15507. http://svn.asterisk.org/svn/asterisk/branches/11
  15508. 2013-04-12 22:38 +0000 [r385595] Michael L. Young <elgueromexicano@gmail.com>
  15509. * /, apps/app_queue.c: Fix Manager Segfault When app_queue Is
  15510. Unloaded When app_queue is unloaded, some manager commands are
  15511. not being unregistered which result in a segfault. This patch
  15512. corrects this. (closes issue ASTERISK-21397) Reported by: Peter
  15513. Katzmann, Corey Farrell Tested by: Corey Farrell Patches:
  15514. asterisk-21397-missing-unreg-manager-cmd_1.8.diff Michael L.
  15515. Young (license 5026)
  15516. asterisk-21397-missing-unreg-manager-cmd_11.diff Michael L. Young
  15517. (license 5026) Review: https://reviewboard.asterisk.org/r/2444/
  15518. ........ Merged revisions 385593 from
  15519. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15520. revisions 385594 from
  15521. http://svn.asterisk.org/svn/asterisk/branches/11
  15522. 2013-04-12 22:26 +0000 [r385585] Kinsey Moore <kmoore@digium.com>
  15523. * /, codecs/codec_resample.c: Allow codec_resample to be unloaded
  15524. Ensure that trans_size is correct to prevent uninitialized
  15525. entries from preventing reload. (closes issue ASTERISK-21401)
  15526. Reported by: Corey Farrell Tested by: Corey Farrell Patches:
  15527. codec_resample-unload.patch uploaded by Corey Farrell ........
  15528. Merged revisions 385582 from
  15529. http://svn.asterisk.org/svn/asterisk/branches/11
  15530. 2013-04-12 22:22 +0000 [r385573] Michael L. Young <elgueromexicano@gmail.com>
  15531. * apps/app_voicemail.c, /: Fix app_voicemail Segfault And A Few
  15532. Memory Leaks The original report was that app_voicemail would
  15533. crash. This was caused by ast_config_load() returning
  15534. CONFIG_STATUS_FILEINVALID but no checks being performed for that
  15535. return status. After adding the initial patch to fix this issue,
  15536. Jaco Kroon (jkroon) added some fixes to memory leaks he had
  15537. discovered. During review, Walter Doekes (wdoekes) suggested
  15538. adding a helper function in order to determine if we had a valid
  15539. configuration or not. This patch does the following: * Creates a
  15540. helper function to check if the configuration is valid * Adds
  15541. calls to the new helper function where appropiate * Fixes memory
  15542. leaks where the code returned without running
  15543. ast_config_destroy() on the configuration that was loaded (closes
  15544. issue ASTERISK-21302) Reported by: Jaco Kroon Tested by: Jaco
  15545. Kroon, Michael L. Young Patches:
  15546. asterisk-11.3.0-app_voicemail-ast_config-fixes.patch Jaco Kroon
  15547. (license 5671) asterisk-21302-valid_cfg_and_mem_leaks_v3-1.8.diff
  15548. Michael L. Young (license 5026) Review:
  15549. https://reviewboard.asterisk.org/r/2443/ ........ Merged
  15550. revisions 385551 from
  15551. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15552. revisions 385557 from
  15553. http://svn.asterisk.org/svn/asterisk/branches/11
  15554. 2013-04-12 21:48 +0000 [r385548] Jason Parker <jparker@digium.com>
  15555. * include/asterisk/sorcery.h: Fix documentation.
  15556. 2013-04-12 21:11 +0000 [r385522] Kinsey Moore <kmoore@digium.com>
  15557. * include/asterisk/manager.h, main/manager_channels.c: Expose
  15558. channel snapshot manager blob generation These functions are
  15559. already used in one branch (jrose's parking branch) and will soon
  15560. be used in other branches as well.
  15561. 2013-04-12 15:06 +0000 [r385474] Michael L. Young <elgueromexicano@gmail.com>
  15562. * /, channels/chan_sip.c: Fix One-Way Audio With auto_* NAT
  15563. Settings When SIP Calls Initiated By PBX When we reload Asterisk
  15564. or chan_sip, the flags force_rport and comedia that are turned on
  15565. and off when using the auto_force_rport and auto_comedia nat
  15566. settings go back to the default setting off. These flags are
  15567. turned on when needed or off when not needed at the time that a
  15568. peer registers, re-registers or initiates a call. This would
  15569. apply even when only the default global setting
  15570. "nat=auto_force_rport" is being used, which in this case would
  15571. only affect the force_rport flag. Everything is good except for
  15572. the following: The nat setting is set to auto_force_rport and
  15573. auto_comedia. We reload Asterisk and the peer's registration has
  15574. not expired. We load in the settings for the peer which turns
  15575. force_rport and comedia back to off. Since the peer has not
  15576. re-registered or placed a call yet, those flags remain off. We
  15577. then initiate a call to the peer from the PBX. The force_rport
  15578. and comedia flags stay off. If NAT is involved, we end up with
  15579. one-way audio since we never checked to see if the peer is behind
  15580. NAT or not. This patch does the following: * Moves the checking
  15581. of whether a peer is behind NAT into its own function * Create a
  15582. function to set the peer's NAT flags if they are using the auto_*
  15583. NAT settings * Adds calls in sip_request_call() to these new
  15584. functions in order to setup the dialog according to the peer's
  15585. settings (closes issue ASTERISK-21374) Reported by: Michael L.
  15586. Young Tested by: Michael L. Young Patches:
  15587. asterisk-21374-auto-nat-outgoing-fix_v2.diff Michael L. Young
  15588. (license 5026) Review: https://reviewboard.asterisk.org/r/2421/
  15589. ........ Merged revisions 385473 from
  15590. http://svn.asterisk.org/svn/asterisk/branches/11
  15591. 2013-04-12 08:52 +0000 [r385406-385431] Alec L Davis <sivad.a@paradise.net.nz>
  15592. * channels/chan_iax2.c, /: IAX2 defer_full_frames fail to get sent
  15593. Ensure iax2_process_thread is signalled when a deferred frame is
  15594. queued to it. (closes issue ASTERISK-18827) Reported by:
  15595. alecdavis Tested by: alecdavis alecdavis (license 585) Review
  15596. https://reviewboard.asterisk.org/r/2426/ ........ Merged
  15597. revisions 385429 from
  15598. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15599. revisions 385430 from
  15600. http://svn.asterisk.org/svn/asterisk/branches/11
  15601. * /, channels/chan_iax2.c: IAX2, prevent network thread starting
  15602. before all helper threads are ready On startup, it's possible for
  15603. a frame to arrive before the processing threads were ready. In
  15604. iax2_process_thread() the first pass through falls into
  15605. ast_cond_wait, should a frame arrive before we are at
  15606. ast_cond_wait, the signal will be ignored. The result
  15607. iax2_process_thread stays at ast_cond_wait forever, with deferred
  15608. frames being queued. Fix: When creating initial idle
  15609. iax2_process_threads, wait for init_cond to be signalled after
  15610. each thread is started. (issue ASTERISK-18827) Reported by:
  15611. alecdavis Tested by: alecdavis alecdavis (license 585) Review
  15612. https://reviewboard.asterisk.org/r/2427/ ........ Merged
  15613. revisions 385402 from
  15614. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15615. revisions 385403 from
  15616. http://svn.asterisk.org/svn/asterisk/branches/11
  15617. 2013-04-11 16:53 +0000 [r385277-385314] Richard Mudgett <rmudgett@digium.com>
  15618. * /, configs/cli_aliases.conf.sample: Fix 'pri intense debug span'
  15619. alias. ........ Merged revisions 385313 from
  15620. http://svn.asterisk.org/svn/asterisk/branches/11
  15621. * main/features.c: Eliminated dial_features_destroy() since it is
  15622. equivalent to ast_free_ptr()
  15623. * main/manager.c, main/features.c: * Fix unlocked accesses to
  15624. feature_list. The feature_list is now also protected by the
  15625. features_lock. * Made all calls to ast_find_call_feature() have
  15626. the features_lock held. * Fixed set_config_flags() to actually
  15627. use find_group() to look for feature groups in DYNAMIC_FEATURES.
  15628. The code originally assumed all feature groups were listed in
  15629. DYNAMIC_FEATURES. * Make everyone use ast_rdlock_call_features(),
  15630. ast_unlock_call_features(), and new ast_wrlock_call_features()
  15631. instead of directly calling the rwlock API on features_lock.
  15632. 2013-04-10 15:34 +0000 [r385236] David M. Lee <dlee@digium.com>
  15633. * main/stasis_channels.c: Fixed manager channelvars support. For
  15634. the events that have been ported to Stasis, this was broken in
  15635. r384910, when a couple of lines of code was lost in a merge.
  15636. 2013-04-10 14:26 +0000 [r385174-385202] Matthew Jordan <mjordan@digium.com>
  15637. * /, res/res_config_ldap.c: Use LDAP memory management functions
  15638. instead of Asterisk's When MALLOC_DEBUG is enabled with
  15639. res_config_ldap, issues (munmap_chunk: invalid pointer errors)
  15640. can occur as the memory is being allocated with Asterisk's
  15641. wrappers around malloc/calloc/free/strdup, as opposed to the LDAP
  15642. library's wrappers. This patch uses the LDAP library's wrappers
  15643. where appropriate, so that compiling with MALLOC_DEBUG doesn't
  15644. cause more problems than it solves. Note that the patch listed
  15645. below was modified slightly for this commit to account for some
  15646. additional memory allocation/deallocations. (closes issue
  15647. ASTERISK-17386) Reported by: John Covert Tested by: Andrew Latham
  15648. patches: issue18789-1.8-r316873.patch uploaded by seanbright
  15649. (License 5060) ........ Merged revisions 385190 from
  15650. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15651. revisions 385199 from
  15652. http://svn.asterisk.org/svn/asterisk/branches/11
  15653. * /, channels/chan_sip.c: Fix crash in chan_sip when a core
  15654. initiated op occurs at the same time as a BYE When a BYE request
  15655. is processed in chan_sip, the current SIP dialog is detached from
  15656. its associated Asterisk channel structure. The tech_pvt pointer
  15657. in the channel object is set to NULL, and the dialog persists for
  15658. an RFC mandated period of time to handle re-transmits. While this
  15659. process occurs, the channel is locked (which is good).
  15660. Unfortunately, operations that are initiated externally have no
  15661. way of knowing that the channel they've just obtained (which is
  15662. still valid) and that they are attempting to lock is about to
  15663. have its tech_pvt pointer removed. By the time they obtain the
  15664. channel lock and call the channel technology callback, the
  15665. tech_pvt is NULL. This patch adds a few checks to some channel
  15666. callbacks that make sure the tech_pvt isn't NULL before using it.
  15667. Prime offenders were the DTMF digit callbacks, which would crash
  15668. if AMI initiated a DTMF on the channel at the same time as a BYE
  15669. was received from the UA. This patch also adds checks on
  15670. sip_transfer (as AMI can also cause a callback into this
  15671. function), as well as sip_indicate (as lots of things can queue
  15672. an indication onto a channel). Review:
  15673. https://reviewboard.asterisk.org/r/2434/ (closes issue
  15674. ASTERISK-20225) Reported by: Jeff Hoppe ........ Merged revisions
  15675. 385170 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  15676. ........ Merged revisions 385173 from
  15677. http://svn.asterisk.org/svn/asterisk/branches/11
  15678. 2013-04-09 19:58 +0000 [r385142] Richard Mudgett <rmudgett@digium.com>
  15679. * main/features.c: Rename struct feature_ds to struct
  15680. feature_datastore. Because "struct feature_ds *feature_ds" is not
  15681. a good thing.
  15682. 2013-04-09 18:22 +0000 [r385116] David M. Lee <dlee@digium.com>
  15683. * apps/app_stasis.c: Backported app_stasis fix from stasis-http
  15684. branch. The hash and compare functions for the control container
  15685. was reusing the wrong ones, causing some problems. I fixed it,
  15686. but in the wrong branch. Oh well, it happens.
  15687. 2013-04-09 06:16 +0000 [r385088] Russell Bryant <russell@russellbryant.com>
  15688. * main/features.c, CHANGES: Add inheritance support to
  15689. FEATURE()/FEATUREMAP(). The settings saved on the channel for
  15690. FEATURE()/FEATUREMAP() were only for that channel. This patch
  15691. adds the ability to have these settings inherited to child
  15692. channels if you set FEATURE(inherit)=yes. Closes issue
  15693. ASTERISK-21306. Review: https://reviewboard.asterisk.org/r/2415/
  15694. 2013-04-08 23:38 +0000 [r385049] Rusty Newton <rnewton@digium.com>
  15695. * /, configs/extconfig.conf.sample: Modified the list of keys for
  15696. the driver backends for sake of sample clarity Added a line
  15697. showing the mapping of "mysql" to res_config_mysql available in
  15698. add-ons. We used "mysql" as an example driver key in the sample,
  15699. but didn't show what module it mapped too. Also added a subtitle
  15700. above the list of keys for driver backends. ........ Merged
  15701. revisions 385047 from
  15702. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15703. revisions 385048 from
  15704. http://svn.asterisk.org/svn/asterisk/branches/11
  15705. 2013-04-08 18:24 +0000 [r384989] Walter Doekes <walter+asterisk@wjd.nu>
  15706. * build_tools/make_buildopts_h,
  15707. build_tools/make_linker_version_script, Makefile,
  15708. build_tools/mkpkgconfig, build_tools/make_version: Clean up
  15709. Makefile "warning" clutter when makeopts doesn't exist. Review:
  15710. https://reviewboard.asterisk.org/r/2304
  15711. 2013-04-08 15:38 +0000 [r384910-384942] Matthew Jordan <mjordan@digium.com>
  15712. * res/res_http_websocket.c, res/res_stasis_websocket.c: Don't
  15713. attempt a websocket protocol removal if res_http_websocket isn't
  15714. there This patch sets the protocols container provided by
  15715. res_http_websocket to NULL when the module gets unloaded and adds
  15716. the necessary checks when adding/ removing a websocket protocol.
  15717. This prevents some FRACKing on an invalid pointer to the disposed
  15718. container if a module that uses res_http_websocket is unloaded
  15719. after it.
  15720. * apps/app_stasis.c, main/manager_channels.c, apps/app_dial.c,
  15721. main/pbx.c, main/channel_internal_api.c,
  15722. tests/test_stasis_channels.c (added),
  15723. include/asterisk/app_stasis.h, apps/app_userevent.c,
  15724. include/asterisk/channel.h, CHANGES, main/channel.c, main/dial.c,
  15725. include/asterisk/stasis_channels.h (added), main/features.c,
  15726. apps/stasis_json.c, pbx/pbx_realtime.c, main/stasis_channels.c
  15727. (added): Add multi-channel Stasis messages; refactor Dial AMI
  15728. events to Stasis This patch does the following: * A new Stasis
  15729. payload has been defined for multi-channel messages. This payload
  15730. can store multiple ast_channel_snapshot objects along with a
  15731. single JSON blob. The payload object itself is opaque; the
  15732. snapshots are stored in a container keyed by roles. APIs have
  15733. been provided to query for and retrieve the snapshots from the
  15734. payload object. * The Dial AMI events have been refactored onto
  15735. Stasis. This includes dial messages in app_dial, as well as the
  15736. core dialing framework. The AMI events have been modified to send
  15737. out a DialBegin/DialEnd events, as opposed to the subevent type
  15738. that was previously used. * Stasis messages, types, and other
  15739. objects related to channels have been placed in their own file,
  15740. stasis_channels. Unit tests for some of these objects/messages
  15741. have also been written.
  15742. 2013-04-08 13:27 +0000 [r384879] David M. Lee <dlee@digium.com>
  15743. * main/json.c, res/res_stasis_websocket.c (added), main/frame.c,
  15744. apps/Makefile, tests/test_abstract_jb.c,
  15745. apps/app_stasis.exports.in (added), apps/stasis_json.c (added),
  15746. include/asterisk/app_stasis.h (added), include/asterisk/json.h,
  15747. include/asterisk/localtime.h, tests/test_app_stasis.c (added),
  15748. include/asterisk/frame.h, apps/app_stasis.c (added),
  15749. tests/test_json.c: Stasis application WebSocket support This is
  15750. the API that binds the Stasis dialplan application to external
  15751. Stasis applications. It also adds the beginnings of WebSocket
  15752. application support. This module registers a dialplan function
  15753. named Stasis, which is used to put a channel into the named
  15754. Stasis app. As a channel enters and leaves the Stasis diaplan
  15755. application, the Stasis app receives a 'stasis-start' and
  15756. 'stasis-end' events. Stasis apps register themselves using the
  15757. stasis_app_register and stasis_app_unregister functions. Messages
  15758. are sent to an application using stasis_app_send. Finally, Stasis
  15759. apps control channels through the use of the stasis_app_control
  15760. object, and the family of stasis_app_control_* functions. Other
  15761. changes along for the ride are: * An ast_frame_dtor function
  15762. that's RAII_VAR safe * Some common JSON encoders for name/number,
  15763. timeval, and context/extension/priority Review:
  15764. https://reviewboard.asterisk.org/r/2361/
  15765. 2013-04-06 16:00 +0000 [r384857] Joshua Colp <jcolp@digium.com>
  15766. * tests/test_sorcery_astdb.c (added), res/res_sorcery_astdb.c
  15767. (added): Add a res_sorcery_astdb module which uses the astdb to
  15768. persist objects. Review: https://reviewboard.asterisk.org/r/2420/
  15769. 2013-04-05 20:41 +0000 [r384828] Michael L. Young <elgueromexicano@gmail.com>
  15770. * /, channels/chan_sip.c, UPGRADE-11.txt: Fix For Not Overriding
  15771. The Default Settings In chan_sip The initial report was that the
  15772. "nat" setting in the [general] section was not having any effect
  15773. in overriding the default setting. Upon confirming that this was
  15774. happening and looking into what was causing this, it was
  15775. discovered that other default settings would not be overriden as
  15776. well. This patch works similar to what occurs in build_peer(). We
  15777. create a temporary ast_flags structure and using a mask, we
  15778. override the default settings with whatever is set in the
  15779. [general] section. In the bug report, the reporter who helped to
  15780. test this patch noted that the directmedia settings were being
  15781. overriden properly as well as the nat settings. This issue is
  15782. also present in Asterisk 1.8 and a separate patch will be applied
  15783. to it. (issue ASTERISK-21225) Reported by: Alexandre Vezina
  15784. Tested by: Alexandre Vezina, Michael L. Young Patches:
  15785. asterisk-21225-handle-options-default-prob_v4.diff Michael L.
  15786. Young (license 5026) Review:
  15787. https://reviewboard.asterisk.org/r/2385/ ........ Merged
  15788. revisions 384827 from
  15789. http://svn.asterisk.org/svn/asterisk/branches/11
  15790. 2013-04-04 18:15 +0000 [r384696-384760] Richard Mudgett <rmudgett@digium.com>
  15791. * main/event.c: Separate some event struct definitions from
  15792. instantiation.
  15793. * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample,
  15794. UPGRADE.txt: chan_dahdi: Change inband_on_proceeding option
  15795. default to no/disabled. (issue ASTERISK-21151)
  15796. * channels/sig_pri.h, channels/chan_dahdi.c,
  15797. configs/chan_dahdi.conf.sample, /, channels/sig_pri.c:
  15798. chan_dahdi: Add inband_on_proceeding compatibility option. The
  15799. new inband_on_proceeding option causes Asterisk to assume inband
  15800. audio may be present when a PROCEEDING message is received. Q.931
  15801. Section 5.1.2 says the network cannot assume that the CPE side
  15802. has attached to the B channel at this time without explicitly
  15803. sending the progress indicator ie informing the CPE side to
  15804. attach to the B channel for audio. However, some non-compliant
  15805. ISDN switches send a PROCEEDING without the progress indicator ie
  15806. indicating inband audio is available and assume that the CPE
  15807. device has connected the media path for listening to ringback and
  15808. other messages. ASTERISK-17834 which causes this issue was
  15809. dealing with a non-compliant network switch. (closes issue
  15810. ASTERISK-21151) Reported by: Gianluca Merlo Tested by: rmudgett
  15811. ........ Merged revisions 384685 from
  15812. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15813. revisions 384689 from
  15814. http://svn.asterisk.org/svn/asterisk/branches/11
  15815. 2013-04-03 17:17 +0000 [r384642] Matthew Jordan <mjordan@digium.com>
  15816. * funcs/func_channel.c, /: Update documentation for CHANNEL
  15817. function Document that you can read/write the 'accountcode' and
  15818. 'amaflags' on a channel. ........ Merged revisions 384640 from
  15819. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15820. revisions 384641 from
  15821. http://svn.asterisk.org/svn/asterisk/branches/11
  15822. 2013-04-03 16:01 +0000 [r384616] Richard Mudgett <rmudgett@digium.com>
  15823. * main/astobj2.c: astobj2: Fix rbtree duplicate handling.
  15824. OBJ_PARTIAL_KEY searching a rbtree did not find all possible
  15825. matches if the container did not accept duplicates. Added
  15826. matching node bias to indicate which matching node is being
  15827. searched for: first, last, any.
  15828. 2013-04-02 17:35 +0000 [r384546] David M. Lee <dlee@digium.com>
  15829. * Makefile, /: Fixed spurious rebuilds of func_version.
  15830. func_version.so was being rebuilt every time, because build.h was
  15831. changing every build, because of the cleantest dependency that
  15832. was added in r384410 to fix parallel make bugs. Now build.h will
  15833. only be created if it does not exist, which was the original
  15834. behavior of the Makefile. ........ Merged revisions 384544 from
  15835. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15836. revisions 384545 from
  15837. http://svn.asterisk.org/svn/asterisk/branches/11
  15838. 2013-04-02 12:18 +0000 [r384518] Joshua Colp <jcolp@digium.com>
  15839. * main/sorcery.c: Pass the object type name to the configuration
  15840. framework.
  15841. 2013-04-02 11:40 +0000 [r384514] Matthew Jordan <mjordan@digium.com>
  15842. * main/xmldoc.c, include/asterisk/app.h: Make things work again
  15843. Sorry folks. ',' are still greater than '|'. Thanks for playing
  15844. along :-)
  15845. 2013-04-01 20:10 +0000 [r384488] David M. Lee <dlee@digium.com>
  15846. * contrib/scripts/install_prereq: install_prereq: Build jansson
  15847. from source, when necessary When r383579 was committed, it made
  15848. Jansson a required dependency. While libjansson-dev and
  15849. jansson-devel are available on recent distros, some older (but
  15850. still supported) distros don't have it. There's a pull request[1]
  15851. to get it into repoforge, but that still doesn't help everyone.
  15852. (And helps no one until the pull request is merged and packages
  15853. are built). This patch adds Jansson install from source to the
  15854. install_unpackaged() function. There are a few gotcha's, which
  15855. makes this change not completely trivial. * Since Jansson may be
  15856. installed by a package, don't install from source if a package
  15857. installation can be found * libresample may also be installed via
  15858. package, so I added a similar check to that. * Since Jansson
  15859. installs into /usr/local, this patch also adds /usr/local/lib to
  15860. /etc/ld.so.conf.d so that the library can be found. * The
  15861. alternative was to install into /usr, but then it gets
  15862. complicated having to deal with EL's /usr/lib{32,64} shenanigans.
  15863. [1]: https://github.com/repoforge/rpms/pull/250 Review:
  15864. https://reviewboard.asterisk.org/r/2414/
  15865. 2013-04-01 14:44 +0000 [r384452] Matthew Jordan <mjordan@digium.com>
  15866. * main/xmldoc.c, include/asterisk/app.h: Make appropriate items
  15867. parse using '|' instead of ',' This patch fixes a bug introduced
  15868. in r76703, wherein Asterisk could only parse arguments in the
  15869. so-called 'recommended' way, e.g., NoOp(foo,bar). The proper
  15870. syntax of NoOp,foo|bar is now parsed correctly.
  15871. 2013-04-01 14:10 +0000 [r384416] Joshua Colp <jcolp@digium.com>
  15872. * /, apps/app_voicemail.c: Remove silly use of strncmp. ........
  15873. Merged revisions 384414 from
  15874. http://svn.asterisk.org/svn/asterisk/branches/11
  15875. 2013-04-01 13:37 +0000 [r384412-384413] David M. Lee <dlee@digium.com>
  15876. * main/stasis.c, tests/test_stasis.c: stasis: Fixed message
  15877. ordering issues when forwarding This patch fixes an issue of
  15878. message ordering that occurs when multiple topics are forwarded
  15879. to an aggregator topic (such as ast_channel_topic_all()). It is
  15880. (very reasonably) expected that the rules governing message
  15881. dispatch order still apply, so long as the messages start from
  15882. the same thread, and are received by the same subscription.
  15883. Because the existing code had an additional layer of dispatching
  15884. via the Stasis thread pool for forwards, those promises couldn't
  15885. be kept. Forwarding subscriptions no longer have their own
  15886. mailbox, and now dispatch directly from the forwarding topic's
  15887. stasis_publish() call. This means that the topic's lock is held
  15888. for the duration of not only a message's dispatch, but the
  15889. dispatch of all the forwards. This shouldn't be a problem right
  15890. now, but if an aggregator topic had many subscribers, it could
  15891. become a problem. But I figure we can write more clever code when
  15892. the time comes, if necessary. Review:
  15893. https://reviewboard.asterisk.org/r/2419/
  15894. * /, Makefile: Fix parallel make problems. Occasionally, make -j
  15895. would fail due to missing includes, or other unusual errors. This
  15896. was due to the 'cleantest' target, which was designed to force a
  15897. make clean when some change in the code would cause the typical
  15898. depedency checking to fail. Several targets in the main Makefile
  15899. did not depend upon cleantest, hence would run in parallel to it.
  15900. By adding the dependency, make -j runs happily now. Review:
  15901. https://reviewboard.asterisk.org/r/2418/ ........ Merged
  15902. revisions 384410 from
  15903. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15904. revisions 384411 from
  15905. http://svn.asterisk.org/svn/asterisk/branches/11
  15906. 2013-03-30 05:15 +0000 [r384389-384390] Matthew Jordan <mjordan@digium.com>
  15907. * main/manager.c: Properly format an intmax_t value
  15908. * include/asterisk/test.h, main/manager.c, main/test.c,
  15909. apps/app_voicemail.c: Convert TestEvent AMI events over to Stasis
  15910. Core This patch migrates the TestEvent AMI events to first be
  15911. dispatched over the Stasis-Core message bus. This helps to
  15912. preserve the ordering of the events with other events in the AMI
  15913. system, such as the various channel related events.
  15914. 2013-03-29 16:37 +0000 [r384327] Jonathan Rose <jrose@digium.com>
  15915. * apps/app_voicemail.c: app_voicemail: Add blank argument to
  15916. externnotify if no context argument At least one call to
  15917. run_externnotify provides a NULL context parameter and because
  15918. the snprintf statement doesn't account for a NULL context
  15919. parameter, it simply writes '(null)' to the arguments string
  15920. instead. This patch makes it write two quotes back to back for
  15921. that argument instead in the event of a NULL context. (closes
  15922. issue ASTERISK-18207) Reported by: Barry L. Kline Patches:
  15923. modified from patch-20130306 uploaded by Karsten Wemheuer
  15924. (License 5930) ........ Merged revisions 384325 from
  15925. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15926. revisions 384326 from
  15927. http://svn.asterisk.org/svn/asterisk/branches/11
  15928. 2013-03-28 23:59 +0000 [r384302] Richard Mudgett <rmudgett@digium.com>
  15929. * main/sorcery.c, main/stasis.c, main/uuid.c,
  15930. res/res_calendar_exchange.c, res/res_sorcery_config.c,
  15931. include/asterisk/uuid.h, tests/test_uuid.c: Add uuid wrapper API
  15932. call ast_uuid_generate_str(). * Updated test_uuid.c to test the
  15933. new API call. * Made system use the new API call to eliminate
  15934. "10's of lines" where used. * Fixed untested ast_strdup() return
  15935. in stasis_subscribe() by eliminating the need for it. struct
  15936. stasis_subscription now contains the uniqueid[] string. * Fixed
  15937. some issues in exchangecal_write_event(): Create uid with enough
  15938. space for a UUID string to avoid a realloc. Fix off by one error
  15939. if the calendar event provided a UUID string. There is no need to
  15940. check for NULL before calling ast_free().
  15941. 2013-03-28 15:45 +0000 [r384219-384261] Kinsey Moore <kmoore@digium.com>
  15942. * include/asterisk/stasis.h, main/app.c, pbx/pbx_realtime.c,
  15943. include/asterisk/channel.h, tests/test_stasis.c,
  15944. main/manager_channels.c, main/stasis.c, apps/app_voicemail.c,
  15945. main/channel.c, main/pbx.c, main/stasis_cache.c: Break the world.
  15946. Stasis message type accessors should now all be named correctly.
  15947. * main/app.c, res/res_xmpp.c, channels/chan_iax2.c,
  15948. channels/sig_pri.c, res/res_jabber.c, channels/chan_mgcp.c,
  15949. channels/chan_unistim.c, channels/chan_dahdi.c,
  15950. include/asterisk/app.h, channels/chan_sip.c,
  15951. channels/chan_skinny.c: Convert MWI state message type to the new
  15952. stasis naming convention
  15953. 2013-03-27 21:52 +0000 [r384201] David M. Lee <dlee@digium.com>
  15954. * include/asterisk/app.h, include/asterisk/stasis.h,
  15955. include/asterisk/channel.h: Added a doxygen group for Stasis
  15956. messages and topics
  15957. 2013-03-27 19:52 +0000 [r384164] Kinsey Moore <kmoore@digium.com>
  15958. * main/format_pref.c, /, channels/chan_sip.c: Address uninitialized
  15959. conditional that valgrind found ........ Merged revisions 384162
  15960. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  15961. Merged revisions 384163 from
  15962. http://svn.asterisk.org/svn/asterisk/branches/11
  15963. 2013-03-27 18:52 +0000 [r384120] Matthew Jordan <mjordan@digium.com>
  15964. * /, main/http.c: Fix a file descriptor leak in off nominal path
  15965. While looking at the security vulnerability in ASTERISK-20967,
  15966. Walter noticed a file descriptor leak and some other issues in
  15967. off nominal code paths. This patch corrects them. Note that this
  15968. patch is not related to the vulnerability in ASTERISK-20967, but
  15969. the patch was placed on that issue. (closes issue ASTERISK-20967)
  15970. Reported by: wdoekes patches:
  15971. issueA20967_file_leak_and_unused_wkspace.patch uploaded by
  15972. wdoekes (License 5674) ........ Merged revisions 384118 from
  15973. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15974. revisions 384119 from
  15975. http://svn.asterisk.org/svn/asterisk/branches/11
  15976. 2013-03-27 17:07 +0000 [r384050] Kinsey Moore <kmoore@digium.com>
  15977. * res/res_rtp_asterisk.c, /: Fix white noise on SRTP decryption
  15978. When res_rtp_asterisk.c was altered to avoid attempting to apply
  15979. unprotect algorithms to non-audio RTP packets, the test used was
  15980. incorrect. This caused the audio packets to not be decrypted and
  15981. resulted in loud white noise on the other endpoint (or both
  15982. endpoints depending on the call legs involved). The test now
  15983. properly checks the version field in the RTP header to ensure
  15984. that RTP and RTCP are decrypted while other types of packets are
  15985. not. (closes issue ASTERISK-21323) Reported by: andrea Tested by:
  15986. Kinsey Moore, andrea, John Bigelow Patches: whitenoise_fix.diff
  15987. uploaded by Kinsey Moore ........ Merged revisions 384048 from
  15988. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  15989. revisions 384049 from
  15990. http://svn.asterisk.org/svn/asterisk/branches/11
  15991. 2013-03-27 15:27 +0000 [r383975-384019] Matthew Jordan <mjordan@digium.com>
  15992. * channels/sip/include/sip.h, /, channels/chan_sip.c,
  15993. channels/sip/security_events.c: AST-2013-003: Prevent username
  15994. disclosure in SIP channel driver When authenticating a SIP
  15995. request with alwaysauthreject enabled, allowguest disabled, and
  15996. autocreatepeer disabled, Asterisk discloses whether a user exists
  15997. for INVITE, SUBSCRIBE, and REGISTER transactions in multiple
  15998. ways. The information is disclosed when: * A "407 Proxy
  15999. Authentication Required" response is sent instead of a "401
  16000. Unauthorized" response * The presence or absence of additional
  16001. tags occurs at the end of "403 Forbidden" (such as "(Bad Auth)")
  16002. * A "401 Unauthorized" response is sent instead of "403
  16003. Forbidden" response after a retransmission * Retransmission are
  16004. sent when a matching peer did not exist, but not when a matching
  16005. peer did exist. This patch resolves these various vectors by
  16006. ensuring that the responses sent in all scenarios is the same,
  16007. regardless of the presence of a matching peer. This issue was
  16008. reported by Walter Doekes, OSSO B.V. A substantial portion of the
  16009. testing and the solution to this problem was done by Walter as
  16010. well - a huge thanks to his tireless efforts in finding all the
  16011. ways in which this setting didn't work, providing automated
  16012. tests, and working with Kinsey on getting this fixed. (closes
  16013. issue ASTERISK-21013) Reported by: wdoekes Tested by: wdoekes,
  16014. kmoore patches: AST-2013-003-1.8 uploaded by kmoore, wdoekes
  16015. (License 6273, 5674) AST-2013-003-10 uploaded by kmoore, wdoekes
  16016. (License 6273, 5674) AST-2013-003-11 uploaded by kmoore, wdoekes
  16017. (License 6273, 5674) ........ Merged revisions 384003 from
  16018. http://svn.asterisk.org/svn/asterisk/branches/11
  16019. * /, main/http.c: AST-2013-002: Prevent denial of service in HTTP
  16020. server AST-2012-014, fixed in January of this year, contained a
  16021. fix for Asterisk's HTTP server for a remotely-triggered crash.
  16022. While the fix put in place fixed the possibility for the crash to
  16023. be triggered, a denial of service vector still exists with that
  16024. solution if an attacker sends one or more HTTP POST requests with
  16025. very large Content-Length values. This patch resolves this by
  16026. capping the Content-Length at 1024 bytes. Any attempt to send an
  16027. HTTP POST with Content-Length greater than this cap will not
  16028. result in any memory allocation. The POST will be responded to
  16029. with an HTTP 413 "Request Entity Too Large" response. This issue
  16030. was reported by Christoph Hebeisen of TELUS Security Labs (closes
  16031. issue ASTERISK-20967) Reported by: Christoph Hebeisen patches:
  16032. AST-2013-002-1.8.diff uploaded by mmichelson (License 5049)
  16033. AST-2013-002-10.diff uploaded by mmichelson (License 5049)
  16034. AST-2013-002-11.diff uploaded by mmichelson (License 5049)
  16035. ........ Merged revisions 383978 from
  16036. http://svn.asterisk.org/svn/asterisk/branches/11
  16037. * res/res_format_attr_h264.c, /: AST-2013-001: Prevent buffer
  16038. overflow through H.264 format negotiation The format attribute
  16039. resource for H.264 video performs an unsafe read against a media
  16040. attribute when parsing the SDP. The value passed in with the
  16041. format attribute is not checked for its length when parsed into a
  16042. fixed length buffer. This patch resolves the vulnerability by
  16043. only reading as many characters from the SDP value as will fit
  16044. into the buffer. (closes issue ASTERISK-20901) Reported by: Ulf
  16045. Harnhammar patches: h264_overflow_security_patch.diff uploaded by
  16046. jrose (License 6182) ........ Merged revisions 383973 from
  16047. http://svn.asterisk.org/svn/asterisk/branches/11
  16048. 2013-03-27 07:24 +0000 [r383948] Damien Wedhorn <voip@facts.com.au>
  16049. * channels/chan_skinny.c: Fix skinny encall button to not blind
  16050. xfer. The softbutton endcall should not turn a transfer into a
  16051. blind transfer but hangup the exten being called and leave the
  16052. original call on hold. This does that. (closes issue
  16053. ASTERISK-21321) Reported by: wedhorn Tested by: snuffy, myself
  16054. Patches: skinny-xferendcall01.diff uploaded by wedhorn (license
  16055. 5019)
  16056. 2013-03-26 23:34 +0000 [r383925] Joshua Colp <jcolp@digium.com>
  16057. * main/sorcery.c: Remove the noop handler from sorcery so it does
  16058. not produce an empty value.
  16059. 2013-03-26 02:30 +0000 [r383841-383879] Matthew Jordan <mjordan@digium.com>
  16060. * /, channels/chan_sip.c: Resolve deadlock between SIP registration
  16061. and channel based functions In r373424, several reentrancy
  16062. problems in chan_sip were addressed. As a result, the SIP channel
  16063. driver is now properly locking the channel driver private
  16064. information in certain operations that it wasn't previously. This
  16065. exposed two latent problems either in register_verify or by
  16066. functions called by register_verify. This includes: * Holding the
  16067. private lock while calling sip_send_mwi_to_peer. This can create
  16068. a new sip_pvt via sip_alloc, which will obtain the channel
  16069. container lock. This is a locking inversion, as any channel
  16070. related lock must be obtained prior to obtaining the SIP channel
  16071. technology private lock. Note that this issue was already fixed
  16072. in Asterisk 11. * Holding the private lock while calling
  16073. sip_poke_peer. In the same vein as sip_send_mwi_to_peer,
  16074. sip_poke_peer can create a new SIP private, causing the same
  16075. locking inversion. Note that this locking inversion typically
  16076. occured when CLI commands were run while a SIP REGISTER request
  16077. was being processed, as many CLI commands (such as 'sip show
  16078. channels', 'core show channels', etc.) have to obtain the channel
  16079. container lock. (issue ASTERISK-21068) Reported by: Nicolas
  16080. Bouliane (issue ASTERISK-20550) Reported by: David Brillert
  16081. (issue ASTERISK-21314) Reported by: Badalian Vyacheslav (issue
  16082. ASTERISK-21296) Reported by: Gabriel Birke ........ Merged
  16083. revisions 383863 from
  16084. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16085. revisions 383878 from
  16086. http://svn.asterisk.org/svn/asterisk/branches/11
  16087. * main/cdr.c, /: Resolve deadlock between pending CDR and batch CDR
  16088. locks r375757 attempted to resolve a race condition between
  16089. multiple submissions of CDRs while in batch mode from attempting
  16090. to destroy the scheduled batch submission by extending the batch
  16091. CDR lock. Unfortunately, this causes a deadlock between the
  16092. pending CDR lock and the batch CDR lock. This patch resolves the
  16093. intent of r375757 by simply providing a new lock that protects
  16094. the scheduling of the batches. The original batch CDR lock is
  16095. kept to protect manipulation of the batch CDR settings, but has
  16096. been placed such that it is not held when the pending lock is
  16097. held. Thanks to Chase Venters for providing lock analysis on the
  16098. issue. (issue ASTERISK-21162) Reported by: Chase Venters ........
  16099. Merged revisions 383839 from
  16100. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16101. revisions 383840 from
  16102. http://svn.asterisk.org/svn/asterisk/branches/11
  16103. 2013-03-26 01:46 +0000 [r383837-383838] Russell Bryant <russell@russellbryant.com>
  16104. * channels/chan_skinny.c: Suppress compiler warning. This code
  16105. caused a compiler warning when --enable-dev-mode was not used.
  16106. The warning was that this variable was set but not used. That was
  16107. indeed the case as the only place this is used is as an argument
  16108. to SKINNY_DEBUG which is compiled out when not in dev mode.
  16109. * /, apps/app_meetme.c: Fix multi-station answer race condition.
  16110. When an SLA trunk is ringing (inbound call on the trunk) Asterisk
  16111. will make outbound calls to the stations that have that trunk. If
  16112. more than one station answers the call at the same time, all
  16113. channels other than the first one to answer are left in a bad
  16114. state. The channel gets leaked, is not connected to anything, and
  16115. there's no way to get rid of it. We now properly clean up these
  16116. losing channels by hanging up on them. Since they lost the race,
  16117. as we process their answer, there is no ringing trunk for them to
  16118. answer. ........ Merged revisions 383835 from
  16119. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16120. revisions 383836 from
  16121. http://svn.asterisk.org/svn/asterisk/branches/11
  16122. 2013-03-25 23:25 +0000 [r383799] Richard Mudgett <rmudgett@digium.com>
  16123. * /, channels/sig_pri.c: Set the CALLERID(dnid-num-plan) for
  16124. incoming ISDN calls. The CALLEDTON channel variable is set for
  16125. incoming ISDN calls to the lower 7 bits of the Q.931
  16126. type-of-number/numbering-plan octet. The CALLERID(dnid-num-plan)
  16127. should have the same value. (closes issue ASTERISK-21248)
  16128. Reported by: rmudgett ........ Merged revisions 383796 from
  16129. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16130. revisions 383798 from
  16131. http://svn.asterisk.org/svn/asterisk/branches/11
  16132. 2013-03-25 20:15 +0000 [r383753-383754] Kinsey Moore <kmoore@digium.com>
  16133. * main/manager_channels.c: Fix typo
  16134. * main/stasis.c: Fix missing ' ' around '='
  16135. 2013-03-25 19:28 +0000 [r383726-383747] David M. Lee <dlee@digium.com>
  16136. * contrib/scripts/install_prereq: install_prereq: removed some
  16137. out-of-date comments
  16138. * contrib/scripts/install_prereq: install_prereq: Adding
  16139. jansson-devel to RH packages
  16140. * main/channel_internal_api.c, include/asterisk/channel.h, CHANGES,
  16141. main/manager_channels.c, main/channel.c, main/manager.c: Move
  16142. NewCallerid, HangupRequest and SoftHangupRequest to Stasis
  16143. HangupRequest and SoftHangupRequest are now ast_channel_blob
  16144. Stasis messages, with the cause code as an optional field in the
  16145. blob. NewCallerid now simply watches for changes in the callerid
  16146. information in channel snapshots, and creates the AMI event
  16147. appropriately. Since the original NewCallerid event honored the
  16148. channelvars setting in manager.conf, the channel variables
  16149. configured there had to become a part of the channel snapshot.
  16150. These are now a part of every snapshot based event, making the
  16151. configuration description "every time a channel-oriented event is
  16152. emitted" less of a lie. There a a few other changes wrapped up in
  16153. here as well. * When ast_channel_topic() is given NULL for a
  16154. channel, it returns the ast_channel_topic_all() topic instead of
  16155. NULL. This can clean up a lot of NULL checking we're doing
  16156. currently. * The fields Cause and Cause-txt were removed from the
  16157. base channel information and put only on the Hangup events, since
  16158. those fields are meaningless outside of a Hangup event. * Removed
  16159. the pipe-delimiter processing of the channelvars field, since
  16160. that's been deprecated forever. (closes issue ASTERISK-21096)
  16161. Review: https://reviewboard.asterisk.org/r/2405/
  16162. 2013-03-25 12:38 +0000 [r383669] Sean Bright <sean@malleable.com>
  16163. * res/res_config_curl.c, /: Properly delimit post data in
  16164. res_config_curl. ........ Merged revisions 383667 from
  16165. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16166. revisions 383668 from
  16167. http://svn.asterisk.org/svn/asterisk/branches/11
  16168. 2013-03-22 20:51 +0000 [r383633] David M. Lee <dlee@digium.com>
  16169. * main/json.c, main/Makefile: Fixed another issue from r383579.
  16170. Core modules don't honor <depend> flags in MODULEINFO, which
  16171. broke jansson if specified --with-jansson to configure.
  16172. 2013-03-22 20:43 +0000 [r383632] Michael L. Young <elgueromexicano@gmail.com>
  16173. * apps/app_mixmonitor.c, /: Fix StopMixMonitor Hanging Up When
  16174. Unable To Stop MixMonitor On A Channel A regression was
  16175. accidentally introduced when allowing an optional ID to be used
  16176. when calling StopMixMonitor. When we are unable to stop
  16177. MixMonitor on a channel, -1 is being returned which triggers the
  16178. hangup of the channel. This patch restores the prior behavior by
  16179. returning 0 whether we were successful or not. It also allows the
  16180. call from the manager to use the return code when the action
  16181. fails. (closes issue ASTERISK-21294) Reported by: daroz Tested
  16182. by: daroz Patches: asterisk-21294-stop_mixmonitor_hangingup.diff
  16183. Michael L. Young (license 5026) Review:
  16184. https://reviewboard.asterisk.org/r/2404/ ........ Merged
  16185. revisions 383631 from
  16186. http://svn.asterisk.org/svn/asterisk/branches/11
  16187. 2013-03-22 19:26 +0000 [r383579-383611] David M. Lee <dlee@digium.com>
  16188. * main/asterisk.c, main/json.c, include/asterisk/json.h: Corrected
  16189. some module issues introduced by r383579. When I moved res_json.c
  16190. to json.c, I left the MODULE_INFO stuff in there, which was
  16191. interesting if you ran module show. I also forgot to call what
  16192. was in module_load() from asterisk main().
  16193. * pbx/pbx_realtime.c, main/manager_channels.c (added),
  16194. tests/test_json.c, res/res_json.c (removed), main/pbx.c,
  16195. include/asterisk/autoconfig.h.in, configure.ac,
  16196. apps/app_userevent.c, include/asterisk/channel.h, CHANGES,
  16197. include/asterisk/manager.h, main/channel.c, main/json.c (added),
  16198. main/manager.c, configure, res/res_json.exports.in (removed):
  16199. Move more channel events to Stasis; move res_json.c to
  16200. main/json.c. This patch started out simply as fixing the bouncing
  16201. tests introduced in r382685, but required some other changes to
  16202. give it a decent implementation. To fix the bouncing tests, the
  16203. UserEvent and Newexten AMI events needed to be refactored to
  16204. dispatch via Stasis. Dispatching directly to AMI resulted in
  16205. those events sometimes getting ahead of the associated Newchannel
  16206. events, which would understandably confuse anyone. I found that
  16207. instead of creating a zillion different message types and
  16208. structures associated with them, it would be preferable to define
  16209. a message type that has a channel snapshot and a blob of
  16210. structured data with a small bit of additional information. The
  16211. JSON object model provides a very nice way of representing
  16212. structured data, so I went with that. * Move JSON support from
  16213. res_json.c to main/json.c * Made libjansson-dev a required
  16214. dependency * Added an ast_channel_blob message type, which has a
  16215. channel snapshot and JSON blob of data. * Changed UserEvent and
  16216. Newexten events so that they are dispatched via ast_channel_blob
  16217. messages on the channel's topic. * Got rid of the
  16218. ast_channel_varset message; used ast_channel_blob instead. *
  16219. Extracted the manager functions converting Stasis channel events
  16220. to AMI events into manager_channel.c. (issue ASTERISK-21096)
  16221. Review: https://reviewboard.asterisk.org/r/2381/
  16222. 2013-03-22 06:32 +0000 [r383560] Damien Wedhorn <voip@facts.com.au>
  16223. * channels/chan_skinny.c: Fix skinny voicemail indication issues.
  16224. Unsubscribe from MWI stasis event on channel reload. (closes
  16225. issue ASTERISK-21216) Reported by: wedhorn Tested by: snuffy,
  16226. myself Patches: skinny-mwiind02.diff uploaded by snuffy (license
  16227. 5024)
  16228. 2013-03-21 20:09 +0000 [r383541] David M. Lee <dlee@digium.com>
  16229. * include/asterisk/stasis.h: Corrected doc error for Stasis. I
  16230. guess the mutex isn't necessary. Thanks, rmudgett!
  16231. 2013-03-21 17:41 +0000 [r383519] Richard Mudgett <rmudgett@digium.com>
  16232. * include/asterisk/astobj2.h: Fix astobj2 doxygen comment.
  16233. 2013-03-20 20:27 +0000 [r383458-383462] Walter Doekes <walter+asterisk@wjd.nu>
  16234. * funcs/func_curl.c, /: Have func_curl log a warning when a curl
  16235. request fails. Review: https://reviewboard.asterisk.org/r/2403/
  16236. ........ Merged revisions 383460 from
  16237. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16238. revisions 383461 from
  16239. http://svn.asterisk.org/svn/asterisk/branches/11
  16240. * funcs/func_curl.c, /: Minor cleanup in func_curl near hashcompat
  16241. code. Review: https://reviewboard.asterisk.org/r/2402/ ........
  16242. Merged revisions 383457 from
  16243. http://svn.asterisk.org/svn/asterisk/branches/11
  16244. 2013-03-20 16:01 +0000 [r383422] Kinsey Moore <kmoore@digium.com>
  16245. * main/stasis.c: Resolve a race condition in Stasis Because of the
  16246. way that topics were handled when publishing, it was possible to
  16247. dispatch a message to a subscription after that subscription had
  16248. been unsubscribed such that the dispatched message arrived at the
  16249. callback after the callback had received its final message. In
  16250. callbacks that cleaned up user data, this would often cause a
  16251. segfault. This has been resolved by locking the topic during the
  16252. entirety of dispatch. To prevent long publishing and topic
  16253. locking times, forwarding subscriptions have been made to be
  16254. standard subscriptions instead of mailboxless subscriptions which
  16255. were dispatched at publishing time.
  16256. 2013-03-20 14:52 +0000 [r383405] Joshua Colp <jcolp@digium.com>
  16257. * main/sorcery.c, res/res_sorcery_memory.c,
  16258. include/asterisk/sorcery.h, tests/test_sorcery.c: Pass the
  16259. sorcery instance to wizards for CUD operations as well as
  16260. retrieve.
  16261. 2013-03-19 19:07 +0000 [r383377] Kinsey Moore <kmoore@digium.com>
  16262. * main/stasis_message_router.c: Fix lock destruction/unlock
  16263. inversion When using scoped locks, the unref of an AO2 object
  16264. should happen after the unlock occurs which requires usage of
  16265. scoped refs.
  16266. 2013-03-19 16:00 +0000 [r383343] David M. Lee <dlee@digium.com>
  16267. * codecs/Makefile, /: Multiple revisions 383341-383342 ........
  16268. r383341 | dlee | 2013-03-19 10:57:29 -0500 (Tue, 19 Mar 2013) | 5
  16269. lines Removed codecs/g722/*.i on make clean ........ Merged
  16270. revisions 383340 from
  16271. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  16272. r383342 | dlee | 2013-03-19 10:58:33 -0500 (Tue, 19 Mar 2013) | 1
  16273. line Remove codecs/speex/*.i on make clean ........ Merged
  16274. revisions 383341-383342 from
  16275. http://svn.asterisk.org/svn/asterisk/branches/11
  16276. 2013-03-16 16:00 +0000 [r383284-383287] Kinsey Moore <kmoore@digium.com>
  16277. * res/res_jabber.c, channels/chan_mgcp.c: Make sure things
  16278. compile...
  16279. * channels/sip/include/sip.h, main/asterisk.c,
  16280. channels/chan_mgcp.c, apps/app_voicemail.c,
  16281. channels/chan_unistim.c, channels/chan_sip.c,
  16282. include/asterisk/stasis.h, res/res_xmpp.c, channels/sig_pri.c,
  16283. channels/chan_iax2.c, res/res_jabber.c, main/stasis.c,
  16284. channels/sig_pri.h, main/channel.c, include/asterisk/app.h,
  16285. channels/chan_dahdi.c, channels/chan_skinny.c,
  16286. include/asterisk/xmpp.h, apps/app_minivm.c, main/app.c:
  16287. Transition MWI to Stasis-core Remove MWI's dependency on the
  16288. event system by moving it to Stasis-core. This also introduces
  16289. forwarding topic pools in Stasis-core which aggregate many
  16290. dynamically allocated topics into a single primary topic. Review:
  16291. https://reviewboard.asterisk.org/r/2368/ (closes issue
  16292. ASTERISK-21097) Patch-by: Kinsey Moore
  16293. 2013-03-16 15:40 +0000 [r383267-383283] Joshua Colp <jcolp@digium.com>
  16294. * res/res_xmpp.c, CHANGES: Add support for using XMPP buddy state
  16295. via device state. This change allows you to use XMPP buddy state
  16296. in places where device state can be used be used, such as
  16297. dialplan hints. If at least one resource is available the buddy
  16298. is considered available. Now your phone can reflect their IM
  16299. status too!
  16300. * res/res_xmpp.c, /: Fix a bug where resources were not found due
  16301. to hashing on the priority itself. ........ Merged revisions
  16302. 383266 from http://svn.asterisk.org/svn/asterisk/branches/11
  16303. 2013-03-15 17:35 +0000 [r383225-383242] David M. Lee <dlee@digium.com>
  16304. * main/stasis_cache.c, main/stasis_message_router.c (added),
  16305. main/stasis_message.c, include/asterisk/stasis_message_router.h
  16306. (added), tests/test_stasis.c, main/stasis.c: A simplistic router
  16307. for stasis_message's. Often times, when subscribing to a topic,
  16308. one wants to handle different message types differently. While
  16309. one could cascade if/else statements through the subscription
  16310. handler, it is much cleaner to specify a different callback for
  16311. each message type. The stasis_message_router is here to help! A
  16312. stasis_message_router is constructed for a particular
  16313. stasis_topic, which is subscribes to. Call
  16314. stasis_message_router_unsubscribe() to cancel that subscription.
  16315. Once constructed, routes can be added using
  16316. stasis_message_router_add() (or
  16317. stasis_message_router_set_default() for any messages not handled
  16318. by other routes). There may be only one route per
  16319. stasis_message_type. The route's callback is invoked just as if
  16320. it were a callback for a subscription; but it only gets called
  16321. for messages of the specified type. (issue ASTERISK-20887)
  16322. Review: https://reviewboard.asterisk.org/r/2390/
  16323. * configs/stasis_core.conf.sample (added): Sample config file for
  16324. stasis-core. (issue ASTERISK-20887)
  16325. 2013-03-15 13:04 +0000 [r383167-383169] Kinsey Moore <kmoore@digium.com>
  16326. * tests/test_stasis.c, main/manager.c, main/channel_internal_api.c:
  16327. Take advantage of the fact that stasis_unsubscribe now returns
  16328. NULL
  16329. * main/stasis.c, main/stasis_cache.c, include/asterisk/stasis.h:
  16330. Make stasis unsubscription functions return NULL Unsubscribing
  16331. things in Asterisk seems to very commonly follow with NULLing out
  16332. the variable that was unsubscribed. This change makes that a bit
  16333. simpler.
  16334. * main/tcptls.c, main/manager.c, /, channels/chan_sip.c,
  16335. main/http.c: tcptls: Prevent unsupported options from being set
  16336. AMI, HTTP, and chan_sip all support TLS in some way, but none of
  16337. them support all the options that Asterisk's TLS core is capable
  16338. of interpreting. This prevents consumers of the TLS/SSL layer
  16339. from setting TLS/SSL options that they do not support. This also
  16340. gets tlsverifyclient closer to a working state by requesting the
  16341. client certificate when tlsverifyclient is set. Currently, there
  16342. is no consumer of main/tcptls.c in Asterisk that supports this
  16343. feature and so it can not be properly tested. Review:
  16344. https://reviewboard.asterisk.org/r/2370/ Reported-by: John
  16345. Bigelow Patch-by: Kinsey Moore (closes issue AST-1093) ........
  16346. Merged revisions 383165 from
  16347. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16348. revisions 383166 from
  16349. http://svn.asterisk.org/svn/asterisk/branches/11
  16350. 2013-03-15 01:38 +0000 [r383122-383126] Matthew Jordan <mjordan@digium.com>
  16351. * /, channels/chan_sip.c: When a session timer expires during a
  16352. T.38 call, re-invite with correct SDP When a session timer
  16353. expires during a dialog that has re-negotiated to T.38 and
  16354. Asterisk is the refresher, Asterisk will send a re-INVITE with an
  16355. SDP containing audio media only. This causes some hilarity with
  16356. the poor fax session under weigh. This patch corrects that by
  16357. sending T.38 parameters if we are in the middle of a T.38
  16358. session. (closes issue ASTERISK-21232) Reported by: Nitesh Bansal
  16359. patches:
  16360. dont-send-audio-reinvite-for-sess-timer-in-t38-call.patch
  16361. uploaded by nbansal (License 6418) ........ Merged revisions
  16362. 383124 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  16363. ........ Merged revisions 383125 from
  16364. http://svn.asterisk.org/svn/asterisk/branches/11
  16365. * pbx/pbx_spool.c, /: Fix processing of call files when using
  16366. KQueue on OS X In certain situations, call files are not
  16367. processed when using KQueue with pbx_spool. Asterisk was sending
  16368. an invalid timeout value when the spool directory is empty,
  16369. causing the call to kevent to error immediately. This can create
  16370. a tight loop, increasing the CPU load on the system. (closes
  16371. issue ASTERISK-21176) Reported by: Carlton O'Riley patches:
  16372. kqueue_osx.patch uploaded by coriley (License 6473) ........
  16373. Merged revisions 383120 from
  16374. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16375. revisions 383121 from
  16376. http://svn.asterisk.org/svn/asterisk/branches/11
  16377. 2013-03-14 16:57 +0000 [r383063] Jason Parker <jparker@digium.com>
  16378. * /, autoconf/ast_ext_lib.m4: Fix whitespace in AST_EXT_LIB_CHECK
  16379. macro. ........ Merged revisions 383061 from
  16380. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16381. revisions 383062 from
  16382. http://svn.asterisk.org/svn/asterisk/branches/11
  16383. 2013-03-13 14:39 +0000 [r383008] Matthew Jordan <mjordan@digium.com>
  16384. * res/res_rtp_asterisk.c: Always set the RTP instance data in the
  16385. RTP engine Not informing the RTP engine of the instance data
  16386. creates shrapnel.
  16387. 2013-03-12 22:43 +0000 [r382989] Andrew Latham <lathama@gmail.com>
  16388. * res/res_config_ldap.c: Update Doxygen Push some cleanups upstream
  16389. before testing another ticket. (issue ASTERISK-20259)
  16390. 2013-03-12 21:19 +0000 [r382941-382954] Michael L. Young <elgueromexicano@gmail.com>
  16391. * addons/res_config_mysql.c, /: Fix Sorting Order For Parking Lots
  16392. Stored In Static Realtime When retrieving the parking lots from a
  16393. MySQL database table, the current order is "filename, cat_metric
  16394. desc, var_metric asc, category". If there are multiple parking
  16395. lots with the same cat_metric but different categories,
  16396. everything is being sorted on cat_metric first resulting in
  16397. errors when loading the parking lots. This patch fixes the
  16398. problem by sorting on the category field first, then the
  16399. cat_metric field. (closes issue ASTERISK-21035) Reported by: Alex
  16400. Epshteyn Patches: asterisk-21035-orderby.diff Michael L. Young
  16401. (license 5026) ........ Merged revisions 382942 from
  16402. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16403. revisions 382943 from
  16404. http://svn.asterisk.org/svn/asterisk/branches/11
  16405. * contrib/realtime/mysql/sippeers.sql, /,
  16406. contrib/realtime/postgresql/realtime.sql: Update Contributed
  16407. Realtime Schema Files - IPv6 Addresses This commit updates some
  16408. fields in the contributed realtime schema files to handle IPv6
  16409. addresses. (closes issue ASTERISK-21173) Reported by: Torrey
  16410. Searle Patches: realtime_sql.patch Torrey Searle (license 5334)
  16411. asterisk-21173-update-ip-fields.diff Michael L. Young (license
  16412. 5026) ........ Merged revisions 382939 from
  16413. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16414. revisions 382940 from
  16415. http://svn.asterisk.org/svn/asterisk/branches/11
  16416. 2013-03-12 20:07 +0000 [r382924] Joshua Colp <jcolp@digium.com>
  16417. * res/res_xmpp.c, /: Fix a crash when res_xmpp is configured using
  16418. a username without a domain. (closes issue ASTERISK-21156)
  16419. Reported by: amsoft2001 ........ Merged revisions 382923 from
  16420. http://svn.asterisk.org/svn/asterisk/branches/11
  16421. 2013-03-12 19:08 +0000 [r382900] Jason Parker <jparker@digium.com>
  16422. * build_tools/menuselect-deps.in, configure,
  16423. include/asterisk/autoconfig.h.in, configure.ac, res/Makefile,
  16424. CHANGES, makeopts.in, res/pjproject (removed),
  16425. res/res_rtp_asterisk.c: Switch to using external pjproject
  16426. libraries. ICE/STUN/TURN support in res_rtp_asterisk is also now
  16427. optional.
  16428. 2013-03-12 16:30 +0000 [r382852] Matthew Jordan <mjordan@digium.com>
  16429. * /, channels/chan_sip.c: Include the Username field in SIP
  16430. Registry events when Status is registered In ASTERISK-17888, the
  16431. AMI Registry event during SIP registrations was supposed to
  16432. include the Username field. Somehow, one of the events was
  16433. missed. This patch corrects that - the Username field should be
  16434. included in all AMI Registry events involving SIP registrations.
  16435. (issue ASTERISK-17888) (closes issue ASTERISK-21201) Reported by:
  16436. Dmitriy Serov patches: chan_sip.c.diff uploaded by Dmitriy Serov
  16437. (license 6479) ........ Merged revisions 382847 from
  16438. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16439. revisions 382848 from
  16440. http://svn.asterisk.org/svn/asterisk/branches/11
  16441. 2013-03-12 08:55 +0000 [r382828] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
  16442. * channels/chan_unistim.c, /: Fix core dump on CLI usage Fix issue
  16443. with 'unistim show info' CLI command when device connected not
  16444. configured ........ Merged revisions 382827 from
  16445. http://svn.asterisk.org/svn/asterisk/branches/11
  16446. 2013-03-11 15:22 +0000 [r382787] Kevin Harwell <kharwell@digium.com>
  16447. * CHANGES, channels/sip/include/sip.h, channels/chan_sip.c: Added
  16448. an option to disallow music on hold Added an option
  16449. "discard_remote_hold_retrieval" (default "no") that if set does
  16450. not trigger the music on hold event. This essentially stops
  16451. telling the peer to start music on hold. (issue ABE-2899)
  16452. Reported by: Denis Alberto Martinez Review:
  16453. https://reviewboard.asterisk.org/r/2336/
  16454. 2013-03-09 00:21 +0000 [r382764] Richard Mudgett <rmudgett@digium.com>
  16455. * apps/confbridge/include/conf_state.h,
  16456. apps/confbridge/conf_state_multi.c, apps/app_confbridge.c,
  16457. apps/confbridge/conf_state_multi_marked.c,
  16458. apps/confbridge/conf_state_empty.c, apps/confbridge/conf_state.c,
  16459. apps/confbridge/conf_config_parser.c,
  16460. apps/confbridge/conf_state_single.c,
  16461. apps/confbridge/conf_state_inactive.c,
  16462. apps/confbridge/conf_state_single_marked.c,
  16463. apps/confbridge/include/confbridge.h: confbridge: Rename items
  16464. for clarity and consistency. struct conference_bridge_user ->
  16465. struct confbridge_user struct conference_bridge -> struct
  16466. confbridge_conference struct conference_state -> struct
  16467. confbridge_state struct conference_bridge_user
  16468. *conference_bridge_user -> struct confbridge_user *user struct
  16469. conference_bridge_user *cbu -> struct confbridge_user *user
  16470. struct conference_bridge *conference_bridge -> struct
  16471. confbridge_conference *conference The names are now generally
  16472. shorter, consistently used, and don't conflict with the struct
  16473. names. This patch handles the renaming part of the issue. (issue
  16474. ASTERISK-20776) Reported by: rmudgett
  16475. 2013-03-08 20:26 +0000 [r382746] Jonathan Rose <jrose@digium.com>
  16476. * /, channels/chan_sip.c: chan_sip: Update the via header when
  16477. relaying SMS MESSAGE Prior to this change, certain conditions for
  16478. sending the message would result in an address of '(null)' being
  16479. used in the via header of the SIP message because a NULl value of
  16480. pvt->ourip was used when initially generating the via header.
  16481. This is fixed by adding a call to build_via when the address is
  16482. set before sending the message. (closes issue ASTERISK-21148)
  16483. Reported by: Zhi Cheng Patches: 700-sip_msg_send_via_fix.patch
  16484. uploaded by Zhi Cheng (license 6475) ........ Merged revisions
  16485. 382739 from http://svn.asterisk.org/svn/asterisk/branches/11
  16486. 2013-03-08 16:59 +0000 [r382721-382724] David M. Lee <dlee@digium.com>
  16487. * main/stasis_cache.c, include/asterisk/stasis.h: Stasis
  16488. documentation updates. (issue ASTERISK-20887) (issue
  16489. ASTERISK-20959)
  16490. * main/stasis.c, main/channel.c, main/channel_internal_api.c:
  16491. Ensure dummy channels get a stasis topic. Fixes test failure
  16492. introduced in r382685. (issue ASTERISK-20887) (issue
  16493. ASTERISK-20959)
  16494. 2013-03-08 16:00 +0000 [r382705] Kinsey Moore <kmoore@digium.com>
  16495. * include/asterisk/stasis.h, tests/test_stasis.c,
  16496. main/stasis_cache.c: Add message dump capability to stasis cache
  16497. layer The cache dump mechanism allows the developer to retreive
  16498. multiple items of a given type (or of all types) from the cache
  16499. residing in a stasis caching topic in addition to the existing
  16500. single-item cache retreival mechanism. This also adds to the
  16501. caching unit tests to ensure that the new cache dump mechanism is
  16502. functioning properly. Review:
  16503. https://reviewboard.asterisk.org/r/2367/ (issue ASTERISK-21097)
  16504. 2013-03-08 15:15 +0000 [r382685] David M. Lee <dlee@digium.com>
  16505. * include/asterisk/channel.h, tests/test_stasis.c (added),
  16506. main/asterisk.c, main/stasis.c (added), main/channel.c,
  16507. main/stasis_cache.c (added), main/pbx.c, main/stasis_message.c
  16508. (added), main/manager.c, main/asterisk.exports.in,
  16509. include/asterisk/channel_internal.h, main/channel_internal_api.c,
  16510. include/asterisk/stasis.h (added): This patch adds a new message
  16511. bus API to Asterisk. For the initial use of this bus, I took some
  16512. work kmoore did creating channel snapshots. So rather than create
  16513. AMI events directly in the channel code, this patch generates
  16514. Stasis events, which manager.c uses to then publish the AMI
  16515. event. This message bus provides a generic publish/subscribe
  16516. mechanism within Asterisk. This message bus is: - Loosely
  16517. coupled; new message types can be added in seperate modules. -
  16518. Easy to use; publishing and subscribing are straightforward
  16519. operations. In addition to basic publish/subscribe, the patch
  16520. also provides mechanisms for message forwarding, and for message
  16521. caching. (issue ASTERISK-20887) (closes issue ASTERISK-20959)
  16522. Review: https://reviewboard.asterisk.org/r/2339/
  16523. 2013-03-08 04:11 +0000 [r382670-382671] Matthew Jordan <mjordan@digium.com>
  16524. * channels/chan_sip.c: Remove unused function After r382670,
  16525. get_ip_and_port_from_sdp was no longer used.
  16526. * channels/chan_sip.c: Don't reset the RTP address on a glare
  16527. re-INVITE Originally, way back in r201583, we added the alternate
  16528. RTP address so that the RTP engine would expect to receive audio
  16529. from a new source when a glare re-INVITE occurred. In r382589, we
  16530. remove the alternate RTP source, as the 'secret' probation mode
  16531. allows for switching to a new RTP source when a previous source
  16532. stops sending RTP. At the time, it seemed appropriate to set the
  16533. RTP source based on the information in the glared re-INVITE.
  16534. Unfortunately, that doesn't work so well - in a glared re-INVITE
  16535. that occurs with no SDP - such as in a connected line update that
  16536. glances - we'll set the RTP source to an invalid address. In
  16537. subsequent re-INVITE requests from this Asterisk instance, we'll
  16538. then send an invalid media address, which will result in the
  16539. remote side sending a 488. Whoops. There isn't any need to reset
  16540. the RTP source - if we're using strictrtp, we'll simply
  16541. synchronize to a new source when we stop getting packets from the
  16542. old one. If we aren't using strictrtp, then again there shouldn't
  16543. be a problem. Note that the Asterisk Test Suite's connectedline
  16544. test caught this error.
  16545. 2013-03-07 21:55 +0000 [r382648] David M. Lee <dlee@digium.com>
  16546. * main/threadpool.c: Changing log level of "Not changing threadpool
  16547. size" from notice to debug.
  16548. 2013-03-07 21:14 +0000 [r382636] Jason Parker <jparker@digium.com>
  16549. * res/res_sorcery_config.c, res/res_sorcery_memory.c: Load sorcery
  16550. modules earlier, so they can actually be used.
  16551. 2013-03-07 19:14 +0000 [r382621] Matthew Jordan <mjordan@digium.com>
  16552. * apps/app_voicemail.c, /: Let vm_mailbox_snapshot combine "Urgent"
  16553. when no folder is specified r381835 fixed a bug in
  16554. vm_mailbox_snapshot where combining INBOX and Old forgot that
  16555. Urgent also "counts" as new messages. This fixed the problem when
  16556. any of the three folders was specified and the combine option was
  16557. used. It missed the case where the folder isn't specified and we
  16558. build a snapshot of all folders. This patch corrects that.
  16559. ........ Merged revisions 382617 from
  16560. http://svn.asterisk.org/svn/asterisk/branches/11
  16561. 2013-03-07 16:48 +0000 [r382600-382604] Kinsey Moore <kmoore@digium.com>
  16562. * main/xmldoc.c: Fix a memory leak in xmldoc Another instance of
  16563. attribute retrieval not being freed properly.
  16564. * main/xmldoc.c: Resolve more memory leaks in xmldoc Many places
  16565. that allocated to pull out an attribute are now freed properly.
  16566. 2013-03-07 15:48 +0000 [r382589] Matthew Jordan <mjordan@digium.com>
  16567. * include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c,
  16568. main/rtp_engine.c, /, channels/chan_sip.c: Add a 'secret'
  16569. probation strictrtp mode to handle delayed changes in RTP source
  16570. Often, Asterisk may realize that a change in the source of an RTP
  16571. stream is about to occur and ask that the RTP engine reset it's
  16572. lock on the current RTP source. In certain scenarios, it may take
  16573. awhile for the new remote system to send RTP packets, while the
  16574. old remote system may continue providing RTP during that time
  16575. period. This causes Asterisk to re-lock onto the old source,
  16576. thereby rejecting the new source when the old source stops
  16577. sending RTP and the new source begins. This patch prevents that
  16578. by having a constant secondary, 'secret' probation mode enabled
  16579. when an RTP source has been chosen. RTP packets from other
  16580. sources are always considered, but never chosen unless the
  16581. current RTP source stops sending RTP. Review:
  16582. https://reviewboard.asterisk.org/r/2364 (closes issue AST-1124)
  16583. Reported by: John Bigelow Tested by: John Bigelow (closes issue
  16584. AST-1125) Reported by: John Bigelow Tested by: John Bigelow
  16585. ........ Merged revisions 382573 from
  16586. http://svn.asterisk.org/svn/asterisk/branches/11
  16587. 2013-03-07 15:36 +0000 [r382489-382587] Kinsey Moore <kmoore@digium.com>
  16588. * main/xmldoc.c: Fix minor memory leak in xmldoc Strings retrieved
  16589. via ast_xml_get_text() must be freed with ast_xml_free_text().
  16590. * /, main/logger.c: Ensure that logmsgs are freed properly Messages
  16591. sent while the logger thread is shutting down will now have their
  16592. associated callid freed properly. ........ Merged revisions
  16593. 382574 from http://svn.asterisk.org/svn/asterisk/branches/11
  16594. * main/threadpool.c: Fix ref leak in threadpool.c If
  16595. ast_threadpool_set_size with a size equal to the current size, a
  16596. reference to a set_size_data structure would be leaked.
  16597. * main/threadpool.c: Resolve a ref leak in threadpool.c Ownership
  16598. of the listener reference is not transferred because the listener
  16599. is reffed when placed into the taskprocessor. Ensure that the
  16600. listener is dereffed properly.
  16601. 2013-03-05 13:14 +0000 [r382440] Matthew Jordan <mjordan@digium.com>
  16602. * configs/res_ldap.conf.sample,
  16603. contrib/realtime/postgresql/realtime.sql,
  16604. configs/sip.conf.sample, CHANGES,
  16605. contrib/scripts/asterisk.ldap-schema,
  16606. contrib/scripts/asterisk.ldif, channels/sip/include/sip.h,
  16607. CREDITS, contrib/realtime/mysql/sippeers.sql,
  16608. channels/chan_sip.c: Add RFC 3327 Path header support to chan_sip
  16609. This patch adds support for RFC 3327 "Path" headers. This can be
  16610. enabled in sip.conf using the 'supportpath' setting, either on a
  16611. global basis or on a peer basis. This setting enables Asterisk to
  16612. route outgoing out-of-dialog requests via a set of proxies by
  16613. using a pre-loaded route-set defined by the Path headers in the
  16614. REGISTER request. This patch also adds Realtime support for
  16615. dynamically updating the Path information for a peer. A huge
  16616. thank-you to Klaus Darillion and Olle E Johansson for their
  16617. efforts in writing this patch. Review:
  16618. https://reviewboard.asterisk.org/r/2235/ Review:
  16619. https://reviewboard.asterisk.org/r/991/ (closes issue
  16620. ASTERISK-16884) Reported by: klaus3000 Tested by: klaus3000, oej,
  16621. mjordan patches: path-1.8.0-patch.txt uploaded by klaus3000
  16622. (License 5054) oolong-path-support-trunk in team branch by oej
  16623. (License 5267)
  16624. 2013-03-05 03:53 +0000 [r382411] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
  16625. * /, channels/chan_unistim.c: Fix several unreleased mutex locks
  16626. that cause problem with processing calls Reported by: Daniel
  16627. Bohling Tested by: Daniel Bohling (Closes issue ASTERISK-21119)
  16628. ........ Merged revisions 382409 from
  16629. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16630. revisions 382410 from
  16631. http://svn.asterisk.org/svn/asterisk/branches/11
  16632. 2013-03-04 21:15 +0000 [r382392] Richard Mudgett <rmudgett@digium.com>
  16633. * include/asterisk/format_cap.h, main/bridging.c: Fixup some bridge
  16634. and format capabilities comments and whitespace.
  16635. 2013-03-04 21:14 +0000 [r382391] Jason Parker <jparker@digium.com>
  16636. * /, main/event.c: Fix comparison of presence state in event
  16637. subsystem. Several new IEs were not given types (or names),
  16638. causing the comparison function to improperly succeed. This adds
  16639. those. (closes issue AST-1128) ........ Merged revisions 382390
  16640. from http://svn.asterisk.org/svn/asterisk/branches/11
  16641. 2013-03-04 20:18 +0000 [r382386] Kevin Harwell <kharwell@digium.com>
  16642. * /, apps/app_confbridge.c: Confbridge CLI new record file name
  16643. check. This fix checks to make sure that if a confbridge record
  16644. start command is issued from the CLI it will always use the file
  16645. name given on the CLI even if it changes between start/stop
  16646. records for a conference. Previously it had been reusing the same
  16647. file between start/stops even if a new filename was given. (issue
  16648. AST-1088) Reported by: John Bigelow ........ Merged revisions
  16649. 382385 from http://svn.asterisk.org/svn/asterisk/branches/11
  16650. 2013-03-01 18:01 +0000 [r382340] Joshua Colp <jcolp@digium.com>
  16651. * include/asterisk/sorcery.h, tests/test_sorcery.c, main/sorcery.c:
  16652. Add support for registering a sorcery handler which supports
  16653. multiple fields using a regex. Review:
  16654. https://reviewboard.asterisk.org/r/2332/
  16655. 2013-03-01 04:32 +0000 [r382323] Michael L. Young <elgueromexicano@gmail.com>
  16656. * contrib/realtime/postgresql/realtime.sql, CHANGES,
  16657. contrib/realtime/mysql/sippeers.sql, /, channels/chan_sip.c: Fix
  16658. / Clean Up Some Items To Handle The New auto_* NAT Options The
  16659. original report had to do with a realtime peer behind NAT being
  16660. pruned and the peer's private address being used instead of its
  16661. external address. Upon debugging, it was discovered that this was
  16662. being caused by the addition of the auto_force_rport and
  16663. auto_comedia settings. This patch does the following: * Adds a
  16664. missing note to the CHANGES file indicating that the default
  16665. global nat setting is auto_force_rport * Constify the 'req'
  16666. parameter for check_via() * Add calls to check_via() in a couple
  16667. of places in order for the auto_* settings to do their job in
  16668. attempting to determine if NAT is involved * Set the flags
  16669. SIP_NAT_FORCE_RPORT and SIP_PAGE2_SYMMETRICRTP if the auto_*
  16670. settings are in use where it was needed * Moves the copying of
  16671. peer flags up in build_peer() to before they are used; this fixes
  16672. the realtime prune issue * Update the contrib/realtime schemas to
  16673. allow the nat column to handle the different nat setting
  16674. combinations we have This patch received a review and "Ship It!"
  16675. on the issue itself. (closes issue ASTERISK-20904) Reported by:
  16676. JoshE Tested by: JoshE, Michael L. Young Patches:
  16677. asterisk-20904-nat-auto-and-rt-peersv2.diff Michael L. Young
  16678. (license 5026) ........ Merged revisions 382322 from
  16679. http://svn.asterisk.org/svn/asterisk/branches/11
  16680. 2013-02-28 21:59 +0000 [r382297-382299] Joshua Colp <jcolp@digium.com>
  16681. * /, res/res_rtp_asterisk.c: While the ICE negotiation is occurring
  16682. leave strictrtp in an open state, media can and will come from
  16683. different places. ........ Merged revisions 382298 from
  16684. http://svn.asterisk.org/svn/asterisk/branches/11
  16685. * res/res_rtp_asterisk.c, /: Fix a bug with ICE and strictrtp where
  16686. media could get dropped. If the end result of the ICE negotiation
  16687. resulted in the path for media changing it was possible for the
  16688. strictrtp code to discard the RTP packets. This change causes
  16689. strictrtp to enter learning mode once again when the ICE
  16690. negotiation has completed successfully. ........ Merged revisions
  16691. 382296 from http://svn.asterisk.org/svn/asterisk/branches/11
  16692. 2013-02-28 21:31 +0000 [r382294-382295] Richard Mudgett <rmudgett@digium.com>
  16693. * main/threadpool.c: threadpool: Make ast_threadpool_push() return
  16694. -1 if shutting_down
  16695. * include/asterisk/threadpool.h, main/threadpool.c: threadpool:
  16696. Whitespace and comment corrections.
  16697. 2013-02-28 21:21 +0000 [r382292] Jason Parker <jparker@digium.com>
  16698. * res/res_rtp_asterisk.c, include/asterisk.h: Don't undefine
  16699. bzero()/bcopy(). This was causing build failures against external
  16700. libraries that happened to use them, unless silly hacks were
  16701. added to the modules that used those headers. Review:
  16702. https://reviewboard.asterisk.org/r/2359/
  16703. 2013-02-28 17:17 +0000 [r382232-382236] Matthew Jordan <mjordan@digium.com>
  16704. * /, channels/chan_iax2.c: Prevent deadlock in chan_iax2 when
  16705. attempting to set caller ID A deadlock can occur in chan_iax2
  16706. when it attempts to set the caller ID, as it already holds the
  16707. iax2 private lock and improperly fails to obtain the channel lock
  16708. before calling ast_set_callerid. By not safely obtaining the
  16709. channel lock, a locking inversion can take place, causing a
  16710. deadlock. This patch solves this by calling the required deadlock
  16711. avoidance functions that obtain the channel lock before setting
  16712. the caller ID. Thanks to Pavel for fixing my syntax errors and
  16713. testing this patch out. (closes issue ASTERISK-21128) Reported
  16714. by: Pavel Troller Tested by: Pavel Troller patches:
  16715. ASTERISK-21128-1.8.diff uploaded by mjordan (license 6283)
  16716. ASTERISK-21128-modified-1.8.diff uploaded by Pavel Troller
  16717. (license 6302) ........ Merged revisions 382233 from
  16718. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16719. revisions 382234 from
  16720. http://svn.asterisk.org/svn/asterisk/branches/11
  16721. * /, apps/app_meetme.c, CHANGES: Let channels joining a MeetMe
  16722. conference opt out of the denoiser For some channel drivers,
  16723. specifically those that have a varying rate in the number of
  16724. audio samples, the audio quality for a MeetMe conference can be
  16725. exceedingly poor. This is due to a unilateral application of the
  16726. DENOISE function in func_speex to channels joining the
  16727. conference. The denoiser function in the speex library is
  16728. initialized with the number of audio samples in each sample that
  16729. will be provided to it. If the number of audio samples changes,
  16730. the denoiser has to be thrown away and re-initialized. While this
  16731. could be worked around by removing func_speex, that doesn't help
  16732. if you actually use the denoiser with other channels on the
  16733. system. This patches does the following: * Checks for the
  16734. presence of func_speex as opposed to codec_speex when determining
  16735. if the DENOISE function is present (which is where the function
  16736. is actually implemented) * Adds an option to MeetMe 'n' that
  16737. causes the denoiser to not be applied to a channel when it joins.
  16738. This keeps the current behavior the default, but let's users
  16739. disable the denoiser if it causes problems on their system.
  16740. Review: https://reviewboard.asterisk.org/r/2358 (closes issue
  16741. AST-1062) Reported by: Thomas Arimont ........ Merged revisions
  16742. 382227 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  16743. ........ Merged revisions 382230 from
  16744. http://svn.asterisk.org/svn/asterisk/branches/11
  16745. 2013-02-27 20:31 +0000 [r382203-382204] Richard Mudgett <rmudgett@digium.com>
  16746. * channels/chan_skinny.c: More places to eliminate the cast to argv
  16747. but were not giving warnings.
  16748. * channels/chan_skinny.c: Fix compiler warning by eliminating the
  16749. need for a cast.
  16750. 2013-02-27 16:19 +0000 [r382182] Joshua Colp <jcolp@digium.com>
  16751. * /, channels/chan_sip.c: Relax dialog checking in
  16752. get_sip_pvt_byid_locked so it works when the dialog is forked.
  16753. (closes issue ASTERISK-20638) Reported by: eelcob Patches:
  16754. pedantic-call-pickup-from-tag.patch uploaded by eelcob (license
  16755. 6442) ........ Merged revisions 382171 from
  16756. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16757. revisions 382174 from
  16758. http://svn.asterisk.org/svn/asterisk/branches/11
  16759. 2013-02-26 20:05 +0000 [r382113] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
  16760. * /, configure, configure.ac: Consider linux-gnuspe as linux-gnu *
  16761. The powerpcspe Linux port uses linux-gnuspe as the OS string. *
  16762. Our build system shouldn't really care for that, so just call it
  16763. linux-gnu. * Original report: Roland Stigge ,
  16764. http://bugs.debian.org/701505 Review:
  16765. https://reviewboard.asterisk.org/r/2357/ ........ Merged
  16766. revisions 382110 from
  16767. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16768. revisions 382111 from
  16769. http://svn.asterisk.org/svn/asterisk/branches/11
  16770. 2013-02-26 19:36 +0000 [r382109] Walter Doekes <walter+asterisk@wjd.nu>
  16771. * /, channels/chan_sip.c: Correct RPID parsing for unquoted
  16772. display-name. Parsing Remote-Party-ID will now succeed if
  16773. display-name is of the *(token LWS) kind and not just the
  16774. quoted-string kind. Review:
  16775. https://reviewboard.asterisk.org/r/2341/ ........ Merged
  16776. revisions 382107 from
  16777. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16778. revisions 382108 from
  16779. http://svn.asterisk.org/svn/asterisk/branches/11
  16780. 2013-02-26 19:29 +0000 [r382106] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
  16781. * /, main/Makefile: Remove unneeded linux-gnueabi* As of r380522
  16782. the configure scripts converts the value of linux-gnueabi* of
  16783. OSARCH to "linux-gnu". So no point in testing for those values.
  16784. ........ Merged revisions 382087 from
  16785. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16786. revisions 382096 from
  16787. http://svn.asterisk.org/svn/asterisk/branches/11
  16788. 2013-02-26 15:52 +0000 [r382067-382070] Matthew Jordan <mjordan@digium.com>
  16789. * apps/app_confbridge.c, /: Clean up ConfBridge commands to account
  16790. for wait_marked users When ConfBridge was refactored to better
  16791. handle the concept of marked, wait_marked, and normal users
  16792. co-existing in a conference (thereby implementing a state machine
  16793. for the conference), the wait_marked users were put into their
  16794. own list of conference participants, separate from the active
  16795. users. This list is used for wait_marked users when they are
  16796. waiting in a conference but no marked user has joined; normal
  16797. users may have joined at this point however. There are several
  16798. AMI/CLI commands that affect conference users that were not
  16799. checking the wait_marked users list: * CLI/AMI commands that
  16800. mute/unmute a participant. In this case, wait_marked users have
  16801. to remain in their particular state and should not be affected -
  16802. however, the commands would return "Channel not found" as opposed
  16803. to the appropriate error condition. * CLI/AMI commands that kick
  16804. a participant. An admin should always be able to kick a
  16805. participant out of the conference. This patch fixes both sets of
  16806. commands, and cleans up the CLI commands slightly by allowing
  16807. them to complete a participant name (this was supposed to have
  16808. been added, but the function call was commented out and wasn't
  16809. implemented). Review: https://reviewboard.asterisk.org/r/2346/
  16810. (closes issue AST-1114) Reported by: John Bigelow Tested by: John
  16811. Bigelow ........ Merged revisions 382068 from
  16812. http://svn.asterisk.org/svn/asterisk/branches/11
  16813. * configs/confbridge.conf.sample, /,
  16814. apps/confbridge/conf_config_parser.c: Ensure that the default
  16815. bridge/user profiles are always available ConfBridge and Page
  16816. require that there always be a default bridge and user profile
  16817. available. While properties of the default profiles can be
  16818. overriden in the configuration file, removing them can create
  16819. situations where neither application can function properly. This
  16820. patch ensures that if an administrator removes the profiles from
  16821. the confbridge.conf configuration file, the profiles are added
  16822. upon load. Documentation clarifying this has been added to the
  16823. confbridge.conf.sample file. Review:
  16824. https://reviewboard.asterisk.org/r/2356/ (closes issue AST-1115)
  16825. Reported by: John Bigelow Tested by: John Bigelow ........ Merged
  16826. revisions 382066 from
  16827. http://svn.asterisk.org/svn/asterisk/branches/11
  16828. 2013-02-25 12:51 +0000 [r382023] Matthew Jordan <mjordan@digium.com>
  16829. * addons/res_config_mysql.c, /: Clean up use of va_end/va_args in
  16830. res_config_mysql There were several problems using variadic
  16831. argument macros in res_config_mysql. * Improper use of va_end.
  16832. Multiple calls to va_end were possible resulting in an unbalanced
  16833. matching of va_start/va_end. * Calls to va_arg after a possible
  16834. encounter of a SENTINEL value. This patch corrects those errors.
  16835. (closes issue ASTERISK-19451) Reported by: wdoekes patches:
  16836. ASTERISK-19451-1.8--2.diff uploaded by wdoekes (License 5674)
  16837. ........ Merged revisions 382021 from
  16838. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16839. revisions 382022 from
  16840. http://svn.asterisk.org/svn/asterisk/branches/11
  16841. 2013-02-25 07:09 +0000 [r382007-382008] Damien Wedhorn <voip@facts.com.au>
  16842. * channels/chan_skinny.c: More called details fixup for skinny.
  16843. Basically sets the callerid and callername to the first device
  16844. talked to for the purposes of putting the the calls made log on
  16845. the device. Does not affect the device displaying who the device
  16846. is currently talking to. Also some minor changes to use
  16847. sub->exten in lieu of l->lastnumberdialed. (closes issue
  16848. ASTERISK-21095) Reported by: wedhorn Tested by: snuffy, myself
  16849. Patches: skinny-calllogsoutbound03.diff uploaded by wedhorn
  16850. (license 5019)
  16851. * channels/chan_skinny.c: Add prinotify messages to skinny. Adds
  16852. both fixed and variable prinotify messages and clearprinotify
  16853. messages to skinny. Also adds cli function for pushing messages
  16854. to devices. i Initial code by snuffy, expanded by myself to
  16855. include fixed messages. (closes issue ASTERISK-21091) Reported
  16856. by: snuffy Tested by: snuffy, myself Patches:
  16857. skinny-prinotify02.diff uploaded by wedhorn (license 5019)
  16858. 2013-02-24 23:01 +0000 [r381918-381977] Matthew Jordan <mjordan@digium.com>
  16859. * channels/chan_jingle.c, /: Set the sin_family on the bind address
  16860. socket during initialization Somehow, chan_jingle has managed to
  16861. operate for years without setting the sin_family on its bindaddr
  16862. socket. This patch properly sets the field during initial module
  16863. load to AF_INET. Note that the patch on the issue was modified
  16864. slightly to change the initialization of the socket from
  16865. allocation of a chan_jingle private to the module initialization,
  16866. as the bindaddr object (which is static) only needs to have the
  16867. address set once. (closes issue ASTERISK-19341) Reported by:
  16868. andre valentin patches: 0105-chan_jingle.patch uploaded by
  16869. avalentin (License 6064) ........ Merged revisions 381975 from
  16870. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16871. revisions 381976 from
  16872. http://svn.asterisk.org/svn/asterisk/branches/11
  16873. * main/manager.c, /: Don't display the AMI ALL class authorization
  16874. for users if they don't have it When converting AMI class
  16875. authorizations to a string representation, the method always
  16876. appends the ALL class authorization. This is especially important
  16877. for events, as they should always communicate that class
  16878. authorization - even if the event itself does not specify ALL as
  16879. a class authorization for itself. (Events have always assumed
  16880. that the ALL class authorization is implied when they are raised)
  16881. Unfortunately, this did mean that specifying a user with
  16882. restricted class authorizations would show up in the 'manager
  16883. show user' CLI command as having the ALL class authorization.
  16884. Rather then modifying the existing string manipulation function,
  16885. this patch adds a function that will only return a string if the
  16886. field being compared explicitly matches class authorization field
  16887. it is being compared against. This prevents ALL from being
  16888. returned unless it is actually specified for the user. (closes
  16889. issue ASTERISK-20397) Reported by: Johan Wilfer ........ Merged
  16890. revisions 381939 from
  16891. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16892. revisions 381943 from
  16893. http://svn.asterisk.org/svn/asterisk/branches/11
  16894. * /, apps/app_parkandannounce.c: Make ParkAndAnnounce return to
  16895. priority + 1 when return context is not defined The
  16896. ParkAndAnnounce application documentation for the optional
  16897. return_context parameter states the following: return_context The
  16898. goto-style label to jump the call back into after timeout.
  16899. Default 'priority+1'. Unfortunately, the application was sending
  16900. the channel back into the dialplan at 'priority', which is the
  16901. ParkAndAnnounce application call. This causes an infinite loop of
  16902. the channel constantly being parked, announced, timed out,
  16903. parked, announced, timed out... while fun, especially for those
  16904. callers you wish to drive to the end of madness, this was not the
  16905. intent of the application. (closes issue ASTERISK-20113) Reported
  16906. by: serginuez patches: app_parkandannounce.diff uploaded by
  16907. serginuez (License 6405) ........ Merged revisions 381916 from
  16908. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16909. revisions 381917 from
  16910. http://svn.asterisk.org/svn/asterisk/branches/11
  16911. 2013-02-22 19:40 +0000 [r381894] Michael L. Young <elgueromexicano@gmail.com>
  16912. * /, res/res_agi.c: Fix FastAGI To Properly Check For A Connection
  16913. When IPv6 support was added to FastAGI, the intent was to have
  16914. the ability to check all addresses resolved for a host since we
  16915. might receive an IPv4 address and an IPv6 address. The problem
  16916. with the current code, is that, since we are doing O_NONBLOCK, we
  16917. get EINPROGRESS when calling ast_connect() but are ignoring this
  16918. instead of handling it. We break out of the loop and continue on.
  16919. When we later call ast_poll(), it succeeds but we never check if
  16920. we have a connection or not on the socket level. We then attempt
  16921. to send data to the host address that we think is setup and it
  16922. fails. We then check the errno and see that we have "connection
  16923. refused" and then return with agi failed. This patch does the
  16924. following: * Handles EINPROGRESS by creating the function
  16925. handle_connection() - ast_poll() was moved into this function -
  16926. This function checks the results of the connection on the socket
  16927. level after calling ast_poll() * Continues to the next address if
  16928. the above fails to create a connection * Once all addresses
  16929. resolved are tried and we still are unable to establish a
  16930. connection, then we return that the FastAGI call failed (closes
  16931. issue ASTERISK-21065) Reported by: Jeremy Kister Tested by:
  16932. Jeremy Kister, Michael L. Young Patches:
  16933. asterisk-21065_poll_correctly_v4.diff Michael L. Young (license
  16934. 5026) Review: https://reviewboard.asterisk.org/r/2330/ ........
  16935. Merged revisions 381893 from
  16936. http://svn.asterisk.org/svn/asterisk/branches/11
  16937. 2013-02-22 15:51 +0000 [r381881] Jonathan Rose <jrose@digium.com>
  16938. * /, apps/app_dial.c: app_dial: Honor the 'c' flag when the calling
  16939. party hangs up Apparently this feature became broken in 11,
  16940. probably as a result of the Hangup Cause project. (closes issue
  16941. ASTERISK-21113) Reprted by: Heiko Wundram Patches: app_dial.patch
  16942. uploaded by Heiko Wundram (license 5822) ........ Merged
  16943. revisions 381880 from
  16944. http://svn.asterisk.org/svn/asterisk/branches/11
  16945. 2013-02-22 01:52 +0000 [r381869] Matthew Jordan <mjordan@digium.com>
  16946. * configure, configure.ac, /: Properly detect launchd Asterisk was
  16947. a little too pro-active in claiming that it found launchd. On
  16948. systems without launchd - such as FreeBSD - this resulted in
  16949. certain items in Asterisk that conflict with launchd to not be
  16950. selectable, such as res_timing_kqueue. (closes issue
  16951. ASTERISK-20749) Reported by: Oleg Baranov ........ Merged
  16952. revisions 381847 from
  16953. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16954. revisions 381848 from
  16955. http://svn.asterisk.org/svn/asterisk/branches/11
  16956. 2013-02-19 19:47 +0000 [r381792] Kevin Harwell <kharwell@digium.com>
  16957. * main/features.c: Write the correct callid to the data1 field in
  16958. queue_log for transfer events. The incorrect callid was being
  16959. written to the "data1" field in queue_log table for transfer
  16960. events. The callid of the queue was being written instead of the
  16961. transfer target's callid. This now gets the correct "transfer to"
  16962. number and places that in the "data1" field of the queue_log
  16963. table when a transfer event is triggered. (closes issue
  16964. ASTERISK-19960) Reported by: vladimir shmagin ........ Merged
  16965. revisions 381770 from
  16966. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  16967. revisions 381791 from
  16968. http://svn.asterisk.org/svn/asterisk/branches/11
  16969. 2013-02-19 17:17 +0000 [r381749] Michael L. Young <elgueromexicano@gmail.com>
  16970. * channels/chan_motif.c, include/asterisk/module.h,
  16971. res/snmp/agent.c, main/loader.c, main/cli.c: Add The Status Of A
  16972. Module To The Output Of "CLI> module show" When a module's
  16973. configuration is not loadable, we still load the module but it is
  16974. not in a running state. When trying to troubleshoot, let's say,
  16975. why chan_motif is ignoring inbound XMPP traffic, there is no way
  16976. to indicate that a loaded module is not currently running.
  16977. (closes issue ASTERISK-21108) Reported by: Rusty Newton Tested
  16978. by: Michael L. Young Patches: asterisk-21108_add_status-v2.diff
  16979. Michael L. Young (license 5026) Review:
  16980. https://reviewboard.asterisk.org/r/2331/
  16981. 2013-02-19 16:23 +0000 [r381729-381741] Kevin Harwell <kharwell@digium.com>
  16982. * apps/app_confbridge.c: Confbridge channels staying active when
  16983. all participants leave. If you started/stopped recording of a
  16984. conference multiple times channels would remain active even when
  16985. all participants left the conference. This was due to the fact
  16986. that a reference to the confbridge was being added every time a
  16987. start record command was issued, but when the recording was
  16988. stopped there was no matching de-reference thus keeping the
  16989. conference alive. Made sure only a single reference is added for
  16990. the record thread no matter how many times recording is
  16991. started/stopped. A de-reference is issued upon thread ending.
  16992. Note, this issue is being fixed under AST-1088 since it relates
  16993. to it and should have been corrected along with those
  16994. modifications. (issue AST-1088) Reported by: John Bigelow
  16995. ........ Merged revisions 381737 from
  16996. http://svn.asterisk.org/svn/asterisk/branches/11
  16997. * CHANGES, apps/confbridge/conf_config_parser.c,
  16998. apps/confbridge/include/confbridge.h, apps/app_confbridge.c:
  16999. Added Confbridge record_file_append option. Currently, if one
  17000. starts, stops, and then starts a recording again for a conference
  17001. the recorded data is appended to the file originally created on
  17002. the first record start. An option record_file_append has been
  17003. added that defaults to "yes", but when set to "no" will force
  17004. creation of a new file between every record start/stop. (issue
  17005. AST-1088) Reported by: John Bigelow Review:
  17006. http://reviewboard.digium.internal/r/374/
  17007. 2013-02-19 06:54 +0000 [r381717-381718] Damien Wedhorn <voip@facts.com.au>
  17008. * channels/chan_skinny.c, configs/skinny.conf.sample: Add
  17009. serviceURL stuff to skinny. Patch adds all the packet and
  17010. structure stuff to skinny to enable setting service URLs in
  17011. skinny, such as corporate directories. This stuff is only
  17012. relevant during load/unload as when activated. Also some minor
  17013. changes removing duplicated counting of addons and speedials in
  17014. handle_skinny_show_devices. Review:
  17015. https://reviewboard.asterisk.org/r/2321/
  17016. * channels/chan_skinny.c: Fixup skinny CLI completion. Auto
  17017. complete for skinny debug allows multiple options and negation,
  17018. also add debug all option. Usage example: 'skinny debug all
  17019. -packets' (each can be autocompleted including -packet). Change
  17020. show device to use device name. Remove the duplicate ast_strdup's
  17021. from place calling device complete return immediately from
  17022. complete devicename and complete linename so that multiple
  17023. options are displayed on the CLI if more than one option
  17024. available. Review: https://reviewboard.asterisk.org/r/2333/
  17025. 2013-02-18 22:23 +0000 [r381703] Kevin Harwell <kharwell@digium.com>
  17026. * apps/app_confbridge.c, /: Fixed Confbridge file recording
  17027. deadlock and appending. A deadlock occurred after
  17028. starting/stopping and then restarting a confbridge recording.
  17029. Upon starting a recording a record thread is created that holds a
  17030. lock until just before exiting. Stopping the recording does not
  17031. stop/exit the thread or release the lock. The thread waits until
  17032. recording begins again. Starting a stopped recording signals the
  17033. thread to continue and start recording again. However restarting
  17034. the recording also created another record thread resulting in a
  17035. deadlock. The fix was to make sure the record thread was only
  17036. created once. Also it was noted that filenames for the recordings
  17037. were being concatenated for each start/stop. This was fixed by
  17038. creating a new file for each conference session and appending the
  17039. actual recorded data within the file (e.g. passing the 'a' option
  17040. to MixMonitor). (issue AST-1088) Reported by: John Bigelow
  17041. Review: http://reviewboard.digium.internal/r/374/ ........ Merged
  17042. revisions 381702 from
  17043. http://svn.asterisk.org/svn/asterisk/branches/11
  17044. 2013-02-18 20:31 +0000 [r381670] Walter Doekes <walter+asterisk@wjd.nu>
  17045. * configs/sip.conf.sample, /: Remove "registertrying" and add
  17046. "rtp_engine" from/to sip.conf.sample The "registertrying" option
  17047. was removed in r343220. The "rtp_engine" option was added in
  17048. r186078 but erroneously named "engine" in the sample. Note that
  17049. there is no global sip setting for a different engine. ........
  17050. Merged revisions 381668 from
  17051. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17052. revisions 381669 from
  17053. http://svn.asterisk.org/svn/asterisk/branches/11
  17054. 2013-02-18 19:48 +0000 [r381656] Jonathan Rose <jrose@digium.com>
  17055. * funcs/func_presencestate.c, /: PRESENCE_STATE: Provide better
  17056. documentation for the 'e' option. Notes that the 'e' option
  17057. actually decodes data when used as a write function such as with
  17058. the SET application while it encodes data when used to read.
  17059. Review: https://reviewboard.asterisk.org/r/2335/ ........ Merged
  17060. revisions 381655 from
  17061. http://svn.asterisk.org/svn/asterisk/branches/11
  17062. 2013-02-18 19:12 +0000 [r381644] Richard Mudgett <rmudgett@digium.com>
  17063. * apps/app_confbridge.c: confbridge: Add flags column to CLI
  17064. "confbridge list <conference>" * Added the following flags to the
  17065. CLI "confbridge list <conference>" output: A - The user is an
  17066. admin M - The user is a marked user W - The user must wait for a
  17067. marked user to join E - The user will be kicked after the last
  17068. marked user leaves the conference w - The user is waiting for a
  17069. marked user to join * Added the following header to the AMI
  17070. ConfbridgeList events: WaitMarked, EndMarked, and Waiting.
  17071. (closes issue AST-1101) Reported by: John Bigelow Patches:
  17072. confbridge-show-admin3.txt (license #5091) patch uploaded by John
  17073. Bigelow Modified
  17074. 2013-02-16 20:44 +0000 [r381628] Richard Mudgett <rmudgett@digium.com>
  17075. * apps/app_confbridge.c: confbridge: Rename i iterator variables to
  17076. iter.
  17077. 2013-02-16 16:28 +0000 [r381615] Matthew Jordan <mjordan@digium.com>
  17078. * /, channels/chan_sip.c: Don't send presencestate information if
  17079. the state is invalid Previously, presencestate information was
  17080. sent whenever the state was not NOT_SET. When r381594 actually
  17081. returned INVALID presence state in all the places it was supposed
  17082. to, it caused chan_sip to start adding presence state information
  17083. to NOTIFY requests that it previously would not have added.
  17084. chan_sip shouldn't be adding presence state information when the
  17085. provider is in an invalid state; users can't set the state to
  17086. invalid and an invalid state always implies that the provider is
  17087. in an error condition. (issue AST-1084) ........ Merged revisions
  17088. 381613 from http://svn.asterisk.org/svn/asterisk/branches/11
  17089. 2013-02-16 16:24 +0000 [r381614] Joshua Colp <jcolp@digium.com>
  17090. * res/res_sorcery_memory.c, include/asterisk/sorcery.h,
  17091. tests/test_sorcery.c, main/sorcery.c, res/res_sorcery_config.c:
  17092. Add support for retrieving multiple objects from sorcery using a
  17093. regex on their id. Review:
  17094. https://reviewboard.asterisk.org/r/2329/
  17095. 2013-02-15 23:29 +0000 [r381595] Matthew Jordan <mjordan@digium.com>
  17096. * /, main/presencestate.c, funcs/func_presencestate.c,
  17097. main/manager.c: Fix crash in PresenceState AMI action when
  17098. specifying an invalid provider This patch fixes a crash in
  17099. Asterisk that could be caused by using the PresenceState AMI
  17100. action while providing an invalid provider. This patch also adds
  17101. some additional warnings when a user attempts to provide the
  17102. PresenceState action with invalid data, and removes some NOTICE
  17103. statements that were still lurking in the code from testing.
  17104. (closes issue AST-1084) Reported by: John Bigelow Tested by: John
  17105. Bigelow ........ Merged revisions 381594 from
  17106. http://svn.asterisk.org/svn/asterisk/branches/11
  17107. 2013-02-15 18:51 +0000 [r381568] Mark Michelson <mmichelson@digium.com>
  17108. * /, channels/chan_sip.c: Fix a crash that occurred when a BYE was
  17109. received on a replaced dialog. Reference counting for the channel
  17110. and its tech_pvt got messed up at some point between 1.8 and 11.
  17111. The result was that if a BYE for a dialog that had been replaced
  17112. (via an INVITE with Replaces) was received, Asterisk would crash
  17113. due to trying to access data on a channel that was no longer
  17114. there. The fix I introduced is to remove code that both unrefs
  17115. the sip_pvt and sets the channel's tech_pvt to NULL when an
  17116. INVITE with Replaces is handled. This way when a BYE is received,
  17117. the tech_pvt will be non-NULL and so the BYE can be processed and
  17118. not cause a crash. (closes issue ASTERISK-20929) reported by
  17119. Kristopher Lalletti patches: ASTERISK-20929.patch uploaded by
  17120. Mark Michelson (License #5049) ........ Merged revisions 381566
  17121. from http://svn.asterisk.org/svn/asterisk/branches/11
  17122. 2013-02-15 18:44 +0000 [r381567] Matthew Jordan <mjordan@digium.com>
  17123. * include/asterisk/sorcery.h, main/config_options.c,
  17124. main/sorcery.c: Disable strict XML documentation config checking;
  17125. fix crash caused by sorcery This patch does two things: 1. It
  17126. disables (temporarily) strict XML documentation checking for
  17127. module configurations. We should re-enable it before making any
  17128. release from trunk. 2. Pass the module flag AST_MODULE through
  17129. sorcery. This means several of the API calls are now macros and
  17130. will do this automatically for you. The config framework needs
  17131. the module that objects are registering to so it can properly
  17132. construct the documentation. (This was already a required field,
  17133. but sorcery was getting by without it)
  17134. 2013-02-15 17:38 +0000 [r381557] Kevin Harwell <kharwell@digium.com>
  17135. * main/logger.c, include/asterisk/logger.h, main/autoservice.c:
  17136. Stopped spamming of debug messages during attended transfer.
  17137. While autoservice is running and servicing a channel the callid
  17138. is being stored and removed in the thread's local storage for
  17139. each iteration of the thread loop. If debug was set to a
  17140. sufficient level the log file would be spammed with callid thread
  17141. local storage debug messages. Added a new function that checks to
  17142. see if the callid to be stored is different than what is already
  17143. contained (if anything). If it is different then store/replace
  17144. and log, otherwise just leave as is. Also made it so all logging
  17145. of debug messages pertaining to the callid thread storage outputs
  17146. only when TEST_FRAMEWORK is defined. (issue ASTERISK-21014)
  17147. (closes issue ASTERISK-21014) Report by: Rusty Newton Review:
  17148. https://reviewboard.asterisk.org/r/2324/
  17149. 2013-02-15 17:33 +0000 [r381556] Jonathan Rose <jrose@digium.com>
  17150. * /, channels/chan_sip.c: chan_sip: Use video and text crypto
  17151. attributes to append RTP profiles to SDP Some bad copy/pasting
  17152. resulted in using the audio crypto attribute for both text and
  17153. video RTP. Also the audio crypto isn't set until after these, so
  17154. it was really just bad all around. (closes ASTERISK-20905)
  17155. Reported by: Kristopher Lalletti patches:
  17156. rtp_crypto_video_text.diff uploaded by Jonathan Rose (license
  17157. 6182) ........ Merged revisions 381553 from
  17158. http://svn.asterisk.org/svn/asterisk/branches/11
  17159. 2013-02-15 15:26 +0000 [r381527-381543] Matthew Jordan <mjordan@digium.com>
  17160. * /: Remove automerge propertrties added in r381527
  17161. * main/asterisk.c, main/xmldoc.c, main/udptl.c,
  17162. include/asterisk/xml.h, /, main/xml.c,
  17163. include/asterisk/_private.h, res/res_xmpp.c, main/named_acl.c,
  17164. configs/motif.conf.sample, apps/confbridge/conf_config_parser.c,
  17165. Makefile, include/asterisk/config_options.h,
  17166. configs/xmpp.conf.sample, apps/app_skel.c, channels/chan_motif.c,
  17167. include/asterisk/xmldoc.h, main/config_options.c,
  17168. doc/appdocsxml.dtd: Add CLI configuration documentation This
  17169. patch allows a module to define its configuration in XML in
  17170. source, such that it can be parsed by the XML documentation
  17171. engine. Documentation is generated in a two-pass approach: 1. The
  17172. documentation is first generated from the XML pulled from the
  17173. source 2. The documentation is then enhanced by the registration
  17174. of configuration options that use the configuration framework
  17175. This patch include configuration documentation for the following
  17176. modules: * chan_motif * res_xmpp * app_confbridge * app_skel *
  17177. udptl Two new CLI commands have been added: * config show help -
  17178. show configuration help by module, category, and item * xmldoc
  17179. dump - dump the in-memory representation of the XML documentation
  17180. to a new XML file. Review:
  17181. https://reviewboard.asterisk.org/r/2278 Review:
  17182. https://reviewboard.asterisk.org/r/2058 patches: on review 2058
  17183. uploaded by twilson
  17184. 2013-02-14 19:58 +0000 [r381470-381471] Damien Wedhorn <voip@facts.com.au>
  17185. * channels/chan_skinny.c: Remove extraneous stuff from r381470.
  17186. * channels/chan_skinny.c: Add back sending dialnumber to skinny.
  17187. Don't know why it seemed to work during testing, but it really is
  17188. needed for protocol v17 (and probably above).
  17189. 2013-02-14 19:52 +0000 [r381469] Richard Mudgett <rmudgett@digium.com>
  17190. * /, main/features.c: End stuck DTMF if AST_SOFTHANGUP_ASYNCGOTO
  17191. because it isn't a real hangup. It doesn't hurt to check
  17192. AST_SOFTHANGUP_UNBRIDGE either, but it should not be set outside
  17193. of a bridge. (issue ASTERISK-20492) ........ Merged revisions
  17194. 381466 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  17195. ........ Merged revisions 381467 from
  17196. http://svn.asterisk.org/svn/asterisk/branches/11
  17197. 2013-02-14 19:25 +0000 [r381465] Damien Wedhorn <voip@facts.com.au>
  17198. * channels/chan_skinny.c: Respect callerid presentation in skinny.
  17199. Fix chan_skinny so that it respects callerID presentation of
  17200. inbound calls to device and a couple of other minor fixes: 145
  17201. packet (add OCTAL_FROM amd callerid), and dont send dialednumber
  17202. message if protocol >= 17. (closes issue ASTERISK-21066) Reported
  17203. by: snuffy Tested by: snuffy, myself Patches:
  17204. skinny-respect-clid-restrictions-v2.diff uploaded by snuffy
  17205. (license 5024)
  17206. 2013-02-14 18:47 +0000 [r381448] Kinsey Moore <kmoore@digium.com>
  17207. * main/logger.c, include/asterisk/term.h, apps/app_queue.c,
  17208. main/asterisk.c, main/term.c, main/data.c, main/pbx.c,
  17209. main/manager.c: Revamp of terminal color codes The core module
  17210. related to coloring terminal output was old and needed some love.
  17211. The main thing here was an attempt to get rid of the obscene
  17212. number of stack-local buffers that were allocated for no other
  17213. reason than to colorize some output. Instead, this uses a simple
  17214. trick to allocate several buffers within threadlocal storage,
  17215. then automatically rotates between them, so that you can make
  17216. multiple calls to the colorization routine within one function
  17217. and not need to allocate multiple buffers. Review:
  17218. https://reviewboard.asterisk.org/r/2241/ Patches: bug.patch
  17219. uploaded by Tilghman Lesher
  17220. 2013-02-14 17:06 +0000 [r381398-381427] Sean Bright <sean@malleable.com>
  17221. * channels/chan_iax2.c: Use a shuffling algorithm to find unused
  17222. IAX2 call numbers. While adding red-black tree containers to
  17223. astobj2 in r376575, Richard pointed out the way chan_iax2 finds
  17224. unused call numbers will prevent ao2_container integrity checks
  17225. at runtime. This patch removes the ao2_container and instead uses
  17226. fixed sized arrays and a modified Fisher-Yates-Durstenfeld
  17227. shuffle to maintain the call number list. While the locking
  17228. semantics are similar to the ao2_container implementation, this
  17229. implementation should be faster and more memory efficient.
  17230. Review: https://reviewboard.asterisk.org/r/2288/
  17231. * include/asterisk/doxygen/asterisk-git-howto.h: Update the name of
  17232. the update_tags utility in the git mirror how-to.
  17233. 2013-02-14 03:49 +0000 [r381366] Matthew Jordan <mjordan@digium.com>
  17234. * apps/app_db.c, /: Don't throw a spurious error when using
  17235. DBdeltree The function call ast_db_deltree returns the number of
  17236. row deleted, or a negative number if it failed. DBdeltree was
  17237. treating any non-zero return as an error, causing a spurious
  17238. verbose error message to be displayed. This patch handles the
  17239. return code of ast_db_deltree correctly. (closes issue
  17240. ASTERISK-21070) Reported by: ianc patches: dbdeltree.diff
  17241. uploaded by ianc (License #5955) ........ Merged revisions 381364
  17242. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  17243. Merged revisions 381365 from
  17244. http://svn.asterisk.org/svn/asterisk/branches/11
  17245. 2013-02-12 21:45 +0000 [r381326] David M. Lee <dlee@digium.com>
  17246. * tests/test_threadpool.c, tests/test_taskprocessor.c,
  17247. main/threadpool.c, main/taskprocessor.c,
  17248. include/asterisk/threadpool.h: Add a serializer interface to the
  17249. threadpool This patch adds the ability to create a serializer
  17250. from a thread pool. A serializer is a ast_taskprocessor with the
  17251. same contract as a default taskprocessor (tasks execute serially)
  17252. except instead of executing out of a dedicated thread, execution
  17253. occurs in a thread from a ast_threadpool. Think of it as a
  17254. lightweight thread. While it guarantees that each task will
  17255. complete before executing the next, there is no guarantee as to
  17256. which thread from the pool individual tasks will execute. This
  17257. normally only matters if your code relys on thread specific
  17258. information, such as thread locals. This patch also fixes a bug
  17259. in how the 'was_empty' parameter is computed for the push
  17260. callback, and gets rid of the unused 'shutting_down' field.
  17261. Review: https://reviewboard.asterisk.org/r/2323/
  17262. 2013-02-12 20:57 +0000 [r381307] Mark Michelson <mmichelson@digium.com>
  17263. * main/rtp_engine.c, /: Do not allow native RTP bridging if
  17264. packetization of media streams differs. The RTP engine will no
  17265. longer allow for local and remote native RTP bridges if
  17266. packetization of streams differs. Allowing native bridging in
  17267. this scenario has been known to cause FAX failures. (closes
  17268. ASTERISK-20650) Reported by: Maciej Krajewski Patches:
  17269. ASTERISK-20659.patch uploaded by Mark Michelson (License #5049)
  17270. Review: https://reviewboard.asterisk.org/r/2319 ........ Merged
  17271. revisions 381281 from
  17272. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17273. revisions 381306 from
  17274. http://svn.asterisk.org/svn/asterisk/branches/11
  17275. 2013-02-12 20:18 +0000 [r381285] Kinsey Moore <kmoore@digium.com>
  17276. * /, channels/chan_sip.c, channels/sip/security_events.c,
  17277. channels/sip/include/sip.h: Fix some more REF_DEBUG-related build
  17278. errors When sip_ref_peer and sip_unref_peer were exported to be
  17279. usable in channels/sip/security_events.c, modifications to those
  17280. functions when building under REF_DEBUG were not taken into
  17281. account. This change moves the necessary defines into sip.h to
  17282. make them accessible to other parts of chan_sip that need them.
  17283. ........ Merged revisions 381282 from
  17284. http://svn.asterisk.org/svn/asterisk/branches/11
  17285. 2013-02-12 03:31 +0000 [r381256] Michael L. Young <elgueromexicano@gmail.com>
  17286. * apps/app_confbridge.c: Adding Some More Manager Events To
  17287. ConfBridge Currently, ConfBridge does not send manager events for
  17288. ConfbridgeMute, ConfbridgeUnmute, ConfbridgeStartRecord and
  17289. ConfbridgeStopRecord. This patch adds these events to the
  17290. manager. The reporter's patch moves some other events up to the
  17291. beginning of the file. The patch being committed is based on the
  17292. patch contributed from the reporter of this issue. I have made a
  17293. lot of modifications to the patch in order for it to fit in
  17294. better with what we currently are doing in the code when it comes
  17295. to manager events. I also made a few changes to the <see-also>
  17296. elements on some of the events. (closes issue ASTERISK-20827)
  17297. Reported by: Clint Davis Tested by: Clint Davis, Michael L. Young
  17298. Patches: 20827.diff uploaded by Clint Davis (license 6453)
  17299. asterisk-20827-confbridge-events.diff uploaded by Michael L.
  17300. Young (license 5026) Review:
  17301. https://reviewboard.asterisk.org/r/2309/
  17302. 2013-02-11 21:17 +0000 [r381219] Kevin Harwell <kharwell@digium.com>
  17303. * /, apps/app_playback.c: Properly load say.conf upon reload of
  17304. module app_playback. If say.conf did not exists prior to
  17305. originally loading module app_playback it would not load on
  17306. subsequent reloads of the module once it had been created. This
  17307. occurred because upon reload of the app_playback module it would
  17308. only load a new configuration if an old one had previously
  17309. existed. This fix simply removed the association between checking
  17310. if an old configuration existed and the loading of the new one.
  17311. (closes issue ASTERISK-20800) Reported by: pgoergler ........
  17312. Merged revisions 381216 from
  17313. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17314. revisions 381217 from
  17315. http://svn.asterisk.org/svn/asterisk/branches/11
  17316. 2013-02-11 21:10 +0000 [r381218] Kinsey Moore <kmoore@digium.com>
  17317. * include/asterisk/astobj2.h: Fix compilation error with REF_DEBUG
  17318. When the red/black tree work was committed, there was an extra ",
  17319. " in the REF_DEBUG definition of ao2_container_alloc_rbtree.
  17320. 2013-02-11 20:39 +0000 [r381214] David M. Lee <dlee@digium.com>
  17321. * tests/test_json.c, res/res_json.c: Minor fixes to res_json and
  17322. test_json. * Made input checking more consistent with other
  17323. Asterisk code * Added validation to ast_json_dump_new_file *
  17324. Fixed tests for ownereship semantics (issue ASTERISK-20887)
  17325. 2013-02-11 18:54 +0000 [r381195] Damien Wedhorn <voip@facts.com.au>
  17326. * channels/chan_skinny.c: Fix some issues with skinny callid. Add
  17327. extra string to transmit_callinfo_var, Only set string2 to tonum
  17328. for outgoing calls and changes to send_callinfo and push_callinfo
  17329. to not set callid name to last number. (closes issue
  17330. ASTERISK-21063) Reported by: wedhorn Tested by: snuffy, myself
  17331. Patches: skinny-callinfoupdate03.diff uploaded by wedhorn
  17332. (license 5019)
  17333. 2013-02-11 18:00 +0000 [r381177] Richard Mudgett <rmudgett@digium.com>
  17334. * main/features.c: features: Don't cache a struct ast_app pointer.
  17335. Caching a struct ast_app pointer is not a good idea because
  17336. someone could unload the application. After the applicaiton
  17337. unload the cached ast_app pointer is no longer valid. Only pbx.c
  17338. can cache the pointer because it knows when the application is
  17339. unloaded and removes the pointer. * Fixed one-touch Monitor and
  17340. MixMonitor to not cache the ast_app pointer and not use the silly
  17341. monitor_ok/mixmonitor_ok/stopmixmonitor_ok flags. * Extracted
  17342. bridge_check_monitor() from ast_bridge_call() and use propper
  17343. locking.
  17344. 2013-02-11 15:11 +0000 [r381160] Matthew Jordan <mjordan@digium.com>
  17345. * /, res/res_xmpp.c: Fix crash in res_xmpp when deleting pubsub
  17346. node from CLI An error existed in res_xmpp where it would attempt
  17347. to delete attributes from a node that itself was also deleted.
  17348. Per the iksemel documentation, attributes added using iks_insert
  17349. are copied to the parent node's stack, and will be reclaimed when
  17350. that node is itself destroyed. (closes issue ASTERISK-20982)
  17351. Reported by: marcelloceschia patches: delete-node-fix.diff
  17352. uploaded by marcelloceschia (License 6036) ........ Merged
  17353. revisions 381159 from
  17354. http://svn.asterisk.org/svn/asterisk/branches/11
  17355. 2013-02-10 14:58 +0000 [r381134] Joshua Colp <jcolp@digium.com>
  17356. * include/asterisk/sorcery.h, tests/test_sorcery.c, main/sorcery.c:
  17357. Add additional functionality to the Sorcery API. This commit adds
  17358. native implementation support for copying and diffing objects, as
  17359. well as the ability to load or reload on a per-object type level.
  17360. Review: https://reviewboard.asterisk.org/r/2320/
  17361. 2013-02-09 20:58 +0000 [r381069-381118] Richard Mudgett <rmudgett@digium.com>
  17362. * main/pbx.c: pbx: Fix regression caused by taking advantage of the
  17363. function name sort. Taking advantage of the sorted order of the
  17364. registered functions container requires that they are actually
  17365. inserted in the expected sort order. * Insert the registered
  17366. functions into the container in case sensitive position. As a
  17367. result, only the complete_functions() routine needs to search the
  17368. entire container because it does a case insensitive search for
  17369. convenience. Caught by the unit tests.
  17370. * main/pbx.c: pbx: Make function and application containers take
  17371. advantage of being sorted. * Fixed "core show function" tab
  17372. completion and token count checking. * Refactored function and
  17373. application container handling code to reduce redundancy. * Made
  17374. __ast_pbx_run() return using the defines the caller should
  17375. expect. Doesn't change the returned values. Just made use the
  17376. defines.
  17377. * include/asterisk/channel.h, main/channel.c, channels/chan_sip.c:
  17378. Make ast_do_masquerade() a void function.
  17379. * /, apps/app_confbridge.c: app_confbridge: Fix crash from
  17380. receiving an AMI action after ConfBridge unloaded. Unloading
  17381. ConfBridge caused the next AMI action received to crash Asterisk.
  17382. * Add the missing unregister of AMI action
  17383. ConfbridgeSetSingleVideoSrc when ConfBridge is unloaded. (closes
  17384. issue ASTERISK-20994) Reported by: Jeremy Kister Patches:
  17385. jira_asterisk_20994_v11.patch (license #5621) patch uploaded by
  17386. rmudgett Tested by: Rusty Newton, Jeremy Kister ........ Merged
  17387. revisions 381067 from
  17388. http://svn.asterisk.org/svn/asterisk/branches/11
  17389. 2013-02-08 17:36 +0000 [r381068] Jonathan Rose <jrose@digium.com>
  17390. * configs/features.conf.sample, main/features.c, CHANGES: Call
  17391. Parking: Set PARKINGLOT and PARKINGSLOT variables on all parked
  17392. calls These two variables were previously not being set when
  17393. comebacktoorigin=yes and the example configs seemed to imply that
  17394. they should be. Since there is no harm in this and since calls
  17395. that are sent back to origin are capable of continuing in the
  17396. dialplan, this seemed like a no-brainer. Also it supports some
  17397. bridging tests I've been working on.
  17398. 2013-02-07 17:57 +0000 [r381037] Joshua Colp <jcolp@digium.com>
  17399. * res/res_sorcery_config.c: Fix a bug where a changed configuration
  17400. file might not be available to all sorcery object types. Since
  17401. res_sorcery_config used a static name of "res_sorcery_config" to
  17402. inform the configuration file API that it asked for the
  17403. configuration file it was possible during a reload for some
  17404. sorcery object types not to receive the new configuration file.
  17405. This change introduces a UUID on a per-sorcery config instance
  17406. basis so that the unchanged state is kept on an instance basis
  17407. and not for the res_sorcery_config module as a whole.
  17408. 2013-02-07 15:16 +0000 [r381017] Kinsey Moore <kmoore@digium.com>
  17409. * include/asterisk/stringfields.h, tests/test_stringfields.c: Add
  17410. aggregate operations for stuctures with string fields Add
  17411. struct-level comparison and copying of string fields to reduce
  17412. the complexity of whole-struct comparison and copying when using
  17413. string fields. The new macros do not take into account
  17414. non-stringfield data. Review:
  17415. https://reviewboard.asterisk.org/r/2308/
  17416. 2013-02-06 20:18 +0000 [r380977] David M. Lee <dlee@digium.com>
  17417. * /, channels/chan_sip.c: Fixed failing test from r380696. When I
  17418. added my extensive suite of session timer unit tests, apparently
  17419. one of them was failing and I never noticed. If neither Min-SE
  17420. nor Session-Expires is set in the header, it was responding with
  17421. a Session-Expires of the global maxmimum instead of the
  17422. configured max for the endpoint. (issue ASTERISK-20787) ........
  17423. Merged revisions 380973 from
  17424. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17425. revisions 380974 from
  17426. http://svn.asterisk.org/svn/asterisk/branches/11
  17427. 2013-02-06 08:44 +0000 [r380925-380943] Damien Wedhorn <voip@facts.com.au>
  17428. * /, channels/chan_skinny.c: Fix reload skinny with active devices.
  17429. Patch ensures that d->activeline and l->activesub are moved over
  17430. to the new device and line so that on callend the appropriate
  17431. subs can be found to complete hangup before device resets.
  17432. (closes issue ASTERISK-16610) Reported by: wedhorn Tested by:
  17433. snuffy, myself Patches: skinny-reloadactive01.diff uploaded by
  17434. wedhorn (license 5019) ........ Merged revisions 380942 from
  17435. http://svn.asterisk.org/svn/asterisk/branches/11
  17436. * configs/skinny.conf.sample, channels/chan_skinny.c: Reset skinny
  17437. vmexten and immeddial char on reload. Make skinny reset vmexten
  17438. and immeddial to '\0' on reload to ensure that it is set to '\0'
  17439. if the appropriate item is removed/commented in skinny.conf. Also
  17440. small fix re immeddial char in skinny.conf and add immedial
  17441. setting to skinny show settings. (closes issue ASTERISK-21037)
  17442. Reported by: snuffy Tested by: snuffy, myself Patches:
  17443. immed_dial_fix.diff uploaded by snuffy (license 5024)
  17444. 2013-02-05 19:11 +0000 [r380855-380896] Richard Mudgett <rmudgett@digium.com>
  17445. * apps/app_confbridge.c, /, apps/app_page.c: app_page and
  17446. app_confbridge: Fix custom announcement on entering conference.
  17447. The Page and ConfBridge custom announcement did not play when
  17448. users entered the conference. * Fix the
  17449. CONFBRIDGE(user,announcement) file not getting played. The code
  17450. to do this got removed accidentally when the ConfBridge code was
  17451. restructured to be more state machine like. * Fixed
  17452. play_prompt_to_user() doxygen comments. * Fixed the Page A(x) and
  17453. n options for the caller. The caller never played the
  17454. announcement file and totally ignored the n option. The code to
  17455. do this was lost when the application was converted to use
  17456. ConfBridge. * Factored out setup_profile_bridge(),
  17457. setup_profile_paged(), and setup_profile_caller() routines to
  17458. setup ConfBridge profiles. Made each profile setup routine use
  17459. the default template if one has not already been setup by
  17460. dialplan. (closes issue ASTERISK-20990) Reported by: Jeremy
  17461. Kister Tested by: rmudgett ........ Merged revisions 380894 from
  17462. http://svn.asterisk.org/svn/asterisk/branches/11
  17463. * /, apps/confbridge/conf_state_multi_marked.c: app_confbridge: Fix
  17464. error messages on exiting conference. A marked user ending a
  17465. conference with only end_marked users generates error messages:
  17466. ERROR[0000][C-00000000]: confbridge/conf_state.c:47
  17467. conf_invalid_event_fn: Invalid event for confbridge user '' * The
  17468. MULTI_MARKED state was doing too much when it was kicking out the
  17469. end_marked users from the conference. The kicked out users will
  17470. clean up after themselves when they exit the conference. (closes
  17471. issue ASTERISK-20991) Reported by: Jeremy Kister Tested by:
  17472. rmudgett ........ Merged revisions 380892 from
  17473. http://svn.asterisk.org/svn/asterisk/branches/11
  17474. * /, apps/app_page.c: app_page: Fixup application XML documentation
  17475. typos and inaccuracies. ........ Merged revisions 380869 from
  17476. http://svn.asterisk.org/svn/asterisk/branches/11
  17477. * apps/confbridge/conf_config_parser.c, /: Because the compiler can
  17478. check types with a struct copy and memcpy() cannot. ........
  17479. Merged revisions 380856 from
  17480. http://svn.asterisk.org/svn/asterisk/branches/11
  17481. * main/dial.c, /: Separate option_types[] from the struct
  17482. definition. Updated the option_types[] doxygen comment. ........
  17483. Merged revisions 380853 from
  17484. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17485. revisions 380854 from
  17486. http://svn.asterisk.org/svn/asterisk/branches/11
  17487. 2013-02-04 19:52 +0000 [r380817] Jason Parker <jparker@digium.com>
  17488. * /, res/Makefile, res/pjproject/build/common.mak,
  17489. res/pjproject/aconfigure, res/pjproject/build/os-auto.mak.in,
  17490. Makefile, res/pjproject/aconfigure.ac: Fix how we build
  17491. pjproject. Allow parallel builds, better tolerate failures, build
  17492. faster. This also stops running dependencies before top-level
  17493. configure has been run. (closes issue ASTERISK-20815) Review:
  17494. https://reviewboard.asterisk.org/r/2292/ ........ Merged
  17495. revisions 380816 from
  17496. http://svn.asterisk.org/svn/asterisk/branches/11
  17497. 2013-02-02 01:52 +0000 [r380792] Damien Wedhorn <voip@facts.com.au>
  17498. * channels/chan_skinny.c: Add variable length displayprompt packet
  17499. to skinny and use octals. Add new variable length displayprompt
  17500. packet (0x0145) to skinny. Uses the new packet if the device is
  17501. reporting protocol versions >= 17. Add the use of octal codes for
  17502. sending prompts to both the new and old displayprompt messages
  17503. (also cleaned up soft_key_template_default to use the defined
  17504. octal codes). Review: https://reviewboard.asterisk.org/r/2294/
  17505. 2013-02-01 19:35 +0000 [r380774] Richard Mudgett <rmudgett@digium.com>
  17506. * channels/iax2/firmware.c: chan_iax2: Fix compile error if
  17507. MALLOC_DEBUG enabled. NEVER INCLUDE astmm.h DIRECTLY!!
  17508. 2013-02-01 06:37 +0000 [r380755] Damien Wedhorn <voip@facts.com.au>
  17509. * channels/chan_skinny.c: Adds variable length callinfo packets to
  17510. skinny. Add packet 0x014A (variable length call info messages) to
  17511. skinny for newer firmware. Plenty of unknown information but
  17512. includes the equivalent functionality as the fixed size callinfo
  17513. packet already included. Only send this packet if protocol
  17514. reported is >= 17. Review:
  17515. https://reviewboard.asterisk.org/r/2290/
  17516. 2013-01-31 22:03 +0000 [r380738] Jason Parker <jparker@digium.com>
  17517. * res/pjproject/pjlib/src/pj/ssl_sock_ossl.c,
  17518. res/pjproject/pjlib/src/pj/log.c,
  17519. res/pjproject/pjlib/src/pj/pool_buf.c, /,
  17520. res/pjproject/pjsip-apps/src/samples/icedemo.c,
  17521. res/pjproject/pjlib/include/pj/config_site.h,
  17522. res/pjproject/pjmedia/src/test/test.c: Multiple revisions
  17523. 380735-380736 ........ r380735 | qwell | 2013-01-31 15:40:09
  17524. -0600 (Thu, 31 Jan 2013) | 1 line Fix a few compiler warnings.
  17525. ........ r380736 | qwell | 2013-01-31 15:42:34 -0600 (Thu, 31 Jan
  17526. 2013) | 1 line Ignore warnings caused by PJ_TODO()s in pjproject.
  17527. ........ Merged revisions 380735-380736 from
  17528. http://svn.asterisk.org/svn/asterisk/branches/11
  17529. 2013-01-31 20:17 +0000 [r380699] David M. Lee <dlee@digium.com>
  17530. * /, channels/chan_sip.c: Process session timers, even if
  17531. Session-Expires header is missing Previously, Asterisk only
  17532. processed session timer information if both the 'Supported:
  17533. timer' and 'Session-Expires' headers were present. However, the
  17534. Session-Expires header is optional. If we were to receive a
  17535. request with a Min-SE greater than our configured
  17536. session-expires, we would respond with a 'Session-Expires' header
  17537. that was too small. This patch cleans the situation up a bit,
  17538. always processing timer information if the 'Supported: timer'
  17539. header is present. (closes issue ASTERISK-20787) Reported by:
  17540. Mark Michelson Review: https://reviewboard.asterisk.org/r/2299/
  17541. ........ Merged revisions 380696 from
  17542. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17543. revisions 380698 from
  17544. http://svn.asterisk.org/svn/asterisk/branches/11
  17545. 2013-01-31 19:52 +0000 [r380695] Sean Bright <sean@malleable.com>
  17546. * channels/iax2/include/firmware.h (added),
  17547. channels/iax2/include/parser.h, channels/chan_iax2.c,
  17548. channels/iax2/firmware.c (added): Move IAX firmware related
  17549. functionality into separate files. This patch is mostly a
  17550. reorganization of existing code with a few exceptions: * Added
  17551. doxygen comments to all of the extracted functions. * Split
  17552. reload_firmware(int unload) into iax_firmware_reload() and
  17553. iax_firmware_unload() for readability. * Create
  17554. iax_firmware_traverse() to support the 'iax2 show firmware' CLI
  17555. command. * Renamed iax_check_version() to
  17556. iax_firmware_get_version() and change its arguments and return
  17557. value so that it returns a success/failure value and sets the
  17558. selected version into an out parameter to avoid confusion with
  17559. failure and version 0.
  17560. 2013-01-31 19:04 +0000 [r380674] Jason Parker <jparker@digium.com>
  17561. * res/pjproject/build/rules.mak,
  17562. res/pjproject/pjnath/build/Makefile,
  17563. res/pjproject/pjsip/build/Makefile, res/pjproject/aconfigure,
  17564. res/pjproject/pjsip-apps/build/Makefile,
  17565. res/pjproject/aconfigure.ac,
  17566. res/pjproject/pjmedia/build/Makefile,
  17567. res/pjproject/build/cc-auto.mak.in, /,
  17568. res/pjproject/pjlib-util/build/Makefile,
  17569. res/pjproject/pjlib/build/Makefile: Multiple revisions
  17570. 380671-380673 ........ r380671 | qwell | 2013-01-31 12:59:28
  17571. -0600 (Thu, 31 Jan 2013) | 4 lines Remove a cross-compile
  17572. workaround. ar and ranlib can be easily detected with autoconf.
  17573. ........ r380672 | qwell | 2013-01-31 13:00:38 -0600 (Thu, 31 Jan
  17574. 2013) | 2 lines Always check for libm, regardless of configure
  17575. options. ........ r380673 | qwell | 2013-01-31 13:03:03 -0600
  17576. (Thu, 31 Jan 2013) | 7 lines Add support for parallel builds of
  17577. pjproject. Also adds proper dependency checking, and direct .a
  17578. file targets. We don't take advantage of this currently, but we
  17579. will soon. (issue ASTERISK-20815) ........ Merged revisions
  17580. 380671-380673 from
  17581. http://svn.asterisk.org/svn/asterisk/branches/11
  17582. 2013-01-31 18:22 +0000 [r380576-380666] Richard Mudgett <rmudgett@digium.com>
  17583. * bridges/bridge_multiplexed.c: bridge_multiplexed: Keep the
  17584. multiplexed thread until no more bridges use it. * Fixed the
  17585. potential of losing the multiplexed bridge thread when the last
  17586. channel leaves and another joins while the multiplexed thread is
  17587. being shut down. * Refactored and improved the management of the
  17588. serviced channels array. * Changed the channels count to a
  17589. bridges count so it only needs to be incremented rather than
  17590. changed by two.
  17591. * main/frame.c, funcs/func_frame_trace.c: Improve func FRAME_TRACE
  17592. DTMF digit format.
  17593. * include/asterisk/bridging.h: Eliminate an unused lock in
  17594. ast_bridge_channel.
  17595. * main/channel.c: Eliminate a use of a C++ keyword as a variable.
  17596. new to new_frame
  17597. * channels/iax2: Add ignore properties to channels/iax2
  17598. * include/asterisk/channel.h, /: Make CHECK_BLOCKING() debug
  17599. message more useful. Change the displayed pthread value to hex
  17600. format so it can be easily matched with CLI core show threads or
  17601. gdb. ........ Merged revisions 380611 from
  17602. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17603. revisions 380612 from
  17604. http://svn.asterisk.org/svn/asterisk/branches/11
  17605. * channels/chan_dahdi.c, /: chan_dahdi: Fix "dahdi show channels
  17606. group" for groups greater than 31. The variable type used was not
  17607. large enough to hold a group bit field. ........ Merged revisions
  17608. 380572 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  17609. ........ Merged revisions 380575 from
  17610. http://svn.asterisk.org/svn/asterisk/branches/11
  17611. 2013-01-30 17:49 +0000 [r380460-380522] Matthew Jordan <mjordan@digium.com>
  17612. * /, configure, configure.ac: Support building Asterisk for
  17613. Raspberry Pi/Raspbian with hard-float support Building Asterisk
  17614. on Raspbian with hard-float support fails as it uses the string
  17615. 'linux-gnueabihf' for host os, as opposed to 'linux-gnueabi'.
  17616. This patch modifies the configure script for Asterisk such that
  17617. it will match on any string beginning with 'linux-gnueabi', as
  17618. opposed to requiring an explicit match. (closes issue
  17619. ASTERISK-21006) Reported by: Christian Hesse Tested by: Christian
  17620. Hesse patches: linux-gnueabihf.patch uploaded by Christian Hesse
  17621. (license 6459) linux-gnueabihf-autoconf.patch uploaded by
  17622. Christian Hesse (license 6459) ........ Merged revisions 380520
  17623. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  17624. Merged revisions 380521 from
  17625. http://svn.asterisk.org/svn/asterisk/branches/11
  17626. * /, channels/chan_sip.c: Unregister SIP provider API if module
  17627. load is declined A user in #asterisk ran into a problem where a
  17628. configuration error prevented the chan_sip module from being
  17629. loaded. Upon fixing their configuratione error, they could no
  17630. longer load the chan_sip module. This was because the
  17631. configuration checking happened after the SIP provider was
  17632. registered with the Asterisk core, and subsequent attempts to
  17633. load the SIP module failed as the provider was already
  17634. registered. Since we want to detect any failure in registering
  17635. chan_sip as early as possible (as that could be emblematic of a
  17636. deeper mismatch between module and Asterisk core), this patch
  17637. does not change the registration location, but does ensure that
  17638. if a module load is declined, we unregister the module as the SIP
  17639. api provider. ........ Merged revisions 380480 from
  17640. http://svn.asterisk.org/svn/asterisk/branches/11
  17641. * /, channels/chan_sip.c: Perform case insensitive comparisons for
  17642. T.38 attributes RFC5347 section 2.5.2 states the following: ...
  17643. The attribute "T38MaxBitRate" was once incorrectly registered
  17644. with IANA as "T38maxBitRate" (lower-case "m"). In accordance with
  17645. T.38 examples and common implementation practice, the form
  17646. "T38MaxBitRate" SHOULD be generated by implementations conforming
  17647. to this package. In general, it is RECOMMENDED that
  17648. implementations of this package accept lowercase, uppercase, and
  17649. mixed upper/lowercase encodings of all the T.38 attributes. ...
  17650. Asterisk currently does not perform case insensitive matching on
  17651. the T.38 attributes. This causes the T38MaxBitRate attribute to
  17652. be negotiated at 2400 baud instead of 14400 (or whatever value
  17653. you actually wanted). This patch makes it so that when we compare
  17654. T.38 attributes, we do so in a case insensitive fashion. Note
  17655. that while the issue reporter did not directly write the patch,
  17656. they contributed to it (and would have provided one themselves if
  17657. the license had gone through a tad faster), and hence get
  17658. attribution for it. Review:
  17659. https://reviewboard.asterisk.org/r/2298/ (closes issue
  17660. ASTERISK-20897) Reported by: Eric Hill Tested by: Eric Hill
  17661. patches: -- uploaded by Eric Hill ........ Merged revisions
  17662. 380458 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  17663. ........ Merged revisions 380465 from
  17664. http://svn.asterisk.org/svn/asterisk/branches/11
  17665. * res/res_calendar_icalendar.c, /: Fix memory leak in
  17666. res_calendar_icalendar The ICalendar module had a systemic memory
  17667. leak on each fetch of data from the ICalendar source. The
  17668. previous fetched data was not being properly disposed. This patch
  17669. makes it so that before each fetch of data, we dispose of the
  17670. previously fetched data. (closes issue ASTERISK-21012) Reported
  17671. by: Joel Vandal Tested by: Joel Vandal ........ Merged revisions
  17672. 380451 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  17673. ........ Merged revisions 380452 from
  17674. http://svn.asterisk.org/svn/asterisk/branches/11
  17675. 2013-01-29 22:58 +0000 [r380433] Sean Bright <sean@malleable.com>
  17676. * channels/iax2/parser.c (added), channels/iax2 (added),
  17677. channels/iax2-parser.h (removed),
  17678. channels/iax2/include/provision.h (added), channels/iax2/include
  17679. (added), channels/iax2/include/parser.h (added), channels/iax2.h
  17680. (removed), channels/iax2-provision.c (removed),
  17681. channels/iax2/provision.c (added), channels/Makefile,
  17682. channels/chan_iax2.c, channels/iax2-parser.c (removed),
  17683. channels/iax2/include/iax2.h (added), channels/iax2-provision.h
  17684. (removed): Move the ancillary iax2 source files into a separate
  17685. sub-directory. This patch just moves the IAX2 source and header
  17686. files into a separate iax2 sub-directory in the channels
  17687. directory, similar to how the sip source files are structured.
  17688. The only thing that was added was an #ifndef to protect
  17689. provision.h from multiple inclusion.
  17690. 2013-01-29 20:19 +0000 [r380407] Joshua Colp <jcolp@digium.com>
  17691. * tests/test_sorcery.c, main/sorcery.c: Fix an issue where building
  17692. with DEBUG_FD_LEAKS enabled would not work due to sorcery using
  17693. calls called "open" and "close".
  17694. 2013-01-29 18:02 +0000 [r380386] Richard Mudgett <rmudgett@digium.com>
  17695. * /, channels/chan_agent.c: chan_agent: Prevent multiple channels
  17696. from logging in as the same agent. Multiple channels logging in
  17697. as the same agent can result in dead channels waiting for a
  17698. condition signal that will never come because another channel
  17699. thread stole it. A symptom is chan_sip repeatedly generating
  17700. warning messages about rescheduling autodestruction of dialogs
  17701. with an agent channel owner. * Made only login_exec() (the app
  17702. AgentLogin) clear the agent_pvt->chan pointer to prevent multiple
  17703. channels from logging in as the same agent. agent_read(),
  17704. agent_call(), and agent_set_base_channel() no longer disconnect
  17705. the agent channel from the agent_pvt. This also eliminates the
  17706. need to keep checking for agent_pvt->chan being NULL. * Made
  17707. agent_hangup() not wake up the AgentLogin agent thread until it
  17708. is done. * Made agent_request() not able to get the agent until
  17709. he has logged in and any wrapup time has expired. * Made
  17710. agent_request() use ast_hangup() instead of agent_hangup() to
  17711. correctly dispose of a channel. * Removed
  17712. agent_set_base_channel(). Nobody calls it and it is a bad thing
  17713. in general. * Made only agent_devicestate() determine the current
  17714. device state of an agent. Note: Agent group device states have
  17715. never been supported. Review:
  17716. https://reviewboard.asterisk.org/r/2260/ ........ Merged
  17717. revisions 380364 from
  17718. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17719. revisions 380384 from
  17720. http://svn.asterisk.org/svn/asterisk/branches/11
  17721. 2013-01-29 17:46 +0000 [r380383] David M. Lee <dlee@digium.com>
  17722. * channels/sip/sdp_crypto.c, /: Corrected crypto tag in SDP ANSWER
  17723. for SRTP. (again) The original fix (r380043) for getting Asterisk
  17724. to respond with the correct tag overlooked some corner cases, and
  17725. the fact that the same code is in 1.8. This patch moves the
  17726. building of the crypto line out of sdp_crypto_process(). Instead,
  17727. it merely copies the accepted tag. The call to sdp_crypto_offer()
  17728. will build the crypto line in all cases now, using a tag of "1"
  17729. in the case of sending offers. (closes issue ASTERISK-20849)
  17730. Reported by: José Luis Millán Review:
  17731. https://reviewboard.asterisk.org/r/2295/ ........ Merged
  17732. revisions 380347 from
  17733. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17734. revisions 380350 from
  17735. http://svn.asterisk.org/svn/asterisk/branches/11
  17736. 2013-01-29 17:06 +0000 [r380349] Jonathan Rose <jrose@digium.com>
  17737. * main/features.c, /: call_parking: Make sure fallbacks are used
  17738. when lacking a flat channel exten A regression was introduced
  17739. which removed automatic fallback behavior from the PBX. This
  17740. behavior was used by call parking (or at least documented as how
  17741. the feature works) in order to select an extension when the flat
  17742. channel extension wasn't available from the comebackcontext.
  17743. Parking now handles the fallbacks internally in order to keep
  17744. behavior matching with how it is documented. (closes issue
  17745. ASTERISK-20716) Reported by: Chris Gentle Review:
  17746. https://reviewboard.asterisk.org/r/2296/ ........ Merged
  17747. revisions 380348 from
  17748. http://svn.asterisk.org/svn/asterisk/branches/11
  17749. 2013-01-29 14:48 +0000 [r380299-380332] Matthew Jordan <mjordan@digium.com>
  17750. * /, channels/chan_sip.c: Ensure that a declined media stream is
  17751. terminated with a '\r\n' In r369028, chan_sip's processing of
  17752. media streams in an SDP was modified to better handle multiple
  17753. offered media streams. Part of that change modified how streams
  17754. were declined. Previously, declined media streams were not
  17755. handled in an RFC compliant manner; now, we set the port number
  17756. to 0 in the media stream definition and proceed on with the next
  17757. media stream. Unfortunately, the formatting of the declined media
  17758. stream forgot to append a '\r\n' to the end of the media stream.
  17759. This is normally added to the accepted media streams later on in
  17760. the processing of the SDP. Since the declined media stream uses a
  17761. different buffer than the accepted media streams (and is a
  17762. malloc'd buffer as opposed to a struct ast_str), it's easier to
  17763. just slap the '\r\n' on the declined media stream buffer rather
  17764. than attempt to append it later on. So, that's what we do. And
  17765. now some devices (and probably some providers) will be a bit
  17766. happier (but probably not terribly happy, since we just rejected
  17767. something they offered). Review:
  17768. https://reviewboard.asterisk.org/r/2297/ (closes issue
  17769. ASTERISK-20908) Reported by: Dennis DeDonatis Tested by: Dennis
  17770. DeDonatis ........ Merged revisions 380331 from
  17771. http://svn.asterisk.org/svn/asterisk/branches/11
  17772. * autoconf/ast_check_pwlib.m4, /, configure,
  17773. include/asterisk/autoconfig.h.in: Update configure script to be
  17774. compatible with ptlib 2.10.9 With ptlib 2.10.9, the configure
  17775. script fails due to grep returning multiple matches for the
  17776. pattern it searches for. This patch updates the pattern matching
  17777. to return only the actual version for the symbol searched for,
  17778. PTLIB_VERSION. (closes issue ASTERISK-20980) Reported by: Stefan
  17779. Reuter patches: ASTERISK-20980-1.patch uploaded by Stefan Reuter
  17780. (license 5339) ........ Merged revisions 380297 from
  17781. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17782. revisions 380298 from
  17783. http://svn.asterisk.org/svn/asterisk/branches/11
  17784. 2013-01-28 21:09 +0000 [r380256] Sean Bright <sean@malleable.com>
  17785. * /, channels/iax2.h, channels/chan_iax2.c: Correct the number of
  17786. available call numbers in IAX2. There is currently an edge case
  17787. where call number 32768 might be allocated for a call, even
  17788. though the IAX2 protocol requires call numbers be only 15 bits.
  17789. This resulted in some unpredictable behavior when call number
  17790. 32678 is chosen. This patch was mostly written by Richard Mudgett
  17791. via ReviewBoard. I'm just committing it. Review:
  17792. https://reviewboard.asterisk.org/r/2293/ ........ Merged
  17793. revisions 380254 from
  17794. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17795. revisions 380255 from
  17796. http://svn.asterisk.org/svn/asterisk/branches/11
  17797. 2013-01-28 01:58 +0000 [r380209-380212] Russell Bryant <russell@russellbryant.com>
  17798. * main/file.c, /: Change cleanup ordering in filestream destructor.
  17799. This patch came about due to a problem observed where wav files
  17800. had an empty header. The header is supposed to be updated in
  17801. wav_close(). It turns out that this was broken when the
  17802. cache_record_files option from asterisk.conf was enabled. The
  17803. cleanup code was moving the file to its final destination
  17804. *before* running the close() method of the file destructor, so
  17805. the header didn't get updated. Another problem here is that the
  17806. move was being done before actually closing the FILE *. Finally,
  17807. the last bug fixed here is that I noticed that wav_close() checks
  17808. for stream->filename to be non-NULL. In the previous cleanup
  17809. order, it's checking a pointer to freed memory. This doesn't
  17810. actually cause anything to break, but it's treading on dangerous
  17811. waters. Now the free() of stream->filename is happening after the
  17812. format module's close() method gets called, so it's safer.
  17813. Review: https://reviewboard.asterisk.org/r/2286/ ........ Merged
  17814. revisions 380210 from
  17815. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17816. revisions 380211 from
  17817. http://svn.asterisk.org/svn/asterisk/branches/11
  17818. * main/logger.c, CHANGES, configs/logger.conf.sample: Add
  17819. queue_log_realtime_use_gmt option to logger.conf Add an option
  17820. that lets you specify that the timestamps going into the realtime
  17821. queue log should be in GMT instead of local time. Review:
  17822. https://reviewboard.asterisk.org/r/2287/
  17823. 2013-01-27 20:33 +0000 [r380194] Michael L. Young <elgueromexicano@gmail.com>
  17824. * apps/confbridge/conf_config_parser.c, /: Fix Some Configured
  17825. Conference Bridge Sounds Not Being Set The "sound_only_one" sound
  17826. was not being set even though it was configured. In looking into
  17827. this, I found that the "join" and "leave" prompts were not being
  17828. set either. (closes issue ASTERISK-20898) Reported by: Stephan
  17829. Tested by: Stephan Patches:
  17830. asterisk-20898-custom-sounds-ignored.diff uploaded by Michael L.
  17831. Young (license 5026) Review:
  17832. https://reviewboard.asterisk.org/r/2289/ ........ Merged
  17833. revisions 380193 from
  17834. http://svn.asterisk.org/svn/asterisk/branches/11
  17835. 2013-01-27 18:40 +0000 [r380165-380178] Joshua Colp <jcolp@digium.com>
  17836. * tests/test_sorcery.c: Add a unit test which confirms the apply
  17837. handler callback is called when it should be.
  17838. * main/sorcery.c: Fix a bug where the apply function was not
  17839. getting called.
  17840. 2013-01-25 23:23 +0000 [r380142] Richard Mudgett <rmudgett@digium.com>
  17841. * bridges/bridge_multiplexed.c: bridge_multiplexed: Rename
  17842. variables so they are not the same as the struct name. * Rename
  17843. multiplexed_thread variables to muxed_thread. It is shorter and
  17844. my editer tagging works much better. Struct names and variable
  17845. names have different purposes and therefore should have different
  17846. names. * Renamed the multiplexed_threads container to
  17847. muxed_threads for consistency.
  17848. 2013-01-25 20:46 +0000 [r380121] Jason Parker <jparker@digium.com>
  17849. * res/res_sorcery_memory.c, res/res_sorcery_config.c: Make sorcery
  17850. modules global, since they are required by other modules that are
  17851. global.
  17852. 2013-01-25 20:00 +0000 [r380108-380109] Richard Mudgett <rmudgett@digium.com>
  17853. * bridges/bridge_multiplexed.c, main/bridging.c: Misc bridge code
  17854. improvements * Made multiplexed_bridge_destroy() check if
  17855. anything to destroy and cleared bridge_pvt pointer after
  17856. destruction. * Made multiplexed_add_or_remove() handling of the
  17857. chans array simpler. * Extracted bridge_channel_poke(). *
  17858. Simplified bridge_array_remove() handling of the bridge->array[].
  17859. The array does not have a NULL sentinel pointer. * Made
  17860. ast_bridge_new() not create a temporary bridge just to see if it
  17861. can be done. Only need to check if there is an appropriate bridge
  17862. tech available. * Made ast_bridge_new() clean up on allocation
  17863. failures. * Made destroy_bridge() free resources in the opposite
  17864. order of creation.
  17865. * bridges/bridge_simple.c, bridges/bridge_softmix.c,
  17866. bridges/bridge_multiplexed.c, main/bridging.c: More trivial
  17867. bridge code cleanup. * Breaking long lines * Word wrapping
  17868. comment blocks. * Removing redundant initializers. * Debug
  17869. message wording.
  17870. 2013-01-25 14:23 +0000 [r380069-380082] Joshua Colp <jcolp@digium.com>
  17871. * res/res_sorcery_config.c: Add a missing '\' to a log message.
  17872. * configs/test_sorcery.conf.sample (added),
  17873. res/res_sorcery_memory.c (added), configs/sorcery.conf.sample
  17874. (added), include/asterisk/sorcery.h (added), tests/test_sorcery.c
  17875. (added), main/asterisk.c, main/sorcery.c (added),
  17876. res/res_sorcery_config.c (added): Merge the sorcery data access
  17877. layer API. Sorcery is a unifying data access layer which provides
  17878. a pluggable mechanism to allow object creation, retrieval,
  17879. updating, and deletion using different backends (or wizards).
  17880. This is a fancy way of saying "one interface to rule them all"
  17881. where them is configuration, realtime, and anything else that
  17882. comes along. Review: https://reviewboard.asterisk.org/r/2259/
  17883. 2013-01-25 05:49 +0000 [r380057] Damien Wedhorn <voip@facts.com.au>
  17884. * channels/chan_skinny.c, configs/skinny.conf.sample: Add force
  17885. dial keys to skinny. Adds a dial softkey when the device is in
  17886. DAFD. The softkey is greyed (unusable) until a possible dialplan
  17887. match is entered. Code includes updating transmit_selectsoftkeys
  17888. to allow the use of a button mask. Also add option to use # or *
  17889. as a dial now button. Original patch by snuffy cleaned up by
  17890. myself. Review: https://reviewboard.asterisk.org/r/2277/
  17891. 2013-01-24 16:40 +0000 [r380044] David M. Lee <dlee@digium.com>
  17892. * /, channels/sip/sdp_crypto.c: Corrected crypto tag in SDP ANSWER
  17893. for SRTP. When Asterisk responds with an SDP ANSWER for SRTP, it
  17894. had the code to correctly fill in the crypto data, which was
  17895. overwritten by a call to sdp_crypto_offer. Corrected the
  17896. situation by changing sdp_crypto_offer to not replacing crypto
  17897. data if it already exists. (closes issue ASTERISK-20849) Reported
  17898. by: José Luis Millán Tested by: Iñaki Baz Castillo Patches:
  17899. fix_sdp_crypto_tags.diff uploaded by Pedro Kiefer (license 6407)
  17900. ........ Merged revisions 380043 from
  17901. http://svn.asterisk.org/svn/asterisk/branches/11
  17902. 2013-01-24 04:02 +0000 [r380029] Matthew Jordan <mjordan@digium.com>
  17903. * /, apps/app_confbridge.c: Correct documentation for
  17904. ConfbridgeList AMI action The documentation for ConfbridgeList
  17905. states that the Conference field is optional. That's not really
  17906. the case: if you fail to provide a Conference number, the command
  17907. will kick back an error. (closes issue AST-1090) Reported by:
  17908. John Bigelow ........ Merged revisions 380028 from
  17909. http://svn.asterisk.org/svn/asterisk/branches/11
  17910. 2013-01-23 16:50 +0000 [r380004] Kinsey Moore <kmoore@digium.com>
  17911. * contrib/scripts/autosupport: Add support for DPMA to autosupport
  17912. This adds the ability to get the DPMA version, a listing of the
  17913. local firmware directory, and indexes of configured remote
  17914. directories. (closes issue AST-1070) Reported By: Malcolm
  17915. Davenport Tested By: Kinsey Moore <kmoore@digium.com>
  17916. 2013-01-23 00:30 +0000 [r379966] Richard Mudgett <rmudgett@digium.com>
  17917. * main/astobj2.c, /: Attempt to be more helpful when using a bad
  17918. ao2 object pointer. Put the external obj pointer in the message
  17919. instead of the internal version. ........ Merged revisions 379963
  17920. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  17921. Merged revisions 379964 from
  17922. http://svn.asterisk.org/svn/asterisk/branches/11
  17923. 2013-01-22 22:19 +0000 [r379950] Jonathan Rose <jrose@digium.com>
  17924. * /, res/res_fax_spandsp.c: res_fax_spandsp: fix t38 transmission
  17925. bug caused by not returning success This patch fixes the problem,
  17926. but the issue includes a test which is still being considered for
  17927. the automated test suite. (issue ASTERISK-20919) Reported by:
  17928. NITESH BANSAL Patches: patch_ast_fax_spandsp.patch uploaded by
  17929. NITESH BANSAL (license 6418) ........ Merged revisions 379949
  17930. from http://svn.asterisk.org/svn/asterisk/branches/11
  17931. 2013-01-22 20:58 +0000 [r379936] Sean Bright <sean@malleable.com>
  17932. * channels/chan_iax2.c: Remove a large block of commented out code
  17933. from chan_iax2. During the conversion to the newer CLI command
  17934. structure the old definitions were commented out. I think it's
  17935. safe to remove them completely now.
  17936. 2013-01-22 19:29 +0000 [r379912] Jonathan Rose <jrose@digium.com>
  17937. * sounds/Makefile, /, apps/app_meetme.c: app_meetme: Use new
  17938. prompts for administrator menu The old prompts for the
  17939. administrator menu were inadequate. They didn't mention that the
  17940. menu had additional options through the 8 key and pressing the 8
  17941. key wouldn't reveal what those options were. This patch fixes all
  17942. of that while also organizing code pertaining to each individual
  17943. menu type which was previously all stored in one gigantic
  17944. function along with many of the basic conference functions.
  17945. (closes issue AST-996) Reported by: John Bigelow Review:
  17946. http://reviewboard.digium.internal/r/360/ ........ Merged
  17947. revisions 379885 from
  17948. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17949. revisions 379892 from
  17950. http://svn.asterisk.org/svn/asterisk/branches/11
  17951. 2013-01-22 16:48 +0000 [r379864] Richard Mudgett <rmudgett@digium.com>
  17952. * /: Remove stray property.
  17953. 2013-01-22 15:16 +0000 [r379828-379830] Matthew Jordan <mjordan@digium.com>
  17954. * res/res_agi.c, main/file.c, main/app.c, CHANGES,
  17955. include/asterisk/frame.h, apps/app_playback.c,
  17956. apps/app_controlplayback.c, include/asterisk/file.h,
  17957. main/channel.c, funcs/func_frame_trace.c: Add ControlPlayback
  17958. manager action This patch adds the capability for asynchronous
  17959. manipulation of audio being played back to a channel though a new
  17960. AMI action "ControlPlayback". The ControlPlayback action supports
  17961. a number of operations, the availability of which depend on the
  17962. application being used to send audio to the channel. When the
  17963. audio playback was initiated using the ControlPlayback
  17964. application or CONTROL STREAM FILE AGI command, the audio can be
  17965. paused, stopped, restarted, reversed, or skipped forward. When
  17966. initiated by other mechanisms (such as the Playback application),
  17967. the audio can be stopped, reversed, or skipped forward. Review:
  17968. https://reviewboard.asterisk.org/r/2265/ (closes issue
  17969. ASTERISK-20882) Reported by: mjordan
  17970. * /, apps/app_meetme.c: Fix station ringback; trunk hangup issues
  17971. in SLA This patch fixes two bugs: * If an outbound call is made
  17972. from a SLA phone using SLAStation, then there is no ringtone
  17973. audible to the phone that originates the call. The indication of
  17974. the ringing was not being passed to the SLA station; this patch
  17975. fixes that by passing through the progress indications. * If an
  17976. SLA station hangs up before the called party answers, then the
  17977. channel to the called party continues to ring until a timeout
  17978. occurs. If the called party manages to answer, Asterisk attempts
  17979. to connect the called party to a non-existant MeetMe room. This
  17980. patch corrects the behavior by abandoning the call attempt if it
  17981. detects that the SLA station is no longer in use while attempting
  17982. to call the called party. Review:
  17983. https://reviewboard.asterisk.org/r/2275/ (closes issue
  17984. ASTERISK-20462) Reported by: dkerr patches:
  17985. asterisk-11-bugid20440+20462.patch uploaded by dkerr (license
  17986. 5558) asterisk-11-bugid20462.patch uploaded by dkerr (license
  17987. 5558) (closes issue ASTERISK-20440) Reported by: dkerr patches:
  17988. asterisk-11-bugid20440.patch uploaded by dkerr (license 5558)
  17989. asterisk-11-bugid20440+20462.patch uploaded by dkerr (license
  17990. 5558) ........ Merged revisions 379825 from
  17991. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  17992. revisions 379826 from
  17993. http://svn.asterisk.org/svn/asterisk/branches/11
  17994. 2013-01-22 00:36 +0000 [r379809] Richard Mudgett <rmudgett@digium.com>
  17995. * /, channels/chan_bridge.c, apps/app_confbridge.c: confbridge:
  17996. Minor fixes playing user counts to the conference. * Generate a
  17997. warning message if sound files do not exist when trying to play
  17998. the user count to the conference. Use the new helper routine
  17999. sound_file_exists() for consistency. * Put the new user into
  18000. autoservice when playing user counts to the conference. * Check
  18001. the return value of ast_bridge_impart(). ........ Merged
  18002. revisions 379808 from
  18003. http://svn.asterisk.org/svn/asterisk/branches/11
  18004. 2013-01-21 20:41 +0000 [r379791] Matthew Jordan <mjordan@digium.com>
  18005. * /, contrib/init.d/rc.redhat.asterisk,
  18006. contrib/init.d/rc.gentoo.asterisk,
  18007. contrib/init.d/rc.slackware.asterisk,
  18008. contrib/init.d/rc.archlinux.asterisk,
  18009. contrib/scripts/safe_asterisk, main/asterisk.c,
  18010. contrib/init.d/rc.suse.asterisk,
  18011. contrib/init.d/rc.mandriva.asterisk,
  18012. contrib/init.d/rc.debian.asterisk: Update init.d scripts to
  18013. handle stderr; readd splash screen for remote consoles When
  18014. r376428 was commited to re-order start up sequences to be more
  18015. tolerant of forking with thread primitives, a few items were
  18016. changed that caused changes in behavior on some distros. This
  18017. includes: * Not displaying the splash screen on a remote console.
  18018. * Displaying an error message on stderr when a remote console
  18019. cannot connect to a running instance of Asterisk. In the first
  18020. case, the splash screen was re-added (thanks to Michael L.
  18021. Young). In the second case, the various init.d scripts were
  18022. modified to pipe stderr to /dev/null, as the error message is
  18023. useful - if you execute a remote console or a remote console
  18024. command execution and it fail, it should tell you. Note that the
  18025. error message was always present, it just failed to be printed
  18026. prior to r376428. Much thanks to the folks who quickly reported
  18027. this problem, provided solutions, and promptly tested the various
  18028. init.d scripts on a variety of distros. (closes issue
  18029. ASTERISK-20945) Reported by: Warren Selby Tested by: Michael L.
  18030. Young, Jamuel Starkey, kaldemar, Danny Nicholas, mjordan patches:
  18031. asterisk-20945-remote-intro-msg.diff uploaded by elguero (license
  18032. 5026) ASTERISK-20945-1.8-mjordan.diff uploaded by mjordan
  18033. (license 6283) ........ Merged revisions 379760 from
  18034. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18035. revisions 379777 from
  18036. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18037. revisions 379790 from
  18038. http://svn.asterisk.org/svn/asterisk/branches/11
  18039. 2013-01-21 20:35 +0000 [r379753-379789] Richard Mudgett <rmudgett@digium.com>
  18040. * bridges/bridge_builtin_features.c, main/bridging.c: Better
  18041. protect bridge_channel state from other threads.
  18042. * main/bridging.c: Extract common bridging code into bridge_stop()
  18043. and bridge_force_out_all().
  18044. * bridges/bridge_builtin_features.c,
  18045. include/asterisk/bridging_features.h,
  18046. include/asterisk/bridging.h, main/bridging.c: Made some bridging
  18047. API calls void. Some bridging comments updated.
  18048. 2013-01-21 18:47 +0000 [r379721] Kinsey Moore <kmoore@digium.com>
  18049. * codecs/codec_ilbc.c, /: Prevent segfault for interpolated iLBC
  18050. frames When iLBC is being used with a jitter buffer and the jb
  18051. has to interpolate frames, it generates frames with a null
  18052. pointer and a non-zero datalen. This is now handled properly.
  18053. (closes issue ASTERISK-20914) Reported By: John McEleney Patches:
  18054. ASTERISK-20914-1.8.diff uploaded by Matt Jordan (license 6283)
  18055. ........ Merged revisions 379718 from
  18056. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18057. revisions 379719 from
  18058. http://svn.asterisk.org/svn/asterisk/branches/11
  18059. 2013-01-21 18:45 +0000 [r379703-379720] Richard Mudgett <rmudgett@digium.com>
  18060. * main/bridging.c: Trivial bridge code cleanup.
  18061. * include/asterisk/bridging_features.h,
  18062. include/asterisk/bridging.h,
  18063. include/asterisk/bridging_technology.h,
  18064. bridges/bridge_builtin_features.c: Bridge API comment tweaks.
  18065. 2013-01-21 07:26 +0000 [r379678] Damien Wedhorn <voip@facts.com.au>
  18066. * /, channels/chan_skinny.c: Fix device call logging issues in
  18067. skinny Skinny device call logging (ie missed, place and received
  18068. calls) has issues because the incorrect sequence of callstates
  18069. is/can be sent to the device. This patch removes some extra
  18070. callstate updates driven by forces external to skinny and ensures
  18071. the needed intermediary callstate messages are sent. (closes
  18072. issue ASTERISK-20964) Reported by: wedhorn Tested by: snuffy,
  18073. myself Patches: ast11-skinny-calllog01.diff uploaded by wedhorn
  18074. (license 5019) ........ Merged revisions 379677 from
  18075. http://svn.asterisk.org/svn/asterisk/branches/11
  18076. 2013-01-21 04:50 +0000 [r379644] Andrew Latham <lathama@gmail.com>
  18077. * contrib/scripts/install_prereq, /: Add LDAP libraries to install
  18078. script Add LDAP dev package to Debian/Ubuntu install list.
  18079. Existed in Redhat already. (issue ASTERISK-20886) ........ Merged
  18080. revisions 379643 from
  18081. http://svn.asterisk.org/svn/asterisk/branches/11
  18082. 2013-01-21 04:17 +0000 [r379610-379612] Matthew Jordan <mjordan@digium.com>
  18083. * /, apps/app_minivm.c: Fix crash in app_minivm when mime encoding
  18084. string An incorrect string initializations was left in
  18085. ast_str_encode_mime from the patch that converted string
  18086. manipulations to use ast_str strings (r191140). The string
  18087. initialization causes a crash when ast_str_set is called on the
  18088. string later on in the function. (closes issue ASTERISK-18697)
  18089. Reported by: Chris Boot patches:
  18090. minivm-null-pointer-dereference-fix.patch uploaded by bootc
  18091. (license 6309) (issue ASTERISK-20854) Reported by: Chris Warr
  18092. Tested by: Chris Warr ........ Merged revisions 379608 from
  18093. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18094. revisions 379609 from
  18095. http://svn.asterisk.org/svn/asterisk/branches/11
  18096. * /: Re-add merge properties
  18097. 2013-01-20 03:06 +0000 [r379583] Damien Wedhorn <voip@facts.com.au>
  18098. * /, channels/chan_skinny.c: Fix issues with skinny sessions Fixes
  18099. a couple of issues with the way skinny handles sessions by
  18100. ensuring sessions aren't used after being freed. Some other minor
  18101. changes. Review: https://reviewboard.asterisk.org/r/2272/
  18102. ........ Merged revisions 379582 from
  18103. http://svn.asterisk.org/svn/asterisk/branches/11
  18104. 2013-01-19 20:54 +0000 [r379549] Walter Doekes <walter+asterisk@wjd.nu>
  18105. * configure.ac, /, configure, include/asterisk/autoconfig.h.in,
  18106. include/asterisk/compat.h, main/strcompat.c: Add builtin roundf()
  18107. for systems lacking it. (closes issue ASTERISK-16854) Review:
  18108. https://reviewboard.asterisk.org/r/2276 Reported-by: Ovidiu Sas
  18109. ........ Merged revisions 379547 from
  18110. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18111. revisions 379548 from
  18112. http://svn.asterisk.org/svn/asterisk/branches/11
  18113. 2013-01-19 00:19 +0000 [r379518] Matthew Jordan <mjordan@digium.com>
  18114. * main/asterisk.c, /: Fix astcanary startup problem due to wrong
  18115. pid value from before daemon call When Asterisk forks itself into
  18116. the background via a call to daemon, it must re-set the pid value
  18117. of the new process. Otherwise, astcanary gets the pid value of
  18118. the process before the fork, which prevents it from running.
  18119. Asterisk eventually starts lowering its priority, as it can no
  18120. longer communicate with the proverbial canary in the coal mine.
  18121. This patch ensures that the correct process identifier is used by
  18122. astcanary. Note that this is getting committed to 10 as a
  18123. regression fix. (closes issue ASTERISK-20947) Reported by: Jakob
  18124. Hirsch Tested by: mjordan patches:
  18125. asterisk-10.12.0.astcanary_ppid.diff uploaded by Jakob Hirsch
  18126. (license 6113) ........ Merged revisions 379509 from
  18127. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18128. revisions 379510 from
  18129. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18130. revisions 379513 from
  18131. http://svn.asterisk.org/svn/asterisk/branches/11
  18132. 2013-01-18 22:42 +0000 [r379495] David M. Lee <dlee@digium.com>
  18133. * configure, main/Makefile, configure.ac, Makefile: Up the minimum
  18134. OS X version to 10.6. * This allows us to remove some
  18135. special-case build logic. * 10.5 is down to less that 8% of the
  18136. OS X market share. 10.4 is down to under 2%. * Apple is no longer
  18137. releasing security updates for 10.5 and earlier.
  18138. 2013-01-18 21:52 +0000 [r379479] Kinsey Moore <kmoore@digium.com>
  18139. * /, apps/app_confbridge.c: Fix regression in Confbridge user count
  18140. When the restructuring work got committed to Confbridge in
  18141. r375470 to fix many open issues, it caused a regression in the
  18142. reported count of users when conference information was requested
  18143. via CLI or manager. This corrects the user count and user
  18144. information displayed when listing conference information from
  18145. the CLI and manager. (closes issue ASTERISK-20938) Reported By:
  18146. Timo Teras Patches: confbridge-list.patch uploaded by Timo Teras
  18147. (license 5409) ........ Merged revisions 379478 from
  18148. http://svn.asterisk.org/svn/asterisk/branches/11
  18149. 2013-01-18 21:35 +0000 [r379477] David M. Lee <dlee@digium.com>
  18150. * /, configure, main/Makefile, configure.ac, UPGRADE-11.txt,
  18151. UPGRADE.txt, makeopts.in, Makefile: Specify the -rpath linker
  18152. flag when prefix != /usr. This allows Asterisk to start without
  18153. having to specify the LD_LIBRARY_PATH. This can be disabled by
  18154. passing --disable-rpath to configure. (closes issue
  18155. ASTERISK-20407) Reported by: David M. Lee Review:
  18156. https://reviewboard.asterisk.org/r/2132/ ........ Merged
  18157. revisions 379475 from
  18158. http://svn.asterisk.org/svn/asterisk/branches/11
  18159. 2013-01-18 18:25 +0000 [r379461] Jonathan Rose <jrose@digium.com>
  18160. * /, apps/app_voicemail.c: app_voicemail: Improve msg_id handling
  18161. app_voicemail will no longer issue error messages when it
  18162. retrieves an msg_id with a NULL value from realtime and will
  18163. instead simply populate the msg_id field with a newly generated
  18164. msg_id. In addition, this patch changes the way msg_ids are
  18165. generated to eliminate certain causes of duplicate IDs appearing
  18166. within a single system. In addition, when messages are copied,
  18167. they will now receive a new msg_id. (closes issue ASTERISK-20717)
  18168. Reported by: Alec Davis Review:
  18169. https://reviewboard.asterisk.org/r/2220/ ........ Merged
  18170. revisions 379460 from
  18171. http://svn.asterisk.org/svn/asterisk/branches/11
  18172. 2013-01-18 15:42 +0000 [r379432] Mark Michelson <mmichelson@digium.com>
  18173. * main/threadpool.c (added), main/taskprocessor.c,
  18174. include/asterisk/threadpool.h (added), /,
  18175. include/asterisk/taskprocessor.h, tests/test_threadpool.c
  18176. (added), tests/test_taskprocessor.c (added): Add threadpool
  18177. support to Asterisk. This commit consists of two parts. Part one
  18178. changes the taskprocessor API to be less self-contained. Instead,
  18179. the taskprocessor is now more of a task queue that informs a
  18180. listener of changes to the queue. The listener then has the
  18181. responsibility of executing the tasks as it pleases. There is a
  18182. default listener implementation that functions the same way as
  18183. "classic" taskprocessors, in that it creates a single thread for
  18184. tasks to execute in. Old users of taskprocessors have not been
  18185. altered and still function the same way. Part two introduces the
  18186. threadpool API. A threadpool is a special type of taskprocessor
  18187. listener that has multiple threads associated with it. The
  18188. threadpool also has an optional listener that can adjust the
  18189. threadpool as conditions change. In addition the threadpool has a
  18190. set of options that can allow for the threadpool to grow and
  18191. shrink on its own as tasks are added and executed. Both set of
  18192. changes contain accompanying unit tests. (closes issue
  18193. ASTERISK-20691) Reported By: Matt Jordan Review:
  18194. https://reviewboard.asterisk.org/r/2242
  18195. 2013-01-18 05:31 +0000 [r379394] David M. Lee <dlee@digium.com>
  18196. * channels/sip/include/reqresp_parser.h, /, channels/chan_sip.c,
  18197. channels/sip/reqresp_parser.c: Fix Record-Route parsing for large
  18198. headers. Record-Route parsing copied the header into a char[256]
  18199. array, which can be a problem if the header is longer than that.
  18200. This patch parses the header in place, without the copy, avoiding
  18201. the issue. In addition to the original patch, I added a unit test
  18202. for the new get_in_brackets_const function. (closes issue
  18203. ASTERISK-20837) Reported by: Corey Farrell Patches:
  18204. chan_sip-build_route-optimized-rev1.patch uploaded by Corey
  18205. Farrell (license 5909) (with minor changes by dlee) ........
  18206. Merged revisions 379392 from
  18207. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18208. revisions 379393 from
  18209. http://svn.asterisk.org/svn/asterisk/branches/11
  18210. 2013-01-17 02:32 +0000 [r379344] Matthew Jordan <mjordan@digium.com>
  18211. * addons/chan_mobile.c, /: Fix issue where chan_mobile fails to
  18212. bind to first available port Per the bluez API, in order to bind
  18213. to the first available port, the rc_channel field of the socket
  18214. addressing structure used to bind the socket should be set to 0.
  18215. Previously, Asterisk had set the rc_channel field set to 1,
  18216. causing it to connect to whatever happens to be on port 1. We
  18217. could probably not explicitly set rc_channel to 0 since we memset
  18218. the struct earlier, but explicitly setting it will hopefully
  18219. prevent someone from coming in and setting it to some explicit
  18220. port in the future. (closes issue ASTERISK-16357) Reported by:
  18221. challado Tested by: Alexander Heinz, Nikolay Ilduganov, benjamin,
  18222. eliafino, David van Geyn patches: ASTERISK-16357.diff uploaded by
  18223. Nikolay Ilduganov (license 6253) ........ Merged revisions 379342
  18224. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  18225. Merged revisions 379343 from
  18226. http://svn.asterisk.org/svn/asterisk/branches/11
  18227. 2013-01-16 22:51 +0000 [r379312] Mark Michelson <mmichelson@digium.com>
  18228. * /, main/manager.c: Further fix misinformation in the description
  18229. of manager MailboxStatus command. The description still claimed
  18230. that it returned the number of messages rather than whether there
  18231. were messages waiting. ........ Merged revisions 379310 from
  18232. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18233. revisions 379311 from
  18234. http://svn.asterisk.org/svn/asterisk/branches/11
  18235. 2013-01-16 21:13 +0000 [r379278] Jason Parker <jparker@digium.com>
  18236. * contrib/scripts/install_prereq, /: Reduce number of packages
  18237. install_prereq installs on Debian systems. 'search' will look for
  18238. any package containing the name provided, so we need to force a
  18239. more exact search. ........ Merged revisions 379276 from
  18240. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18241. revisions 379277 from
  18242. http://svn.asterisk.org/svn/asterisk/branches/11
  18243. 2013-01-16 18:09 +0000 [r379231-379233] Richard Mudgett <rmudgett@digium.com>
  18244. * /, main/logger.c: Reduce call-id logging resource usage. Since
  18245. there is no need for the call-id logging ao2 object to have a
  18246. lock, don't create it with one. ........ Merged revisions 379232
  18247. from http://svn.asterisk.org/svn/asterisk/branches/11
  18248. * channels/chan_misdn.c, /: chan_misdn: Fix compile error. (issue
  18249. ASTERISK-15456) ........ Merged revisions 379226 from
  18250. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18251. revisions 379230 from
  18252. http://svn.asterisk.org/svn/asterisk/branches/11
  18253. 2013-01-16 17:46 +0000 [r379144-379229] Matthew Jordan <mjordan@digium.com>
  18254. * /, res/res_xmpp.c, res/res_jabber.c, doc/appdocsxml.dtd: Let
  18255. documentation reference links specify which module they're
  18256. linking to Again, since res_jabber/res_xmpp have duplicate APIs,
  18257. their documentation ref links have to specify which reference
  18258. they're referring to. The various documentation parsers can
  18259. interpret the module attribute however they want in order to
  18260. construct the appropriate links. ........ Merged revisions 379228
  18261. from http://svn.asterisk.org/svn/asterisk/branches/11
  18262. * /, res/res_xmpp.c, res/res_jabber.c, doc/appdocsxml.dtd: Multiple
  18263. revisions 379209-379210 ........ r379209 | mjordan | 2013-01-16
  18264. 09:27:44 -0600 (Wed, 16 Jan 2013) | 8 lines Add module tags to
  18265. documentation for res_jabber/res_xmpp Since res_jabber/res_xmpp
  18266. provide the same APIs (app/func/manager/etc.), the XML
  18267. documentation for each needs to call out which module is
  18268. providing the documentation. The module attribute has been added
  18269. to the various XML fragments for this purpose. ........ r379210 |
  18270. mjordan | 2013-01-16 09:30:20 -0600 (Wed, 16 Jan 2013) | 4 lines
  18271. Update the dtd to actually *support* the module attribute in all
  18272. elements Mea culpa. ........ Merged revisions 379209-379210 from
  18273. http://svn.asterisk.org/svn/asterisk/branches/11
  18274. * addons/chan_mobile.c, /: Fix parsing SMSSRC for SMS messages The
  18275. parser for SMS messages would incorrectly parse out the from
  18276. number. The parsing would incorrectly start scanning for the from
  18277. number at the same index as the first double quote ("); this
  18278. would inadvertently cause it to treat the first double quote as
  18279. the terminating double quote for the from number as well. The
  18280. SMSSRC should now populate correctly. (closes issue
  18281. ASTERISK-16822) Reported by: menschentier Tested by: Jonas Falck
  18282. patches: fixSMSSRC.patch uploaded by jonax (license 6320) (closes
  18283. issue ASTERISK-19153) Reported by: Panos Gkikakis patches:
  18284. sms-sender-fix.diff uploaded by roeften (license 5884) ........
  18285. Merged revisions 379178 from
  18286. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18287. revisions 379179 from
  18288. http://svn.asterisk.org/svn/asterisk/branches/11
  18289. * channels/chan_misdn.c, /: Set the INVALID_EXTEN channel variable
  18290. when chan_misdn forces the 'i' extension The chan_misdn channel
  18291. driver will send a channel with an invalid destination to the 'i'
  18292. extension itself if said extension can be reached. It forgot,
  18293. however, to set the INVALID_EXTEN channel variable when it
  18294. bounces the channel to this extension. Dialplan writers
  18295. everywhere moaned at yet another inconsistency. This is yet
  18296. another example of why duplicating logic in multiple places
  18297. results in bugs that stick around in Jira for just under three
  18298. years. Yes: ASTERISK-15456 was created on January 18th, 2010.
  18299. Patch committed on January 15th, 2013. Ouch. (closes issue
  18300. ASTERISK-15456) Reported by: Thomas Omerzu patches:
  18301. chan_misdn_invalid.patch2 uploaded by Thomas Omerzu (license
  18302. 5927) ........ Merged revisions 379145 from
  18303. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18304. revisions 379146 from
  18305. http://svn.asterisk.org/svn/asterisk/branches/11
  18306. * CHANGES, addons/chan_mobile.c: Add busy detection to chan_mobile
  18307. From the patch author: "First this patch adds general support for
  18308. busy detection. It also adds support for the ECAM command at Sony
  18309. Ericsson phones and also signals busy when only early media was
  18310. received but the call got not answered." Review:
  18311. https://reviewboard.asterisk.org/r/323 (closes issue
  18312. ASTERISK-14527) Reported by: Artem Makhutov Tested by: Artem
  18313. Makhutov patches: busy-full5.patch uploaded by artem (license
  18314. 5757)
  18315. 2013-01-15 22:23 +0000 [r379128] Richard Mudgett <rmudgett@digium.com>
  18316. * main/bridging.c: Fix ast_bridge_features_register() not
  18317. registering builtin features. I broke. Ooops.
  18318. 2013-01-14 21:47 +0000 [r379021-379070] David M. Lee <dlee@digium.com>
  18319. * include/asterisk/test.h: Fixed doc comment for ast_test_validate
  18320. * UPGRADE.txt, include/asterisk/manager.h, main/channel.c: Gently
  18321. reduce masquerade insanity Masquerades are an insane
  18322. implementation detail within Asterisk. It generates a number of
  18323. useless and confusing events, and manipulates channels in a way
  18324. that semantically doesn't make sense. I've given a fairly
  18325. thorough review of masquerade code and its usage on the wiki at
  18326. https://wiki.asterisk.org/wiki/x/IwBRAQ. While ultimately it
  18327. makes the most sense to abandon masquerades altogether, it will
  18328. take some time to completely irradicate. Even then, there may
  18329. always be code that's not worth rewriting to get rid of the
  18330. masquerade. This patch does two things to make masquerades
  18331. slightly less insane: * When swapping the names of the original
  18332. and clone channel, only emit a single rename event of original ->
  18333. original<ZOMBIE>. The original code issued three rename events to
  18334. accomplish the same end. * In addition to swapping the names of
  18335. the channels, also swap their uniqueid's. This allows the
  18336. 'Uniqueid' field to be used as a stable identifier for a channel
  18337. from and external interface, such as AMI. Review:
  18338. https://reviewboard.asterisk.org/r/2266/
  18339. * /, channels/chan_sip.c: Fix XML encoding of 'identity display' in
  18340. NOTIFY messages, continued. When r378933 was merged into 1.8, it
  18341. should have also escaped remote_display, since it will have the
  18342. same XML encoding problem when the caller/callee roles are
  18343. reversed. (closes issue ABE-2902) Reported by: Guenther Kelleter
  18344. ........ Merged revisions 379001 from
  18345. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18346. revisions 379020 from
  18347. http://svn.asterisk.org/svn/asterisk/branches/11
  18348. 2013-01-13 22:07 +0000 [r378985] Matthew Jordan <mjordan@digium.com>
  18349. * res/res_rtp_asterisk.c, /: Reset RTP timestamp; sequence number
  18350. on SSRC change In r370252 for ASTERISK-18404, Asterisk's handling
  18351. of RTP was modified to better account for out of order RTP
  18352. packets. This was accomplished by using the RTP timestamp and
  18353. sequence number to check for out of order packets. However, when
  18354. a SSRC change occurs, the timestamp and sequence number will no
  18355. longer have any relation to the previously received packets. The
  18356. variables tracking the timestamp and sequence number therefore
  18357. have to be reset. (closes issue ASTERISK-20906) Reported by:
  18358. Eelco Brolman patches: dtmf_on_hold.patch uploaded by Eelco
  18359. Brolman (license #6442) ........ Merged revisions 378967 from
  18360. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18361. revisions 378984 from
  18362. http://svn.asterisk.org/svn/asterisk/branches/11
  18363. 2013-01-12 06:43 +0000 [r378935] David M. Lee <dlee@digium.com>
  18364. * include/asterisk/utils.h, /, channels/chan_sip.c,
  18365. tests/test_xml_escape.c (added), main/utils.c: Fix XML encoding
  18366. of 'identity display' in NOTIFY messages. XML encoding in
  18367. chan_sip is accomplished by naively building the XML directly
  18368. from strings. While this usually works, it fails to take into
  18369. account escaping the reserved characters in XML. This patch adds
  18370. an 'ast_xml_escape' function, which works similarly to
  18371. 'ast_uri_encode'. This is used to properly escape the
  18372. local_display attribute in XML formatted NOTIFY messages. Several
  18373. things to note: * The Right Thing(TM) to do would probably be to
  18374. replace the ast_build_string stuff with building an ast_xml_doc.
  18375. That's a much bigger change, and out of scope for the original
  18376. ticket, so I refrained myself. * It is with great sadness that I
  18377. wrote my own ast_xml_escape function. There's one in libxml2, but
  18378. it's knee-deep in libxml2-ness, and not easily used to one-off
  18379. escape a string. * I only escaped the string we know is causing
  18380. problems (local_display). At least some of the other strings are
  18381. URI-encoded, which should be XML safe. Rather than figuring out
  18382. what's safe and escaping what's not, it would be much cleaner to
  18383. simply build an ast_xml_doc for the messages and let the XML
  18384. library do the XML escaping. Like I said, that's out of scope.
  18385. (closes issue ABE-2902) Reported by: Guenther Kelleter Tested by:
  18386. Guenther Kelleter Review:
  18387. http://reviewboard.digium.internal/r/365/ ........ Merged
  18388. revision 378919 from
  18389. https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
  18390. ........ Merged revisions 378933 from
  18391. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18392. revisions 378934 from
  18393. http://svn.asterisk.org/svn/asterisk/branches/11
  18394. 2013-01-11 23:05 +0000 [r378918] Joshua Colp <jcolp@digium.com>
  18395. * res/res_xmpp.c, /: Retain XMPP filters across reconnections so
  18396. external modules continue to function as expected. Previously if
  18397. an XMPP client reconnected any filters added by an external
  18398. module were lost. This issue exhibited itself with chan_motif not
  18399. receiving and reacting to Jingle signaling. (closes issue
  18400. ASTERISK-20916) Reported by: kuj ........ Merged revisions 378917
  18401. from http://svn.asterisk.org/svn/asterisk/branches/11
  18402. 2013-01-11 22:31 +0000 [r378915] David M. Lee <dlee@digium.com>
  18403. * include/asterisk/json.h (added), makeopts.in, tests/test_json.c
  18404. (added), contrib/scripts/install_prereq, res/res_json.c (added),
  18405. include/asterisk/test.h, build_tools/menuselect-deps.in,
  18406. configure, include/asterisk/autoconfig.h.in, main/Makefile,
  18407. res/res_json.exports.in (added), configure.ac: Add JSON API for
  18408. Asterisk. This provides a JSON API by pulling in and wrapping the
  18409. Jansson JSON library[1]. The Asterisk API basically mirrors the
  18410. Jansson functionality, with a few minor tweaks. * Some names have
  18411. been asteriskified to protect the innocent. * Jansson provides
  18412. both reference-stealing and reference-borrowing versions of
  18413. several API's. The Asterisk API is exclusively reference-stealing
  18414. for operations that put elements into arrays and objects. * No
  18415. support for doubles, since we usually don't need that. * Coming
  18416. along for the ride is the ast_test_validate macro, which made the
  18417. unit tests much easier to write. [1]:
  18418. http://www.digip.org/jansson/ (issue ASTERISK-20887) (closes
  18419. issue ASTERISK-20888) Review:
  18420. https://reviewboard.asterisk.org/r/2264/
  18421. 2013-01-10 02:40 +0000 [r378789-378889] Richard Mudgett <rmudgett@digium.com>
  18422. * main/channel.c: * Simplify native bridge code in
  18423. ast_channel_bridge(). * Fix an unbalanced
  18424. manager_bridge_event(unlink) call if AST_SOFTHANGUP_UNBRIDGE is
  18425. set in ast_channel_bridge(). * Make ast_channel_bridge() use
  18426. common cleanup code when leaving the bridge.
  18427. * main/channel.c: * Removed some noop code and restructured an
  18428. else-if ladder in ast_generic_bridge(). * Trivial changes in
  18429. ast_channel_bridge().
  18430. * main/channel.c: * Simple optimization of bridge_playfile(). *
  18431. Squeezed some redundancy out of update_bridge_vars(). * Wrapped
  18432. long line in __ast_change_name_nolink().
  18433. * bridges/bridge_softmix.c, bridges/bridge_multiplexed.c: Trivial
  18434. misc bridge code changes. * softmix_bridge_thread() was
  18435. redundantly initializing an 8K buffer. * Promoted a debug message
  18436. to a warning in multiplexed_add_or_remove().
  18437. * main/logger.c: Fix logger.c function definition.
  18438. * bridges/bridge_multiplexed.c, main/bridging.c,
  18439. include/asterisk/bridging_features.h, bridges/bridge_simple.c:
  18440. Trivial misc bridge code changes.
  18441. * include/asterisk/test.h, main/test.c: Tweaked
  18442. __ast_test_suite_assert_notify() and
  18443. __ast_test_suite_event_notify() to be void functions.
  18444. * include/asterisk/test.h, main/test.c: * Whitespace changes. *
  18445. Made ast_test_init() match its prototype.
  18446. * main/udptl.c, main/rtp_engine.c: * Found some more places to use
  18447. ast_channel_lock_both(). * Minor optimization in
  18448. ast_rtp_instance_early_bridge().
  18449. 2013-01-09 20:30 +0000 [r378735-378783] David M. Lee <dlee@digium.com>
  18450. * main/rtp_engine.c, /: Fix end condition in
  18451. ast_rtp_lookup_mime_multiple2. The erroneous end condition would
  18452. never include the AST_RTP_CISCO_DTMF flag in the debug output.
  18453. (closes issue ASTERISK-20772) Reported by: Xavier Hienne ........
  18454. Merged revisions 378776 from
  18455. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18456. revisions 378780 from
  18457. http://svn.asterisk.org/svn/asterisk/branches/11
  18458. * /, include/asterisk/strings.h: Move declaration of
  18459. ast_regex_string_to_regex_pattern futher down strings.h. The
  18460. prior location is before the declaration of struct ast_str, which
  18461. causes compiler warnings. (closes issue ASTERISK-20852) Reported
  18462. by: Pavel Troller Patches: strings.diff uploaded by Pavel Troller
  18463. (license 6302) ........ Merged revisions 378747 from
  18464. http://svn.asterisk.org/svn/asterisk/branches/11
  18465. * /, include/asterisk/causes.h: Replace errant tabs with spaces in
  18466. causes.h. (closes issue ASTERISK-20826) Reported by: snuffy
  18467. Patches: notabs.dif uploaded by snuffy (license 5024) ........
  18468. Merged revisions 378733 from
  18469. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18470. revisions 378734 from
  18471. http://svn.asterisk.org/svn/asterisk/branches/11
  18472. 2013-01-09 00:05 +0000 [r378688-378691] Richard Mudgett <rmudgett@digium.com>
  18473. * apps/app_queue.c, /: app_queue: Fix incorrect assertion. (issue
  18474. ASTERISK-16115) ........ Merged revisions 378689 from
  18475. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18476. revisions 378690 from
  18477. http://svn.asterisk.org/svn/asterisk/branches/11
  18478. * CHANGES, apps/app_queue.c, /, configs/queues.conf.sample,
  18479. UPGRADE.txt: app_queue: Fix multiple calls to a queue member that
  18480. is in only one queue. When ringinuse=no queue members can receive
  18481. more than one call if these calls happen at nearly the same time.
  18482. * Fix so a queue member does not receive more than one call from
  18483. a queue. NOTE: This fix does not prevent multiple calls to a
  18484. member if the member is in more than one queue. * Did some
  18485. refactoring to eliminate some code redundancy. (issue
  18486. ASTERISK-16115) Reported by: nik600 Patches:
  18487. jira_asterisk_16115_single_q_v1.8.patch (license #5621) patch
  18488. uploaded by rmudgett Modified * Revert the -r341580 and -r341599
  18489. changes adding the queues.conf check_state_unknown option as it
  18490. was added in an attempt to fix this problem. The fix did not need
  18491. to be optional. The fix should not have tried to explicitly set
  18492. the device state. Setting the device state by something other
  18493. than the device introduces a race condition. I also could not see
  18494. how the change would be effective other than delaying the
  18495. app_queue code long enough for the device state to propagate to
  18496. app_queue. ........ Merged revisions 378663 from
  18497. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18498. revisions 378683 from
  18499. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18500. revisions 378687 from
  18501. http://svn.asterisk.org/svn/asterisk/branches/11
  18502. 2013-01-06 21:37 +0000 [r378623-378634] Damien Wedhorn <voip@facts.com.au>
  18503. * channels/chan_skinny.c: Skinny blob cleanup Cleanup of red blobs
  18504. in chan_skinny and possible other small formatting issues.
  18505. Review: https://reviewboard.asterisk.org/r/2262/
  18506. * channels/chan_skinny.c: Add group and namedgroup pickup to skinny
  18507. Above says it all. Code by snuff, cleaned up by me. Review:
  18508. https://reviewboard.asterisk.org/r/2246/
  18509. * /, channels/chan_skinny.c: Rewrite skinny dialing to remove
  18510. threaded simpleswitch This rewrite changes skinny dialing from
  18511. the threaded simpleswitch to a scheduled timeout approach. There
  18512. were some underlying issues with the threaded simple switch with
  18513. occasional corruption and possible segfaults. Review:
  18514. https://reviewboard.asterisk.org/r/2240/ ........ Merged
  18515. revisions 378622 from
  18516. http://svn.asterisk.org/svn/asterisk/branches/11
  18517. 2013-01-04 23:14 +0000 [r378593] Jonathan Rose <jrose@digium.com>
  18518. * res/res_srtp.c, /: res_srtp: Prevent a crash from occurring due
  18519. to srtp_create failures in srtp_create Under some circumstances,
  18520. libsrtp's srtp_create function deallocates memory that it wasn't
  18521. initially responsible for allocating. Because we weren't
  18522. initially aware of this behavior, this memory was still used in
  18523. spite of being unallocated during the course of the
  18524. srtp_unprotect function. A while back I made a patch which would
  18525. set this value to NULL, but that exposed a possible condition
  18526. where we would then try to check a member of the struct which
  18527. would cause a segfault. In order to address these problems,
  18528. ast_srtp_unprotect will now set an error value when it ends
  18529. without a valid SRTP session which will result in the caller of
  18530. srtp_unprotect observing this error and hanging up the relevant
  18531. channel instead of trying to keep using the invalid session
  18532. address. (closes issue ASTERISK-20499) Reported by: Tootai
  18533. Review:
  18534. https://reviewboard.asterisk.org/r/2228/diff/#index_header
  18535. ........ Merged revisions 378591 from
  18536. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18537. revisions 378592 from
  18538. http://svn.asterisk.org/svn/asterisk/branches/11
  18539. 2013-01-04 22:19 +0000 [r378585] Kinsey Moore <kmoore@digium.com>
  18540. * res/pjproject/aconfigure, res/pjproject/aconfigure.ac, /,
  18541. res/pjproject/build/common.mak: Fix pjproject compilation in
  18542. certain circumstances On a fresh checkout of Asterisk 11, running
  18543. make before ./configure could cause the pjproject subdirectory to
  18544. get in an odd state that would prevent compilation. This patch by
  18545. Tilghman prevents that from occurring. (closes issue
  18546. ASTERISK-20681) Reported by: Dinesh Ramjuttun Tested by: danilo
  18547. borges, Steve Lang patches: 20121208__ccar_solved.diff.txt
  18548. uploaded by Tilghman Lesher (license 5003) ........ Merged
  18549. revisions 378582 from
  18550. http://svn.asterisk.org/svn/asterisk/branches/11
  18551. 2013-01-04 21:20 +0000 [r378565] Michael L. Young <elgueromexicano@gmail.com>
  18552. * /, channels/chan_sip.c: Fix SIP Notify Messages To Have The
  18553. Proper IP Address In The FROM Field On a multihomed server when
  18554. sending a NOTIFY message, we were not figuring out which network
  18555. should be used to contact the peer. This patch fixes the problem
  18556. by calling ast_sip_ouraddrfor() and then build_via() so that our
  18557. NOTIFY message contains the correct IP address. Also, a debug
  18558. message is being added to help follow the call-id changes that
  18559. occur. This was helpful for confirming that the IP address was
  18560. set properly since the call-id contains the IP address. It also
  18561. will be helpful for troubleshooting purposes when following a
  18562. call in the debug logs. (closes issue ASTERISK-20805) Reported
  18563. by: Bryan Hunt Tested by: Bryan Hunt, Michael L. Young Patches:
  18564. asterisk-20805-notify-ip-v2.diff uploaded by Michael L. Young
  18565. (license 5026) Review: https://reviewboard.asterisk.org/r/2255/
  18566. ........ Merged revisions 378554 from
  18567. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18568. revisions 378559 from
  18569. http://svn.asterisk.org/svn/asterisk/branches/11
  18570. 2013-01-04 21:18 +0000 [r378557] Joshua Colp <jcolp@digium.com>
  18571. * /, res/res_rtp_asterisk.c: Don't pass STUN packets through the
  18572. SRTP unprotect function. (closes issue AST-1036) Reported by:
  18573. jbigelow ........ Merged revisions 378553 from
  18574. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18575. revisions 378555 from
  18576. http://svn.asterisk.org/svn/asterisk/branches/11
  18577. 2013-01-04 16:44 +0000 [r378543] Andrew Latham <lathama@gmail.com>
  18578. * res/res_config_ldap.c: Doxygen Cleanups Baseline clean up of
  18579. formating to make room for extended documentation (issue
  18580. ASTERISK-20259)
  18581. 2013-01-03 22:14 +0000 [r378516] Michael L. Young <elgueromexicano@gmail.com>
  18582. * apps/app_queue.c, /: Fix Queue Log Reporting Every Call
  18583. COMPLETECALLER With "h" Extension Present When the "h" extension
  18584. is present within the context of the queue, all calls are being
  18585. reported COMPLETECALLER even when the agent is hanging up the
  18586. call. This patch checks to see if the agent hung-up or not
  18587. instead of only relying on checking if the queue (caller) channel
  18588. hung-up or not. It would appear that having the h extension in
  18589. the mix, the pbx goes to the h extension, "hanging-up" the queue
  18590. channel and triggering the reporting of COMPLETECALLER. (closes
  18591. issue ASTERISK-20743) Reported by: call Tested by: call, Michael
  18592. L. Young Patches: asterisk-20743-q-cmplt-caller.diff uploaded by
  18593. Michael L. Young (license 5026) Review:
  18594. https://reviewboard.asterisk.org/r/2256/ ........ Merged
  18595. revisions 378514 from
  18596. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18597. revisions 378515 from
  18598. http://svn.asterisk.org/svn/asterisk/branches/11
  18599. 2013-01-03 19:42 +0000 [r378488] Richard Mudgett <rmudgett@digium.com>
  18600. * /, channels/chan_agent.c: chan_agent: Fix wrapup time wait
  18601. response. * Made agent_cont_sleep() and agent_ack_sleep() stop
  18602. waiting if the wrapup time expires. agent_cont_sleep() had tried
  18603. but returned the wrong value to stop waiting. * Made
  18604. agent_ack_sleep() take a struct agent_pvt pointer instead of a
  18605. void pointer for better type safety. ........ Merged revisions
  18606. 378486 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  18607. ........ Merged revisions 378487 from
  18608. http://svn.asterisk.org/svn/asterisk/branches/11
  18609. 2013-01-03 18:51 +0000 [r378460] Kinsey Moore <kmoore@digium.com>
  18610. * main/channel.c, /: Add missing test event This test event was
  18611. missing from channel.c causing the dial_LS_options test to fail
  18612. intermittently because of a race condition where most code paths
  18613. emitted the test event but this one did not. The dial_LS_options
  18614. test should stop bouncing now. ........ Merged revisions 378455
  18615. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  18616. Merged revisions 378459 from
  18617. http://svn.asterisk.org/svn/asterisk/branches/11
  18618. 2013-01-03 18:47 +0000 [r378429-378458] Richard Mudgett <rmudgett@digium.com>
  18619. * /, channels/chan_agent.c: chan_agent: Misc code cleanup. * Fix
  18620. off-nominal path resource cleanup in agent_request(). * Create
  18621. agent_pvt_destroy() to eliminate inlined versions in many places.
  18622. * Pull invariant code out of loop in add_agent(). * Remove
  18623. redundant module user references in login_exec(). * Remove unused
  18624. struct agent_pvt logincallerid[] member. ........ Merged
  18625. revisions 378456 from
  18626. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18627. revisions 378457 from
  18628. http://svn.asterisk.org/svn/asterisk/branches/11
  18629. * /, channels/chan_agent.c: chan_agent: Fix agent_indicate()
  18630. locking. Avoid deadlock potential with local channels and
  18631. simplify the locking. ........ Merged revisions 378427 from
  18632. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18633. revisions 378428 from
  18634. http://svn.asterisk.org/svn/asterisk/branches/11
  18635. 2013-01-03 16:04 +0000 [r378414] Tilghman Lesher <tilghman@meg.abyt.es>
  18636. * apps/app_directory.c, contrib/realtime/mysql/voicemail.sql,
  18637. configs/voicemail.conf.sample: Add aliases to the Directory. This
  18638. is an interesting feature that allows additional strings to be
  18639. used to search the Directory, primarily intended to be used with
  18640. nicknames, but could be used with affiliations and the like.
  18641. Because the name field is used in more than one place (such as
  18642. email notifications), it is important that these additional
  18643. strings not be placed in the name field, but be specified
  18644. separately. Review: https://reviewboard.asterisk.org/r/2244/
  18645. 2013-01-03 15:40 +0000 [r378412] Joshua Colp <jcolp@digium.com>
  18646. * /, res/res_xmpp.c: Prevent exhaustion of system resources through
  18647. exploitation of event cache This patch changes res_xmpp to no
  18648. longer cache events under certain circumstances. (issue
  18649. ASTERISK-20175) Reported by: Russell Bryant, Leif Madsen, Joshua
  18650. Colp Tested by: kmoore ........ Merged revisions 378411 from
  18651. http://svn.asterisk.org/svn/asterisk/branches/11
  18652. 2013-01-03 15:37 +0000 [r378377-378410] Matthew Jordan <mjordan@digium.com>
  18653. * /, res/res_xmpp.c: Prevent crashes in res_xmpp when receiving
  18654. large messages Similar to r378287, res_xmpp was marshaling data
  18655. read from an external source onto the stack. For a sufficiently
  18656. large message, this could cause a stack overflow. This patch
  18657. modifies res_xmpp in a similar fashion to res_jabber by removing
  18658. the stack allocation, as it was unnecessary. (issue
  18659. ASTERISK-20658) Reported by: wdoekes ........ Merged revisions
  18660. 378409 from http://svn.asterisk.org/svn/asterisk/branches/11
  18661. * addons/app_mysql.c: Clean up app_mysql's application entry points
  18662. to properly parse arguments When parsing arguments, application
  18663. entry points should not attempt to directly modify the parameters
  18664. to the function. This patch properly duplicates the passed in
  18665. parameters before attempting to parse them. (issue
  18666. ASTERISK-20658) Reported by: wdoekes patches:
  18667. issueA20658_sanitize_app_mysql.patch uploaded by wdoekes (license
  18668. 5674)
  18669. * main/config.c, funcs/func_realtime.c, /: Prevent crashes from
  18670. occurring when reading from data sources with large values When
  18671. reading configuration data from an Asterisk .conf file or when
  18672. pulling data from an Asterisk RealTime backend, Asterisk was
  18673. copying the data on the stack for manipulation. Unfortunately, it
  18674. is possible to read configuration data or realtime data from some
  18675. data source that provides a large blob of characters. This could
  18676. potentially cause a crash via a stack overflow. This patch
  18677. prevents large sets of data from being read from an ARA backend
  18678. or from an Asterisk conf file. (issue ASTERISK-20658) Reported
  18679. by: wdoekes Tested by: wdoekes, mmichelson patches: *
  18680. issueA20658_dont_process_overlong_config_lines.patch uploaded by
  18681. wdoekes (license 5674) * issueA20658_func_realtime_limit.patch
  18682. uploaded by wdoekes (license 5674) ........ Merged revisions
  18683. 378375 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  18684. ........ Merged revisions 378376 from
  18685. http://svn.asterisk.org/svn/asterisk/branches/11
  18686. 2013-01-02 21:23 +0000 [r378374] Richard Mudgett <rmudgett@digium.com>
  18687. * main/features.c, include/asterisk/channel.h, main/manager.c, /:
  18688. Fix AMI redirect action with two channels failing to redirect
  18689. both channels. The AMI redirect action can fail to redirect two
  18690. channels that are bridged together. There is a race between the
  18691. AMI thread redirecting the two channels and the bridge thread
  18692. noticing that a channel is hungup from the redirects. * Made the
  18693. bridge wait for both channels to be redirected before exiting. *
  18694. Made the AMI redirect check that all required headers are present
  18695. before proceeding with the redirection. * Made the AMI redirect
  18696. require that any supplied ExtraChannel exist before proceeding.
  18697. Previously the code fell back to a single channel redirect
  18698. operation. (closes issue ASTERISK-18975) Reported by: Ben Klang
  18699. (closes issue ASTERISK-19948) Reported by: Brent Dalgleish
  18700. Patches: jira_asterisk_19948_v11.patch (license #5621) patch
  18701. uploaded by rmudgett Tested by: rmudgett, Thomas Sevestre, Deepak
  18702. Lohani, Kayode Review: https://reviewboard.asterisk.org/r/2243/
  18703. ........ Merged revisions 378356 from
  18704. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18705. revisions 378358 from
  18706. http://svn.asterisk.org/svn/asterisk/branches/11
  18707. 2013-01-02 18:11 +0000 [r378288-378322] Matthew Jordan <mjordan@digium.com>
  18708. * main/event.c, apps/app_confbridge.c,
  18709. apps/confbridge/conf_state_empty.c, funcs/func_devstate.c,
  18710. res/res_calendar.c, include/asterisk/devicestate.h,
  18711. channels/chan_local.c, /, main/ccss.c, channels/chan_sip.c,
  18712. apps/app_meetme.c, main/channel_internal_api.c,
  18713. channels/chan_agent.c, main/devicestate.c,
  18714. include/asterisk/channel.h, res/res_jabber.c, apps/app_queue.c,
  18715. channels/chan_iax2.c, main/channel.c, channels/chan_dahdi.c,
  18716. channels/chan_skinny.c, include/asterisk/event_defs.h,
  18717. main/features.c: Prevent exhaustion of system resources through
  18718. exploitation of event cache Asterisk maintains an internal cache
  18719. for devices in the event subsystem. The device state cache holds
  18720. the state of each device known to Asterisk, such that consumers
  18721. of device state information can query for the last known state
  18722. for a particular device, even if it is not part of an active
  18723. call. The concept of a device in Asterisk can include entities
  18724. that do not have a physical representation. One way that this
  18725. occurred was when anonymous calls are allowed in Asterisk. A
  18726. device was automatically created and stored in the cache for each
  18727. anonymous call that occurred; this was possible in the SIP and
  18728. IAX2 channel drivers and through channel drivers that utilized
  18729. the res_jabber/res_xmpp resource modules (Gtalk, Jingle, and
  18730. Motif). These devices are never removed from the system, allowing
  18731. anonymous calls to potentially exhaust a system's resources. This
  18732. patch changes the event cache subsystem and device state
  18733. management to no longer cache devices that are not associated
  18734. with a physical entity. (issue ASTERISK-20175) Reported by:
  18735. Russell Bryant, Leif Madsen, Joshua Colp Tested by: kmoore
  18736. patches: event-cachability-3.diff uploaded by jcolp (license
  18737. 5000) ........ Merged revisions 378303 from
  18738. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18739. revisions 378320 from
  18740. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18741. revisions 378321 from
  18742. http://svn.asterisk.org/svn/asterisk/branches/11
  18743. * main/http.c, res/res_jabber.c, channels/sip/include/sip.h, /,
  18744. channels/chan_sip.c: Resolve crashes due to large stack
  18745. allocations when using TCP Asterisk had several places where
  18746. messages received over various network transports may be copied
  18747. in a single stack allocation. In the case of TCP, since multiple
  18748. packets in a stream may be concatenated together, this can lead
  18749. to large allocations that overflow the stack. This patch modifies
  18750. those portions of Asterisk using TCP to either favor heap
  18751. allocations or use an upper bound to ensure that the stack will
  18752. not overflow: * For SIP, the allocation now has an upper limit *
  18753. For HTTP, the allocation is now a heap allocation instead of a
  18754. stack allocation * For XMPP (in res_jabber), the allocation has
  18755. been eliminated since it was unnecesary. Note that the HTTP
  18756. portion of this issue was independently found by Brandon Edwards
  18757. of Exodus Intelligence. (issue ASTERISK-20658) Reported by:
  18758. wdoekes, Brandon Edwards Tested by: mmichelson, wdoekes patches:
  18759. ASTERISK-20658_res_jabber.c.patch uploaded by mmichelson (license
  18760. 5049) issueA20658_http_postvars_use_malloc2.patch uploaded by
  18761. wdoekes (license 5674) issueA20658_limit_sip_packet_size3.patch
  18762. uploaded by wdoekes (license 5674) ........ Merged revisions
  18763. 378269 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  18764. ........ Merged revisions 378286 from
  18765. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18766. revisions 378287 from
  18767. http://svn.asterisk.org/svn/asterisk/branches/11
  18768. 2013-01-01 19:02 +0000 [r378259] Andrew Latham <lathama@gmail.com>
  18769. * contrib/scripts/install_prereq: Add UUID packages now required to
  18770. configure In ASTERISK-20726 UUID was added to Asterisk. This
  18771. commit is to add the dependancies to the install script
  18772. 2013-01-01 17:10 +0000 [r378248-378249] Sean Bright <sean@malleable.com>
  18773. * main/translate.c: Revert 378248. I changed the logic of this
  18774. function unitentionally, pointed out by file.
  18775. * main/translate.c: Bail out early when building an ast_trans_pvt
  18776. and the translator doesn't supply a 'newpvt'
  18777. 2012-12-31 14:46 +0000 [r378220] Kinsey Moore <kmoore@digium.com>
  18778. * /, channels/chan_sip.c: Ensure chan_sip rejects encrypted streams
  18779. without crypto info This ensures that Asterisk rejects encrypted
  18780. media streams (RTP/SAVP audio and video) that are missing
  18781. cryptographic keys and ensures that the incoming SDP is
  18782. consistent with RFC4568 as far as having a crypto attribute
  18783. present for any SAVP streams. Review:
  18784. https://reviewboard.asterisk.org/r/2204/ ........ Merged
  18785. revisions 378217 from
  18786. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18787. revisions 378218 from
  18788. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18789. revisions 378219 from
  18790. http://svn.asterisk.org/svn/asterisk/branches/11
  18791. 2012-12-20 21:51 +0000 [r378166] Richard Mudgett <rmudgett@digium.com>
  18792. * main/channel.c, /: Give the causes[] a struct name. ........
  18793. Merged revisions 378164 from
  18794. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18795. revisions 378165 from
  18796. http://svn.asterisk.org/svn/asterisk/branches/11
  18797. 2012-12-18 17:48 +0000 [r378122] Kinsey Moore <kmoore@digium.com>
  18798. * main/channel.c, /: Add test events for time limit-related hangups
  18799. This patch adds hangup-related test events in order to support
  18800. testing of time-limited bridges. This aids in testing the S() and
  18801. L() bridge options. (issue SWP-4713) ........ Merged revisions
  18802. 378119 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  18803. ........ Merged revisions 378120 from
  18804. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18805. revisions 378121 from
  18806. http://svn.asterisk.org/svn/asterisk/branches/11
  18807. 2012-12-17 23:10 +0000 [r378081-378095] Richard Mudgett <rmudgett@digium.com>
  18808. * main/loader.c, /: Fix potential double free when unloading a
  18809. module. ........ Merged revisions 378092 from
  18810. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18811. revisions 378093 from
  18812. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18813. revisions 378094 from
  18814. http://svn.asterisk.org/svn/asterisk/branches/11
  18815. * channels/chan_local.c, /: Make chan_local module references tied
  18816. to local_pvt lifetime. The chan_local module references were
  18817. manually tied to the existence of the ;1 and ;2 channel links. *
  18818. Made chan_local module references tied to the existence of the
  18819. local_pvt structure as well as automatically take care of the
  18820. module references. * Tweaked the wording of the local_fixup()
  18821. failure warning message to make sense. Review:
  18822. https://reviewboard.asterisk.org/r/2181/ ........ Merged
  18823. revisions 378088 from
  18824. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18825. revisions 378089 from
  18826. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18827. revisions 378090 from
  18828. http://svn.asterisk.org/svn/asterisk/branches/11
  18829. * channels/chan_local.c: chan_local: Parse dial string
  18830. consistently. * Fix local_alloc() unexpected limitation of exten
  18831. and context length from a combined length of 80 characters to a
  18832. normal 80 characters each. * Made local_alloc() and
  18833. local_devicestate() parse the same way.
  18834. 2012-12-17 20:59 +0000 [r378074] Jason Parker <jparker@digium.com>
  18835. * /, main/Makefile: Make libasteriskssl.so symlink use a relative
  18836. path. This was causing issues when using DESTDIR, since the path
  18837. to which the link pointed is not likely to exist (and not useful
  18838. to exist) on the target system. (issue ASTNOW-284) ........
  18839. Merged revisions 378073 from
  18840. http://svn.asterisk.org/svn/asterisk/branches/11
  18841. 2012-12-17 20:34 +0000 [r378072] Richard Mudgett <rmudgett@digium.com>
  18842. * channels/chan_local.c: chan_local: Misc lock and ref tweaks. *
  18843. awesome_locking() does not need to thrash the pvt lock as much. *
  18844. local_setoption() does not need to check for NULL pvt on cleanup
  18845. since it will never be NULL. * Made ref the pvt before locking
  18846. for consistency.
  18847. 2012-12-14 22:45 +0000 [r378064] Richard Mudgett <rmudgett@digium.com>
  18848. * channels/chan_agent.c: chan_agent: Remove some duplicated code.
  18849. No need to check for an agent twice. Santa does that.
  18850. 2012-12-14 22:34 +0000 [r378063] Jonathan Rose <jrose@digium.com>
  18851. * CHANGES, main/features.c, UPGRADE.txt: Features: BRIDGE_FEATURES
  18852. variable automixmonitor support and use proper party
  18853. BRIDGE_FEATURES did not previously support the automixmonitor
  18854. feature. Now it does. In addition, the BRIDGE_FEATURES variable
  18855. would not apply features to the proper party based on whether the
  18856. feature option letter was in caps or in lowercase (both ways
  18857. would apply it to the caller). Now uppercase applies to the
  18858. caller while lowercase applies to the callee (like with the dial
  18859. option)
  18860. 2012-12-14 21:35 +0000 [r378029-378039] Richard Mudgett <rmudgett@digium.com>
  18861. * apps/app_queue.c, /: app_queue: Revert bad ringinuse=no patch.
  18862. With the option ringinuse=no set, the patch committed for
  18863. ASTERISK-16115 causes non-SIP queue members to never be called
  18864. because the device state is checked after a channel is created to
  18865. determine if the member is busy. These queue members always get
  18866. the "Member %s is busy, cannot dial" message. Most channel
  18867. drivers other than chan_sip use the default device state
  18868. handling. The default device-state state is considered in use or
  18869. unknown if the channel exists or not respectively. (closes issue
  18870. ASTERISK-20801) Reported by: rmudgett Patches:
  18871. jira_asterisk_16115_revert_r370418_v1.8.patch (license #5621)
  18872. patch uploaded by rmudgett ........ Merged revisions 378036 from
  18873. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  18874. revisions 378037 from
  18875. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18876. revisions 378038 from
  18877. http://svn.asterisk.org/svn/asterisk/branches/11
  18878. * apps/app_queue.c: app_queue: Make update_status() not return
  18879. anything.
  18880. 2012-12-14 01:55 +0000 [r378006-378011] Damien Wedhorn <voip@facts.com.au>
  18881. * /, channels/chan_skinny.c: Fix skinny to recognise vmexten in
  18882. general section of conf Fixup the vmexten so if globally set in
  18883. general section will be honored by chan_skinny. Also get rid of
  18884. the 'global_' part of variable name to match regexten. (closes
  18885. issue ASTERISK-20790) Reported by: snuffy Tested by: snuffy,
  18886. myself Patches: skinny-vm.diff uploaded by snuffy (license 5024)
  18887. ........ Merged revisions 378010 from
  18888. http://svn.asterisk.org/svn/asterisk/branches/11
  18889. * channels/chan_skinny.c: Add g722 codec support to skinny (closes
  18890. issue ASTERISK-20788) Reported by: snuffy Tested by: snuffy,
  18891. myself Patches: skinny-g722.diff uploaded by snuffy (license
  18892. 5024)
  18893. 2012-12-13 21:28 +0000 [r378002] Richard Mudgett <rmudgett@digium.com>
  18894. * apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c,
  18895. apps/confbridge/conf_state.c, /,
  18896. apps/confbridge/include/confbridge.h,
  18897. include/asterisk/bridging.h: confbridge: Fix MOH on simultaneous
  18898. user entry to a new conference. When two users entered a new
  18899. conference simultaneously, one of the callers hears MOH. This
  18900. happened if two unmarked users entered simultaneously and also if
  18901. a waitmarked and a marked user entered simultaneously. * Created
  18902. a confbridge internal MOH API to eliminate the inlined MOH
  18903. handling code. Note that the conference mixing bridge needs to be
  18904. locked when actually starting/stopping MOH because there is a
  18905. small window between the conference join unsuspend MOH and
  18906. actually joining the mixing bridge. * Created the concept of
  18907. suspended MOH so it can be interrupted while conference join
  18908. announcements to the user and DTMF features can operate. *
  18909. Suspend any MOH until the user is about to actually join the
  18910. mixing bridge of the conference. This way any pre-join file
  18911. playback does not need to worry about MOH. * Made post-join
  18912. actions only play deferred entry announcement files. Changing the
  18913. user/conference state during that time is not protected or
  18914. controlled by the state machine. (closes issue ASTERISK-20606)
  18915. Reported by: Eugenia Belova Tested by: rmudgett Review:
  18916. https://reviewboard.asterisk.org/r/2232/ ........ Merged
  18917. revisions 377992 from
  18918. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18919. revisions 377993 from
  18920. http://svn.asterisk.org/svn/asterisk/branches/11
  18921. 2012-12-13 21:25 +0000 [r378001] Damien Wedhorn <voip@facts.com.au>
  18922. * /, channels/chan_skinny.c: Minor fixes for chan_skinny
  18923. Whitespace, change SUBSTATE_ONHOOK to correct SKINNY_ONHOOK and
  18924. correct len of 2 strcmp in skinny_setdebug(). (see opticron's
  18925. review on https://reviewboard.asterisk.org/r/2240/) ........
  18926. Merged revisions 377991 from
  18927. http://svn.asterisk.org/svn/asterisk/branches/11
  18928. 2012-12-13 21:20 +0000 [r378000] Sean Bright <sean@malleable.com>
  18929. * res/res_calendar_exchange.c: Make generate_exchange_uuid() always
  18930. return the passed ast_str pointer. I changed this code earlier to
  18931. return NULL if it wasn't able to generate a UUID, whereas the
  18932. earlier code would always return the ast_str that was passed in.
  18933. Switch back to returning the ast_str, only set it to the empty
  18934. string instead if UUID generation fails. We still do a validity
  18935. check later which will catch this and blow up if necessary.
  18936. 2012-12-13 21:15 +0000 [r377994] David M. Lee <dlee@digium.com>
  18937. * /: Fixed svn merge property breakage from r377986
  18938. 2012-12-13 18:28 +0000 [r377986] Damien Wedhorn <voip@facts.com.au>
  18939. * /, channels/chan_skinny.c: Fix skinny debug tab completion Review
  18940. the syntax of the 'skinny debug' command to show more than just
  18941. 'show' for options to 'skinny debug' command. (closes issue
  18942. ASTERISK-20789) Reported by: snuffy Tested by: snuffy, myself
  18943. Patches: skinny-debug.diff uploaded by snuffy (license 5024)
  18944. ........ Merged revisions 377985 from
  18945. http://svn.asterisk.org/svn/asterisk/branches/11
  18946. 2012-12-13 16:43 +0000 [r377981] David M. Lee <dlee@digium.com>
  18947. * configure.ac, configure, include/asterisk/autoconfig.h.in: Bail
  18948. configure if it can't find libuuid.
  18949. 2012-12-13 16:18 +0000 [r377977] Russell Bryant <russell@russellbryant.com>
  18950. * configure.ac, main/utils.c, configure,
  18951. include/asterisk/autoconfig.h.in: Remove compile time check
  18952. HAVE_DEV_URANDOM. The code was doing a runtime check, anyway. The
  18953. compile time check isn't always valid (cross-compiling,
  18954. packages). Review: https://reviewboard.asterisk.org/r/2245/
  18955. 2012-12-13 15:40 +0000 [r377975] Mark Michelson <mmichelson@digium.com>
  18956. * main/taskprocessor.c: Re-add taskprocessor cleanup code that was
  18957. removed by the UUID merge.
  18958. 2012-12-13 15:37 +0000 [r377974] Sean Bright <sean@malleable.com>
  18959. * res/res_calendar_exchange.c: Use the UUID API to generate and
  18960. validate UUIDs for res_calendar_exchange. Currently the
  18961. res_calendar_exchange module uses its own method of generating
  18962. UUIDs using ast_random(). Now that we have a UUID API we should
  18963. use that instead.
  18964. 2012-12-13 15:37 +0000 [r377973] Mark Michelson <mmichelson@digium.com>
  18965. * res/res_clialiases.c: The UUID commit removed changes made in
  18966. res_clialiases.c This puts back in the changes that are designed
  18967. to work around a memory leak fix in the CLI code.
  18968. 2012-12-13 15:24 +0000 [r377972] David M. Lee <dlee@digium.com>
  18969. * configure, include/asterisk/autoconfig.h.in, configure.ac: Fixed
  18970. configure.ac to look for proper uuid.h file Introduced in
  18971. r377846, the configure script was looking for uuid.h instead of
  18972. uuid/uuid.h.
  18973. 2012-12-13 15:22 +0000 [r377971] Brent Eagles <beagles@digium.com>
  18974. * configs/sip.conf.sample, channels/sip/include/sip.h,
  18975. channels/chan_sip.c: This change adds a SIP peer configuration
  18976. feature to allow the peer's configured codecs to take precedence
  18977. on an outgoing call. This change introduces a new peer
  18978. configuration property named 'ignore_requested_pref' that causes
  18979. the requested codec to be ignored when determining the preferred
  18980. codec for an outgoing call leg. The consequence is that
  18981. Asterisk's usual efforts to prefer avoiding transcoding can be
  18982. overridden on a peer-by-peer basis where appropriate.
  18983. 2012-12-13 14:28 +0000 [r377966] Kinsey Moore <kmoore@digium.com>
  18984. * /, channels/chan_sip.c: Ensure Min-SE is included in outbound
  18985. INVITEs Asterisk now includes Min-SE in outbound INVITEs when the
  18986. value is not 90 (the default) and session timers are not
  18987. disabled. This has the effect of Asterisk following RFC4028 more
  18988. closely with regard to 422 responses and preventing situations in
  18989. which Asterisk would be forced to temporarily accept a call to
  18990. tear it down based on a Session-Expires below the locally
  18991. configured Min-SE. (issue SWP-5051) Review:
  18992. https://reviewboard.asterisk.org/r/2222/ Reported-by: Kinsey
  18993. Moore Patch-by: Kinsey Moore ........ Merged revisions 377946
  18994. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  18995. Merged revisions 377947 from
  18996. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  18997. revisions 377948 from
  18998. http://svn.asterisk.org/svn/asterisk/branches/11
  18999. 2012-12-12 22:43 +0000 [r377925] Rusty Newton <rnewton@digium.com>
  19000. * sounds/Makefile, /: Incremented EXTRA_SOUNDS_VERSION in
  19001. sounds/Makefile to 1.4.12 for new Extra Sounds releases See
  19002. CHANGES-* files in English extra 1.4.12 tarballs for new sound
  19003. prompts added. (closes ASTERISK-20328) Reported by: Matt Jordan
  19004. (closes AST-755) Reported by: John Bigelow ........ Merged
  19005. revisions 377922 from
  19006. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19007. revisions 377923 from
  19008. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19009. revisions 377924 from
  19010. http://svn.asterisk.org/svn/asterisk/branches/11
  19011. 2012-12-12 04:43 +0000 [r377915] Michael L. Young <elgueromexicano@gmail.com>
  19012. * main/features.c: Convert Dynamic Features Buffer To Use ast_str
  19013. Currently, the buffer for the dynamic features list is set to a
  19014. fixed size of 128. If the list is bigger than that, it results in
  19015. the dynamic feature(s) not being recognized. This patch changes
  19016. the buffer from a fixed size to a dynamic one. (closes issue
  19017. ASTERISK-20680) Reported by: Clod Patry Tested by: Michael L.
  19018. Young Patches: asterisk-20680-dynamic-features-v2.diff uploaded
  19019. by Michael L. Young (license 5026) Review:
  19020. https://reviewboard.asterisk.org/r/2221/
  19021. 2012-12-12 00:02 +0000 [r377906-377911] Mark Michelson <mmichelson@digium.com>
  19022. * /, channels/chan_sip.c: Fix a potential deadlock in chan_sip
  19023. during transfers. The issue comes from the fact that transfers
  19024. may perform a redirecting update on a channel. The issue is that
  19025. lock inversion between the channel and its tech_pvt occurs since
  19026. the channel lock is released during the transfer process. The fix
  19027. is to move when the redirecting update occurs to a place where
  19028. neither the tech_pvt or the channel is locked so that the two can
  19029. be locked in the proper order. (closes issue ASTERISK-20708)
  19030. reported by Mark Michelson patches: ASTERISK-20708-3.patch
  19031. uploaded by Mark Michelson (License #5049) Tested by: Tim
  19032. Ringenbach at Asteria Solutions Group ........ Merged revisions
  19033. 377910 from http://svn.asterisk.org/svn/asterisk/branches/11
  19034. * main/features.c: Add test events necessary for bridging tests to
  19035. be able to properly run.
  19036. 2012-12-11 22:03 +0000 [r377884] Richard Mudgett <rmudgett@digium.com>
  19037. * main/file.c, main/http.c, main/aoc.c, main/image.c, main/cel.c,
  19038. main/timing.c, main/channel.c, main/data.c, main/stun.c, /:
  19039. Cleanup CLI commands on exit for several files. (issue
  19040. ASTERISK-20649) Reported by: Corey Farrell Patches:
  19041. unregister-cli-multiple-all.patch (license #5909) patch uploaded
  19042. by Corey Farrell ........ Merged revisions 377881 from
  19043. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19044. revisions 377882 from
  19045. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19046. revisions 377883 from
  19047. http://svn.asterisk.org/svn/asterisk/branches/11
  19048. 2012-12-11 21:53 +0000 [r377878-377880] Mark Michelson <mmichelson@digium.com>
  19049. * /: And remove svnmerge-integrated property.
  19050. * /: Remove automerge properties.
  19051. 2012-12-11 21:22 +0000 [r377867] Richard Mudgett <rmudgett@digium.com>
  19052. * main/udptl.c, /: Cleanup udptl on exit. * Cleanup CLI commands on
  19053. exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches:
  19054. udptl-shutdown-1_8-10.patch (license #5909) patch uploaded by
  19055. Corey Farrell udptl-shutdown-11-trunk.patch (license #5909) patch
  19056. uploaded by Corey Farrell Modified ........ Merged revisions
  19057. 377847 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19058. ........ Merged revisions 377848 from
  19059. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19060. revisions 377849 from
  19061. http://svn.asterisk.org/svn/asterisk/branches/11
  19062. 2012-12-11 21:04 +0000 [r377844-377846] Mark Michelson <mmichelson@digium.com>
  19063. * configure.ac, include/asterisk/uuid.h (added),
  19064. main/taskprocessor.c, tests/test_uuid.c (added), main/asterisk.c,
  19065. main/uuid.c (added), res/res_clialiases.c, /, configure,
  19066. include/asterisk/autoconfig.h.in, main/Makefile: Add UUID support
  19067. to Asterisk. This provides a common API for dealing with unique
  19068. identifiers. The API provides methods to create, parse, copy, and
  19069. stringify UUIDs. An accompanying unit test is provided that tests
  19070. all operations. (closes issue ASTERISK-20726) reported by Matt
  19071. Jordan Review: https://reviewboard.asterisk.org/r/2217
  19072. * res/res_clialiases.c, /: Fix crash that can occur if CLI
  19073. registration fails for an aliased command. A recent memory leak
  19074. fix in main/cli.c causes an ast_cli_entry's command field to be
  19075. freed and NULLed if ast_cli_register() fails. res_clialiases was
  19076. ignoring the return value of ast_cli_register() and was then
  19077. passing the NULL command off to a a hash function. This resulted
  19078. in a crash. The fix is not to ignore the erroneous return value.
  19079. If ast_cli_register() fails, then we do not continue trying to
  19080. process the current alias. ........ Merged revisions 377840 from
  19081. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19082. revisions 377842 from
  19083. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19084. revisions 377843 from
  19085. http://svn.asterisk.org/svn/asterisk/branches/11
  19086. 2012-12-11 20:46 +0000 [r377707-377841] Richard Mudgett <rmudgett@digium.com>
  19087. * main/taskprocessor.c, /: Cleanup taskprocessor on exit. * Cleanup
  19088. CLI commands on exit. (issue ASTERISK-20649) Reported by: Corey
  19089. Farrell Patches: taskprocessor-cleanup-1_8-11-trunk.patch
  19090. (license #5909) patch uploaded by Corey Farrell
  19091. taskprocessor-cleanup-10-only.patch (license #5909) patch
  19092. uploaded by Corey Farrell Modified ........ Merged revisions
  19093. 377837 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19094. ........ Merged revisions 377838 from
  19095. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19096. revisions 377839 from
  19097. http://svn.asterisk.org/svn/asterisk/branches/11
  19098. * main/pbx.c, /: Cleanup pbx on exit. * Cleanup CLI commands on
  19099. exit. * Unreference hints and statecbs containers on exit. (issue
  19100. ASTERISK-20649) Reported by: Corey Farrell Patches:
  19101. pbx-cleanup-1_8.patch (license #5909) patch uploaded by Corey
  19102. Farrell pbx-cleanup-10.patch (license #5909) patch uploaded by
  19103. Corey Farrell pbx-cleanup-11-trunk.patch (license #5909) patch
  19104. uploaded by Corey Farrell Modified ........ Merged revisions
  19105. 377806 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19106. ........ Merged revisions 377807 from
  19107. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19108. revisions 377808 from
  19109. http://svn.asterisk.org/svn/asterisk/branches/11
  19110. * /, main/logger.c: Cleanup logger on exit. * Cleanup CLI commands,
  19111. destroy verbosers and logchannels lists on exit. (issue
  19112. ASTERISK-20649) Reported by: Corey Farrell Patches:
  19113. logger-cleanup-all.patch (license #5909) patch uploaded by Corey
  19114. Farrell Modified ........ Merged revisions 377771 from
  19115. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19116. revisions 377772 from
  19117. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19118. revisions 377773 from
  19119. http://svn.asterisk.org/svn/asterisk/branches/11
  19120. * /, main/indications.c: Cleanup indications on exit. * Made
  19121. ast_unregister_indication_country() unlink the found tone zone
  19122. before selecting a new default_tone_zone to make it impossible to
  19123. select the tone zone being unregistered again. * Ringcadence is
  19124. no longer parsed twice in store_config_tone_zone(). * Cleanup CLI
  19125. commands and destroy default_tone_zone on exit. (issue
  19126. ASTERISK-20649) Reported by: Corey Farrell Patches:
  19127. indications-cleanup-all.patch (license #5909) patch uploaded by
  19128. Corey Farrell Modified ........ Merged revisions 377740 from
  19129. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19130. revisions 377741 from
  19131. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19132. revisions 377742 from
  19133. http://svn.asterisk.org/svn/asterisk/branches/11
  19134. * /, main/event.c: Cleanup event on exit. * Cleanup CLI commands on
  19135. exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches:
  19136. event_shutdown-10-only.patch (license #5909) patch uploaded by
  19137. Corey Farrell event_shutdown-1_8-11-trunk.patch (license #5909)
  19138. patch uploaded by Corey Farrell ........ Merged revisions 377708
  19139. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  19140. Merged revisions 377709 from
  19141. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19142. revisions 377710 from
  19143. http://svn.asterisk.org/svn/asterisk/branches/11
  19144. * main/dnsmgr.c, /: Cleanup dnsmgr on exit. * Cleanup dnsmgr thread
  19145. and CLI commands on exit. (issue ASTERISK-20649) Reported by:
  19146. Corey Farrell Patches: dnsmgr-cleanup-1_8.patch (license #5909)
  19147. patch uploaded by Corey Farrell dnsmgr-cleanup-10-11-trunk.patch
  19148. (license #5909) patch uploaded by Corey Farrell Modified ........
  19149. Merged revisions 377704 from
  19150. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19151. revisions 377705 from
  19152. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19153. revisions 377706 from
  19154. http://svn.asterisk.org/svn/asterisk/branches/11
  19155. 2012-12-10 16:56 +0000 [r377626-377658] Kinsey Moore <kmoore@digium.com>
  19156. * /, res/res_fax.c: Ensure ReceiveFax provides a CED tone via T.38
  19157. When using res_fax_digium, the T.38 CED tone was not being
  19158. provided properly which would cause some incoming faxes to fail.
  19159. This was not an issue with res_fax_spandsp since it does not
  19160. strictly honor the send_ced flag and sends the CED tone whenever
  19161. receiving a T.38 fax. (closes issue FAX-343) Reported-by:
  19162. Benjamin Tietz Patch-by: Kinsey Moore ........ Merged revisions
  19163. 377655 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19164. ........ Merged revisions 377656 from
  19165. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19166. revisions 377657 from
  19167. http://svn.asterisk.org/svn/asterisk/branches/11
  19168. * /, channels/chan_sip.c: Handle Session-Expires less than local
  19169. Min-SE in 200 OK Ensure that a call is immediately torn down if a
  19170. Session-Expires value received in a 200 OK is less than the local
  19171. Min-SE. This also prevents Asterisk from allowing calls with
  19172. Session-Expires below the RFC4028-mandated minimum (90s). (closes
  19173. issue ASTERISK-20653) Review:
  19174. https://reviewboard.asterisk.org/r/2237/ Patch-by: Kinsey Moore
  19175. ........ Merged revisions 377623 from
  19176. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19177. revisions 377624 from
  19178. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19179. revisions 377625 from
  19180. http://svn.asterisk.org/svn/asterisk/branches/11
  19181. 2012-12-10 07:03 +0000 [r377579-377595] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
  19182. * channels/chan_unistim.c: Add firmware information to CLI devices
  19183. listing
  19184. * channels/chan_unistim.c, /: Fix codec mismatch Fix code to send
  19185. in both rx and tx open stream messages correct codecs. Found that
  19186. on phase 0/1 phones wrong codecs cause to no audio in some
  19187. situations. (issue ASTERISK-20183) ........ Merged revisions
  19188. 377591 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19189. ........ Merged revisions 377592 from
  19190. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19191. revisions 377593 from
  19192. http://svn.asterisk.org/svn/asterisk/branches/11
  19193. * channels/chan_unistim.c, /: Remove trailing whitespaces in number
  19194. from incoming redial list. Reported by: Igor Olhovskiy ........
  19195. Merged revisions 377577 from
  19196. http://svn.asterisk.org/svn/asterisk/branches/11
  19197. 2012-12-10 01:41 +0000 [r377506-377512] Tilghman Lesher <tilghman@meg.abyt.es>
  19198. * main/xmldoc.c, /: Improve documentation by making all of the
  19199. colors used readable, no matter what the background color is.
  19200. Dark blue on a black background is unreadable, as is yellow on a
  19201. light background. This patch turns on the bright attribute for
  19202. colors when on a dark background and turns *off* the bright
  19203. attribute when the -W command line option is used (indicating a
  19204. _light_ background). This ensures that text is readable in both
  19205. cases. Patch by: tilghman Review:
  19206. https://reviewboard.asterisk.org/r/2224 ........ Merged revisions
  19207. 377509 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19208. ........ Merged revisions 377510 from
  19209. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19210. revisions 377511 from
  19211. http://svn.asterisk.org/svn/asterisk/branches/11
  19212. * addons/cdr_mysql.c, /: Remove some dead code and additionally
  19213. handle a case that wasn't handled. ........ Merged revisions
  19214. 377487 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19215. ........ Merged revisions 377504 from
  19216. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19217. revisions 377505 from
  19218. http://svn.asterisk.org/svn/asterisk/branches/11
  19219. 2012-12-09 01:23 +0000 [r377463] Joshua Colp <jcolp@digium.com>
  19220. * channels/chan_motif.c, /: Add missing support for "who hung up"
  19221. to chan_motif. (closes issue ASTERISK-20671) Reported by: Matt
  19222. Jordan Review: https://reviewboard.asterisk.org/r/2208/ ........
  19223. Merged revisions 377462 from
  19224. http://svn.asterisk.org/svn/asterisk/branches/11
  19225. 2012-12-08 00:30 +0000 [r377402-377434] Richard Mudgett <rmudgett@digium.com>
  19226. * contrib/realtime/mysql/sippeers.sql, /: Fix order of SIP
  19227. allow/disallow in MySQL contrib script. Using the contrib
  19228. sippeers.sql script to create the sippeers MySQL table would
  19229. result in being unable to place calls if you set the disallow
  19230. value to all. (closes issue ASTERISK-20756) Reported by: Andre
  19231. Luis Patches: sippeers.patch patch uploaded by Andre Luis
  19232. ........ Merged revisions 377431 from
  19233. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19234. revisions 377432 from
  19235. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19236. revisions 377433 from
  19237. http://svn.asterisk.org/svn/asterisk/branches/11
  19238. * main/astmm.c, /: MALLOC_DEBUG: Only wait if we want atexit
  19239. allocation dumps. ........ Merged revisions 377398 from
  19240. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19241. revisions 377399 from
  19242. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19243. revisions 377401 from
  19244. http://svn.asterisk.org/svn/asterisk/branches/11
  19245. 2012-12-07 22:08 +0000 [r377384] Kinsey Moore <kmoore@digium.com>
  19246. * codecs/codec_dahdi.c: codec_dahdi: Fix output of "transcoder
  19247. show" CLI command. In r306010 "Asterisk media architecture
  19248. conversion - no more format bitfields", the logic for
  19249. incrementing encoders and decoders when opening transcoder
  19250. channels was changed without making the corresponding change when
  19251. decrementing encoder / decoder channels. The result being that
  19252. when a channel was destroyed, codec_dahdi couldn't properly tell
  19253. if it was an encoder or decoder, and the default case is to
  19254. assume it was a decoder. This could result in negative numbers
  19255. for decoders in use like in: VOIP6*CLI> transcoder show 2/-2
  19256. encoders/decoders of 92 channels are in use. (closes issue
  19257. ASTERISK-19921) Patch-by: Shaun Ruffell ........ Merged revisions
  19258. 377382 from http://svn.asterisk.org/svn/asterisk/branches/10
  19259. ........ Merged revisions 377383 from
  19260. http://svn.asterisk.org/svn/asterisk/branches/11
  19261. 2012-12-07 00:00 +0000 [r377356] Richard Mudgett <rmudgett@digium.com>
  19262. * apps/confbridge/conf_config_parser.c, /, apps/app_confbridge.c:
  19263. confbridge: Fix some resource leaks on conference teardown. *
  19264. Made destroy_conference_bridge() destroy a missed ast_mutex_t and
  19265. ast_cond_t. * Made join_conference_bridge() init the
  19266. ast_mutex_t's and ast_cond_t so destroy_conference_bridge() can
  19267. destroy them unconditionally. * Made join_conference_bridge()
  19268. abort if the new conference could not be added to the conferences
  19269. container. * Made leave_conference() discard any post-join
  19270. actions if join_conference_bridge() had to abort early. * Made
  19271. the join_conference_bridge() diagnostic messages better describe
  19272. what happened. * Renamed leave_conference_bridge() to
  19273. leave_conference() and made it only take a conference user
  19274. pointer. The conference pointer was redundant. * Made
  19275. conf_bridge_profile_copy() use struct copy instead of memcpy(). *
  19276. No need to lock the conference in start_conf_record_thread()
  19277. since all of the callers already have it locked. ........ Merged
  19278. revisions 377354 from
  19279. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19280. revisions 377355 from
  19281. http://svn.asterisk.org/svn/asterisk/branches/11
  19282. 2012-12-06 17:29 +0000 [r377329-377341] Russell Bryant <russell@russellbryant.com>
  19283. * /: Recorded merge of revisions 377340 from
  19284. http://svn.asterisk.org/svn/asterisk/branches/11 ........ Add CLI
  19285. tab completion to 'acl show'. The 'acl show' CLI command allows
  19286. you to show the details about a specific named ACL in acl.conf.
  19287. This patch adds tab completion to the command. Review:
  19288. https://reviewboard.asterisk.org/r/2230/
  19289. * main/named_acl.c: Minor code cleanup in named_acl.c. This patch
  19290. makes a few little cleanups to named_acl.c. A couple non-public
  19291. functions were made static and an opening brace for a function
  19292. was moved to its own line, per the coding guidelines.
  19293. * main/named_acl.c: Add CLI tab completion to 'acl show'. The 'acl
  19294. show' CLI command allows you to show the details about a specific
  19295. named ACL in acl.conf. This patch adds tab completion to the
  19296. command. Review: https://reviewboard.asterisk.org/r/2230/
  19297. 2012-12-06 14:26 +0000 [r377324] Matthew Jordan <mjordan@digium.com>
  19298. * main/manager.c, /: Fix memory leak in 'manager show event' when
  19299. command entered incorrectly When the CLI command 'manager show
  19300. event' was run incorrectly and its usage instructions returned, a
  19301. reference to the event container was leaked. This would prevent
  19302. the container from being reclaimed when Asterisk exits. We now
  19303. properly decrement the count on the ao2 object using the nifty
  19304. RAII_VAR macro. Thanks to Russell for helping me stumble on this,
  19305. and Terry for writing that ridiculously helpful macro. ........
  19306. Merged revisions 377319 from
  19307. http://svn.asterisk.org/svn/asterisk/branches/11
  19308. 2012-12-05 17:17 +0000 [r377263] Jonathan Rose <jrose@digium.com>
  19309. * /, res/res_srtp.c: res_srtp: Fix a crash caused by srtp_dealloc
  19310. on an already dealloced session When srtp_create fails, the
  19311. session may be dealloced or just not alloced. At the same time
  19312. though, the session pointer might not be set to NULL in this
  19313. process and attempting to srtp_dealloc it again will cause a
  19314. segfault. This patch checks for failure of srtp_create and sets
  19315. the session pointer to NULL if it fails. (closes issue
  19316. ASTERISK-20499) Reported by: tootai Review:
  19317. https://reviewboard.asterisk.org/r/2228/ ........ Merged
  19318. revisions 377256 from
  19319. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19320. revisions 377261 from
  19321. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19322. revisions 377262 from
  19323. http://svn.asterisk.org/svn/asterisk/branches/11
  19324. 2012-12-05 16:51 +0000 [r377260] Joshua Colp <jcolp@digium.com>
  19325. * /, channels/chan_sip.c: Fix a SIP request memory leak with TLS
  19326. connections. During the TLS re-work in chan_sip some TLS specific
  19327. code was moved into a separate function. This function operates
  19328. on a copy of the incoming SIP request. This copy was never
  19329. deinitialized causing a memory leak for each request processed.
  19330. This function is now given a SIP request structure which it can
  19331. use to copy the incoming request into. This reduces the amount of
  19332. memory allocations done since the internal allocated components
  19333. are reused between packets and also ensures the SIP request
  19334. structure is deinitialized when the TLS connection is torn down.
  19335. (closes issue ASTERISK-20763) Reported by: deti ........ Merged
  19336. revisions 377257 from
  19337. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19338. revisions 377258 from
  19339. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19340. revisions 377259 from
  19341. http://svn.asterisk.org/svn/asterisk/branches/11
  19342. 2012-12-05 02:23 +0000 [r377214-377246] Richard Mudgett <rmudgett@digium.com>
  19343. * include/asterisk/_private.h, main/asterisk.c, main/format.c:
  19344. Remove init_framer(). It no longer does anything.
  19345. * main/format.c, /: Fix registering core show codecs/codec CLI
  19346. commands twice. ........ Merged revisions 377241 from
  19347. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19348. revisions 377244 from
  19349. http://svn.asterisk.org/svn/asterisk/branches/11
  19350. * apps/confbridge/conf_config_parser.c, /: confbridge: Fix several
  19351. small issues. * Made func_confbridge_helper() allow an empty
  19352. value when setting options. You previously could not
  19353. Set(CONFBRIDGE(user,pin)=) and clear the configured pin from the
  19354. dialplan. * Made func_confbridge_helper() handle its datastore
  19355. better if multiple threads attempt to set the first CONFBRIDGE
  19356. option value on the channel. * Made the func_confbridge_helper()
  19357. only output one diagnostic message concerning the option. * Made
  19358. the bridge video_mode able to repeatedly change in the config
  19359. file and CONFBRIDGE dialplan function. The video_mode option
  19360. values are an enum and not independent of each other. * Made
  19361. handle_cli_confbridge_show_bridge_profile() better handle the
  19362. video_mode option. * Simplified datastore handling code in
  19363. conf_find_user_profile() and conf_find_bridge_profile(). (closes
  19364. issue ASTERISK-20655) Reported by: Birger "WIMPy" Harzenetter
  19365. ........ Merged revisions 377227 from
  19366. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19367. revisions 377228 from
  19368. http://svn.asterisk.org/svn/asterisk/branches/11
  19369. * /, apps/app_confbridge.c: confbridge: Update online XML
  19370. documentation. ........ Merged revisions 377212 from
  19371. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19372. revisions 377213 from
  19373. http://svn.asterisk.org/svn/asterisk/branches/11
  19374. 2012-12-04 13:01 +0000 [r377196] Russell Bryant <russell@russellbryant.com>
  19375. * contrib/scripts/install_prereq, /: Add libuuid to install_prereq
  19376. for Fedora. I ran this script and my build failed. pjproject
  19377. requires this. ........ Merged revisions 377195 from
  19378. http://svn.asterisk.org/svn/asterisk/branches/11
  19379. 2012-12-03 23:00 +0000 [r377040-377168] Richard Mudgett <rmudgett@digium.com>
  19380. * /, main/asterisk.c: Cleanup ast_run_atexits() atexits list. *
  19381. Convert atexits list to a mutex instead of a rd/wr lock. The lock
  19382. is only write locked. * Move CLI verbose Asterisk ending message
  19383. to where AMI message is output in really_quit() to avoid further
  19384. surprises about using stuff already shutdown. (issue
  19385. ASTERISK-20649) Reported by: Corey Farrell ........ Merged
  19386. revisions 377165 from
  19387. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19388. revisions 377166 from
  19389. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19390. revisions 377167 from
  19391. http://svn.asterisk.org/svn/asterisk/branches/11
  19392. * include/asterisk/_private.h, main/stdtime/localtime.c,
  19393. main/asterisk.c, /: Cleanup core main on exit. * Cleanup time
  19394. zones on exit. * Make exit clean/unclean report consistent for
  19395. AMI and CLI in really_quit(). (issue ASTERISK-20649) Reported by:
  19396. Corey Farrell Patches: core-cleanup-1_8-10.patch (license #5909)
  19397. patch uploaded by Corey Farrell core-cleanup-11-trunk.patch
  19398. (license #5909) patch uploaded by Corey Farrell Modified ........
  19399. Merged revisions 377135 from
  19400. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19401. revisions 377136 from
  19402. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19403. revisions 377137 from
  19404. http://svn.asterisk.org/svn/asterisk/branches/11
  19405. * main/config.c, /: Cleanup config cache on exit. (issue
  19406. ASTERISK-20649) Reported by: Corey Farrell Patches:
  19407. config-cleanup-all.patch (license #5909) patch uploaded by Corey
  19408. Farrell ........ Merged revisions 377104 from
  19409. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19410. revisions 377105 from
  19411. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19412. revisions 377106 from
  19413. http://svn.asterisk.org/svn/asterisk/branches/11
  19414. * main/cli.c, /: Cleanup CLI resources on exit and CLI command
  19415. registration errors. (issue ASTERISK-20649) Reported by: Corey
  19416. Farrell Patches: cli-leaks-1_8-10.patch (license #5909) patch
  19417. uploaded by Corey Farrell cli-leaks-11-trunk.patch (license
  19418. #5909) patch uploaded by Corey Farrell Modified ........ Merged
  19419. revisions 377073 from
  19420. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19421. revisions 377074 from
  19422. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19423. revisions 377075 from
  19424. http://svn.asterisk.org/svn/asterisk/branches/11
  19425. * main/cdr.c, /: Cleanup CDR resources on exit. * Simplify
  19426. do_reload() return handling since it never returned anything
  19427. other than 0. (issue ASTERISK-20649) Reported by: Corey Farrell
  19428. Patches: cdr-cleanup-1_8.patch (license #5909) patch uploaded by
  19429. Corey Farrell cdr-cleanup-10-11-trunk.patch (license #5909) patch
  19430. uploaded by Corey Farrell Modified ........ Merged revisions
  19431. 377069 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19432. ........ Merged revisions 377070 from
  19433. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19434. revisions 377071 from
  19435. http://svn.asterisk.org/svn/asterisk/branches/11
  19436. * /, main/ccss.c: Fix CCSS CLI commands and logger level not
  19437. unregistered. (issue ASTERISK-20649) Reported by: Corey Farrell
  19438. Patches: ccss-cleanup-all.patch (license #5909) patch uploaded by
  19439. Corey Farrell ........ Merged revisions 377037 from
  19440. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19441. revisions 377038 from
  19442. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19443. revisions 377039 from
  19444. http://svn.asterisk.org/svn/asterisk/branches/11
  19445. 2012-12-03 16:45 +0000 [r377035] Olle Johansson <oej@edvina.net>
  19446. * res/res_rtp_asterisk.c: Formatting fixes
  19447. 2012-12-03 14:56 +0000 [r377022] Joshua Colp <jcolp@digium.com>
  19448. * channels/chan_motif.c, /: Fix an RTP instance reference count
  19449. leak in chan_motif. When setting up an RTP instance the RTCP
  19450. portion of the instance keeps a reference to the instance itself.
  19451. In order to release this reference and stop RTCP the stop API
  19452. call must be called before destroying the instance. (closes issue
  19453. ASTERISK-20751) Reported by: joshoa ........ Merged revisions
  19454. 377021 from http://svn.asterisk.org/svn/asterisk/branches/11
  19455. 2012-12-03 14:46 +0000 [r376998-377018] Olle Johansson <oej@edvina.net>
  19456. * channels/chan_sip.c: Move functions to AFTER the block of forward
  19457. declarations of functions. It was a mess. The first part of
  19458. chan_sip.c is constants, declarations, structures and stuff, then
  19459. forward declarations and then actual code. It's still a mess, but
  19460. a bit less messy ;-)
  19461. * channels/chan_sip.c, res/res_rtp_asterisk.c: Formatting changes
  19462. Found a large amount of missing {} in the code before patching in
  19463. another branch
  19464. 2012-12-01 00:47 +0000 [r376984] Joshua Colp <jcolp@digium.com>
  19465. * configs/motif.conf.sample, /, channels/chan_motif.c: Tweak
  19466. extension used for incoming calls received on Motif. Based on
  19467. feedback from numerous individuals this patch tweaks incoming
  19468. calls to first look for an extension with the name of the
  19469. endpoint. If no such extension exists the call will silently fall
  19470. back to the "s" extension as it previously did. ........ Merged
  19471. revisions 376983 from
  19472. http://svn.asterisk.org/svn/asterisk/branches/11
  19473. 2012-11-30 21:38 +0000 [r376953] Richard Mudgett <rmudgett@digium.com>
  19474. * /, channels/misdn/isdn_lib.c: chan_misdn: Fix sending
  19475. RELEASE_COMPLETE in response to SETUP. Fix sending a
  19476. RELEASE_COMPLETE in response to a SETUP if chan_misdn does not
  19477. have a B channel available to assign to the call. (closes issue
  19478. ABE-2869) Reported by: Guenther Kelleter Patches:
  19479. setup-reject_2.diff (license #6372) patch uploaded by Guenther
  19480. Kelleter Modified ........ Merged revision 376949 from
  19481. https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
  19482. ........ Merged revisions 376950 from
  19483. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19484. revisions 376951 from
  19485. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19486. revisions 376952 from
  19487. http://svn.asterisk.org/svn/asterisk/branches/11
  19488. 2012-11-30 17:08 +0000 [r376922] Sean Bright <sean@malleable.com>
  19489. * /, funcs/func_volume.c: Minor spelling fix to the VOLUME
  19490. documentation. ........ Merged revisions 376919 from
  19491. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19492. revisions 376920 from
  19493. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19494. revisions 376921 from
  19495. http://svn.asterisk.org/svn/asterisk/branches/11
  19496. 2012-11-30 16:56 +0000 [r376918] Mark Michelson <mmichelson@digium.com>
  19497. * /, channels/chan_sip.c: Fix potential crashes during SIP attended
  19498. transfers. The principal behind this patch is simple. During a
  19499. transfer, we manipulate channels that are owned by a separate
  19500. thread than the one we currently are running in, so it makes
  19501. sense that we need to grab a reference to the channels so that
  19502. they cannot disappear out from under us. In the wild, crashes
  19503. were sometimes seen when the transferring party would hang up the
  19504. call before the transfer target answered the call. The most
  19505. common place to see the crash occur was when attempting to send a
  19506. connected line update to the transferer channel. (closes issue
  19507. ASTERISK-20226) Reported by Jared Smith Patches:
  19508. ASTERISK-20226.patch uploaded by Mark Michelson (License #5049)
  19509. Tested by: Jared Smith ........ Merged revisions 376901 from
  19510. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19511. revisions 376916 from
  19512. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19513. revisions 376917 from
  19514. http://svn.asterisk.org/svn/asterisk/branches/11
  19515. 2012-11-29 23:01 +0000 [r376867-376871] Richard Mudgett <rmudgett@digium.com>
  19516. * channels/chan_local.c, /: chan_local: Fix local_pvt ref leak in
  19517. local_devicestate(). Regression introduced by ASTERISK-20390 fix.
  19518. (closes issue ASTERISK-20769) Reported by: rmudgett Tested by:
  19519. rmudgett ........ Merged revisions 376868 from
  19520. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19521. revisions 376869 from
  19522. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19523. revisions 376870 from
  19524. http://svn.asterisk.org/svn/asterisk/branches/11
  19525. * /, channels/chan_sip.c: Fix compile error. (issue ASTERISK-20724)
  19526. ........ Merged revisions 376864 from
  19527. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19528. revisions 376865 from
  19529. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19530. revisions 376866 from
  19531. http://svn.asterisk.org/svn/asterisk/branches/11
  19532. 2012-11-29 21:58 +0000 [r376837] Michael L. Young <elgueromexicano@gmail.com>
  19533. * /, channels/chan_sip.c: Improve Code Readability And Fix Setting
  19534. natdetected Flag For 1.8, 10, 11 and trunk we are are improving
  19535. the code readability. For 11 and trunk, auto nat detection was
  19536. added. The natdetected flag was being set to 1 when the host
  19537. address in the VIA header did not specifiy a port. This patch
  19538. fixes this by setting the port on the temporary sock address used
  19539. to SIP_STANDARD_PORT in order for the sock address comparison to
  19540. work properly. (closes issue ASTERISK-20724) Reported by: Michael
  19541. L. Young Patches: asterisk-20724-set-port-v2.diff uploaded by
  19542. Michael L. Young (license 5026) Review:
  19543. https://reviewboard.asterisk.org/r/2206/ ........ Merged
  19544. revisions 376834 from
  19545. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19546. revisions 376835 from
  19547. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19548. revisions 376836 from
  19549. http://svn.asterisk.org/svn/asterisk/branches/11
  19550. 2012-11-29 17:16 +0000 [r376821] David M. Lee <dlee@digium.com>
  19551. * main/utils.c: Fixed ast_random's comment about locking. The
  19552. original comment was separated from the code at some point, and
  19553. didn't reflect the use of libc's other than glibc for Linux.
  19554. 2012-11-29 16:44 +0000 [r376820] Pedro Kiefer <pedro@kiefer.com.br>
  19555. * channels/chan_sip.c: Fix chan_sip websocket payload handling
  19556. Websocket by default doesn't return an ast_str for the payload
  19557. received. When converting it to an ast_str on chan_sip the last
  19558. character was being omitted, because ast_str functions expects
  19559. that the given length includes the trailing 0x00. payload_len
  19560. only has the actual string length without counting the trailing
  19561. zero. For most cases this passed unnoticed as most of SIP
  19562. messages ends with \r\n. (closes issue ASTERISK-20745) Reported
  19563. by: Iñaki Baz Castillo Review:
  19564. https://reviewboard.asterisk.org/r/2219/
  19565. 2012-11-29 00:48 +0000 [r376761-376791] Richard Mudgett <rmudgett@digium.com>
  19566. * main/astmm.c, main/asterisk.c, /: Add MALLOC_DEBUG atexit
  19567. unreleased malloc memory summary. * Adds the following CLI
  19568. commands to control MALLOC_DEBUG reporting of unreleased malloc
  19569. memory when Asterisk is shut down. memory atexit list on memory
  19570. atexit list off memory atexit summary byline memory atexit
  19571. summary byfunc memory atexit summary byfile memory atexit summary
  19572. off * Made check all remaining allocated region blocks atexit for
  19573. fence violations. * Increased the allocated region hash table
  19574. size by about three times. It still isn't large enough
  19575. considering the number of malloced blocks Asterisk uses. * Made
  19576. CLI "memory show allocations anomalies" use
  19577. regions_check_all_fences(). Review:
  19578. https://reviewboard.asterisk.org/r/2196/ ........ Merged
  19579. revisions 376788 from
  19580. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19581. revisions 376789 from
  19582. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19583. revisions 376790 from
  19584. http://svn.asterisk.org/svn/asterisk/branches/11
  19585. * /, main/astmm.c: Enhance MALLOC_DEBUG CLI commands. * Fixed CLI
  19586. "memory show allocations" misspelling of anomalies option. The
  19587. command will still accept the original misspelling. *
  19588. Miscellaneous tweaks to CLI "memory show allocations" command
  19589. output format. * Made CLI "memory show summary" summarize by line
  19590. number instead of by function if a filename is given. * Made CLI
  19591. "memory show summary" sort its output by filename or
  19592. function-name/line-number depending upon request. * Miscellaneous
  19593. tweaks to CLI "memory show summary" command output format.
  19594. ........ Merged revisions 376758 from
  19595. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19596. revisions 376759 from
  19597. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19598. revisions 376760 from
  19599. http://svn.asterisk.org/svn/asterisk/branches/11
  19600. 2012-11-28 16:47 +0000 [r376728] Jonathan Rose <jrose@digium.com>
  19601. * main/manager.c, /: manager: Make challenge work with
  19602. allowmultiplelogin=no Prior to this patch, challenge would yield
  19603. a multiple logins error if used without providing the username
  19604. (which isn't really supposed to be an argument to challenge) if
  19605. allowmultiplelogin was set to no because allowmultiplelogin finds
  19606. a user with a zero length login name. This check is simply
  19607. disabled for the challenge action when the username is empty by
  19608. this patch. (closes issue ASTERISK-20677) Reported by: Vladimir
  19609. Patches: challenge_action_nomultiplelogin.diff uploaded by
  19610. Jonathan Rose (license 6182) ........ Merged revisions 376725
  19611. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  19612. Merged revisions 376726 from
  19613. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19614. revisions 376727 from
  19615. http://svn.asterisk.org/svn/asterisk/branches/11
  19616. 2012-11-28 00:13 +0000 [r376630-376691] Richard Mudgett <rmudgett@digium.com>
  19617. * UPGRADE.txt, main/pbx.c, /: Fix extension matching with the '-'
  19618. char. The '-' char is supposed to be ignored by the dialplan
  19619. extension matching. Unfortunately, it's treatment is not handled
  19620. consistently throughout the extension matching code. * Made the
  19621. old exten matching code consistently ignore '-' chars. * Made the
  19622. old exten matching code consistently handle case in the matching.
  19623. * Made ignore empty character sets. * Fixed ast_extension_cmp()
  19624. to return -1, 0, or 1 as documented. The only user of it in
  19625. pbx_lua.c was testing for -1. It was originally returning the
  19626. strcmp() value for less than which is not usually going to be -1.
  19627. * Fix character set sorting if the sets have the same number of
  19628. characters and start with the same character. Character set [0-9]
  19629. now sorts before [02-9a] as originally intended. * Updated some
  19630. extension label and priority already in use warnings to also
  19631. indicate if the extension is aliased. (closes issue
  19632. ASTERISK-19205) Reported by: Philippe Lindheimer, Birger "WIMPy"
  19633. Harzenetter Tested by: rmudgett Review:
  19634. https://reviewboard.asterisk.org/r/2201/ ........ Merged
  19635. revisions 376688 from
  19636. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19637. revisions 376689 from
  19638. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19639. revisions 376690 from
  19640. http://svn.asterisk.org/svn/asterisk/branches/11
  19641. * /, apps/app_celgenuserevent.c, pbx/pbx_dundi.c,
  19642. addons/res_config_mysql.c: Remove unnecessary channel module
  19643. references. * Removed call to ast_module_user_hangup_all() in
  19644. res_config_mysql.c since it is effectively a noop. No channels
  19645. can attach a reference to that module. * Removed call to
  19646. ast_module_user_hangup_all() in app_celgenuserevent.c. The caller
  19647. of unload_module() has already called it. * Removed redundant
  19648. channel module references in pbx_dundi.c. The registered dialplan
  19649. function callback dispatchers for the read/read2/write callbacks
  19650. already reference the module before calling. * pbx_dundi: Moved
  19651. unregistering CLI commands, DUNDi switch, and dialplan functions
  19652. to the first thing the unload_module() does. This will reduce the
  19653. chance of new channels using DUNDi services while the module is
  19654. being torn down. ........ Merged revisions 376657 from
  19655. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19656. revisions 376658 from
  19657. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19658. revisions 376659 from
  19659. http://svn.asterisk.org/svn/asterisk/branches/11
  19660. * include/asterisk/linkedlists.h, /: Made AST_LIST_REMOVE() simpler
  19661. and use better names. * Update doxygen of AST_LIST_REMOVE().
  19662. ........ Merged revisions 376627 from
  19663. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19664. revisions 376628 from
  19665. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19666. revisions 376629 from
  19667. http://svn.asterisk.org/svn/asterisk/branches/11
  19668. 2012-11-23 00:02 +0000 [r376589] Matthew Jordan <mjordan@digium.com>
  19669. * main/lock.c, /, main/logger.c, include/asterisk/lock.h:
  19670. Re-initialize logmsgs mutex upon logger initialization to prevent
  19671. lock errors Similar to the patch that moved the fork earlier in
  19672. the startup sequence to prevent mutex errors in the recursive
  19673. mutex surrounding the read/write thread registration lock, this
  19674. patch re-initializes the logmsgs mutex. Part of the start up
  19675. sequence before forking the process into the background includes
  19676. reading asterisk.conf; this has to occur prior to the call to
  19677. daemon in order to read startup parameters. When reading in a
  19678. conf file, log statements can be generated. Since this can't be
  19679. avoided, the mutex instead is re-initialized to ensure a reset of
  19680. any thread tracking information. This patch also includes some
  19681. additional debugging to catch errors when locking or unlocking
  19682. the recursive mutex that surrounds locks when the DEBUG_THREADS
  19683. build option is enabled. DO_CRASH or THREAD_CRASH will cause an
  19684. abort() if a mutex error is detected. (issue ASTERISK-19463)
  19685. Reported by: mjordan Tesetd by: mjordan ........ Merged revisions
  19686. 376586 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19687. ........ Merged revisions 376587 from
  19688. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19689. revisions 376588 from
  19690. http://svn.asterisk.org/svn/asterisk/branches/11
  19691. 2012-11-21 18:33 +0000 [r376575] Richard Mudgett <rmudgett@digium.com>
  19692. * channels/chan_iax2.c, main/astobj2.c, include/asterisk/test.h,
  19693. main/channel.c, include/asterisk/astobj2.h, main/test.c,
  19694. tests/test_astobj2.c: Add red-black tree container type to
  19695. astobj2. * Add red-black tree container type. * Add CLI command
  19696. "astobj2 container dump <name>" * Added ao2_container_dump() so
  19697. the container could be dumped by other modules for debugging
  19698. purposes. * Changed ao2_container_stats() so it can be used by
  19699. other modules like ao2_container_check() for debugging purposes.
  19700. * Updated the unit tests to check red-black tree containers.
  19701. (closes issue ASTERISK-19970) Reported by: rmudgett Tested by:
  19702. rmudgett Review: https://reviewboard.asterisk.org/r/2110/
  19703. 2012-11-20 22:06 +0000 [r376562] David M. Lee <dlee@digium.com>
  19704. * res/res_http_websocket.c, /: Added missing newlines to websocket
  19705. ast_logs. Without these newlines, log messages just continue
  19706. tacking onto the same line, and do not flush immediately.
  19707. ........ Merged revisions 376561 from
  19708. http://svn.asterisk.org/svn/asterisk/branches/11
  19709. 2012-11-20 19:09 +0000 [r376551] Mark Michelson <mmichelson@digium.com>
  19710. * channels/sip/include/sip.h, /, channels/chan_sip.c: Add "Require:
  19711. timer" to 200 OK responses when appropriate. The method by which
  19712. the Require header is added to 200 responses is inspired by the
  19713. method that Olle Johansson uses in his darjeeling-prack branch.
  19714. (closes issue ASTERISK-20570) Reported by Matt Jordan, at the
  19715. behest of Olle Johansson Review:
  19716. https://reviewboard.asterisk.org/r/2172 ........ Merged revisions
  19717. 376521 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19718. ........ Merged revisions 376522 from
  19719. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19720. revisions 376550 from
  19721. http://svn.asterisk.org/svn/asterisk/branches/11
  19722. 2012-11-20 17:39 +0000 [r376541] Alec L Davis <sivad.a@paradise.net.nz>
  19723. * /, channels/chan_sip.c: Reduce CLI spam of "Extension Changed"
  19724. device state messages. Asterisk 11 follows RFC3265 that states
  19725. that after every subscribe or resubscribe a notify should be
  19726. sent. Thus the console if filled continuously with the following
  19727. after every subscribe; == Extension Changed 8512[phones] new
  19728. state IDLE for Notify User cisco1 In Asterisk 1.8 only changes
  19729. would be sent. Thus only when a device state changed was anything
  19730. emitted to the console. fix: Only print to console when device
  19731. state isn't forced. (closes issue ASTERISK-20706) Reported by:
  19732. alecdavis Tested by: alecdavis alecdavis (license 585) ........
  19733. Merged revisions 376540 from
  19734. http://svn.asterisk.org/svn/asterisk/branches/11
  19735. 2012-11-19 20:03 +0000 [r376472] Walter Doekes <walter+asterisk@wjd.nu>
  19736. * main/indications.c, /, channels/chan_sip.c,
  19737. main/security_events.c: Fix most leftover non-opaque ast_str
  19738. uses. Instead of calling str->str, one should use
  19739. ast_str_buffer(str). Same goes for str->used as
  19740. ast_str_strlen(str) and str->len as ast_str_size(str). Review:
  19741. https://reviewboard.asterisk.org/r/2198 ........ Merged revisions
  19742. 376469 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19743. ........ Merged revisions 376470 from
  19744. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19745. revisions 376471 from
  19746. http://svn.asterisk.org/svn/asterisk/branches/11
  19747. 2012-11-19 02:14 +0000 [r376416-376457] Matthew Jordan <mjordan@digium.com>
  19748. * tests/test_astobj2.c: Fix uninitialized in this function error
  19749. With some versions of gcc, n_buckets will be flagged as being
  19750. uninitialized before use. While its technically impossible (since
  19751. the switch statement, even without a default, accounts for all
  19752. possibilities), we'll initialize the variable to 0 anyway.
  19753. * main/asterisk.c, /, main/utils.c: Reorder startup sequence to
  19754. prevent lockups when process is sent to background Although it is
  19755. very rare and timing dependent, the potential exists for the call
  19756. to 'daemon' to cause what appears to be a deadlock in Asterisk
  19757. during startup. This can occur when a recursive mutex is obtained
  19758. prior to the daemon call executing. Since daemon uses fork to
  19759. send the process into the background, any threading primitives
  19760. are unsafe to re-use after the call. Implementations of pthread
  19761. recursive mutexes are highly likely to store the thread
  19762. identifier of the thread that previously obtained the mutex. If
  19763. the mutex was locked prior to the fork, a subsequent unlock
  19764. operation will potentially fail as the thread identifier is no
  19765. longer valid. Since the mutex is still locked, all subsequent
  19766. attempts to grab the mutex by other threads will block. This
  19767. behavior exhibited itself most often when DEBUG_THREADS was
  19768. enabled, as this compile time option surrounds the mutexes in
  19769. Asterisk with another recursive mutex that protects the storage
  19770. of thread related information. This made it much more likely that
  19771. a recursive mutex would be obtained prior to daemon and unlocked
  19772. after the call. This patch does the following: a) It backports a
  19773. patch from Asterisk 11 that prevents the spawning of the
  19774. localtime monitoring thread. This thread is now spawned after
  19775. Asterisk has fully booted. b) It re-orders the startup sequence
  19776. to call daemon earlier during Asterisk startup. This limits the
  19777. potential of threading primitives being accessed by
  19778. initialization calls before daemon is called. c) It removes calls
  19779. to ast_verbose/ast_log/etc. prior to daemon being called.
  19780. Developers should send error messages directly to stderr prior to
  19781. daemon, as calls to ast_log may access recursive mutexes that
  19782. store thread related information. d) It reorganizes when thread
  19783. local storage is created for storing lock information during the
  19784. creation of threads. Prior to this patch, the read/write lock
  19785. protecting the list of threads in ast_register_thread would
  19786. utilize the lock in the thread local storage prior to it being
  19787. initialized; this patch prevents that. On a very related note,
  19788. this patch will *greatly* improve the stability of the Asterisk
  19789. Test Suite. Review: https://reviewboard.asterisk.org/r/2197
  19790. (closes issue ASTERISK-19463) Reported by: mjordan Tested by:
  19791. mjordan ........ Merged revisions 376428 from
  19792. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19793. revisions 376431 from
  19794. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19795. revisions 376441 from
  19796. http://svn.asterisk.org/svn/asterisk/branches/11
  19797. * apps/confbridge/conf_state.c, /: Add a test event that reports
  19798. changes in ConfBridge state This patch adds a test event to
  19799. ConfBridge that reports transitions between states in ConfBridge.
  19800. This is used by tests in the Asterisk Test Suite that verify
  19801. state changes based on the entering/leaving of conference
  19802. participants. ........ Merged revisions 376414 from
  19803. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19804. revisions 376415 from
  19805. http://svn.asterisk.org/svn/asterisk/branches/11
  19806. 2012-11-16 00:15 +0000 [r376341-376345] David M. Lee <dlee@digium.com>
  19807. * /, utils/extconf.c: Fixed extconf.c breakage introduced in
  19808. r376306. To quote wdoekes: > Note that I'm not confirming
  19809. legitimacy of having that file in tree at > all. Is anyone using
  19810. aelparse/conf2ael? ........ Merged revisions 376340 from
  19811. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19812. revisions 376342 from
  19813. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19814. revisions 376343 from
  19815. http://svn.asterisk.org/svn/asterisk/branches/11
  19816. * /: Somehow I put in svn-1.6 merge information. Oops.
  19817. * utils/Makefile, tests/test_astobj2_thrash.c (added),
  19818. utils/utils.xml, /, utils/hashtest.c (removed),
  19819. tests/test_hashtab_thrash.c (added), utils/hashtest2.c (removed),
  19820. include/asterisk/hashtab.h: Migrate hashtest/hashtest2 to be unit
  19821. tests. Both hashtest and hashtest2 are manual testing apps that
  19822. thrash hash tables (hashtab and ao2 containers, respectively), by
  19823. spinning up several threads that randomly insert, delete, lookup
  19824. and iterate over the hash table. If the app doesn't crash, the
  19825. hash table probably passes the test. Those utils are not a part
  19826. of the typical Asterisk build, so they do not usually get
  19827. compiled. This all makes them less that useful. This patch
  19828. removes those manual test programs and replaces them with
  19829. Asterisk unit test modules (test_{hashtab,astobj2}_thrash.so). It
  19830. also attempts to make the tests more deterministic. * Rather than
  19831. spinning up some number of threads that operate on the hash table
  19832. randomly, spin up four threads that concurrenly add, remove,
  19833. lookup and iterate over the hash table. * Each thread checks the
  19834. state of the hash table both during and after execution, and
  19835. indicates a test failure if things are not as expected. * Each
  19836. thread times out after 60 seconds to prevent deadlocking the unit
  19837. test run. (closes issue ASTERISK-20505) Reported by: Matt Jordan
  19838. Review: https://reviewboard.asterisk.org/r/2189/ ........ Merged
  19839. revisions 376306 from
  19840. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19841. revisions 376315 from
  19842. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19843. revisions 376339 from
  19844. http://svn.asterisk.org/svn/asterisk/branches/11
  19845. 2012-11-15 23:10 +0000 [r376312] Jonathan Rose <jrose@digium.com>
  19846. * /, apps/app_meetme.c: app_meetme: Fix channels lingering when
  19847. hung up under certain conditions Channels would get stuck and
  19848. MeetMe would repeatedly display an Unable to write frame to
  19849. channel error in the conf_run function if hung up during certain
  19850. sound prompts such as during user count announcements. This patch
  19851. fixes that by reintroducing a hangup check in the meetme's main
  19852. loop (also in conf_run). (closes issue ASTERISK-20486) Reported
  19853. by: Michael Cargile Review:
  19854. https://reviewboard.asterisk.org/r/2187/ Patches:
  19855. meetme_hangup_patch_ASTERISK-20486_v3.diff uploaded by Jonathan
  19856. Rose (license 6182) ........ Merged revisions 376307 from
  19857. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19858. revisions 376308 from
  19859. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19860. revisions 376310 from
  19861. http://svn.asterisk.org/svn/asterisk/branches/11
  19862. 2012-11-15 14:35 +0000 [r376291] Brent Eagles <beagles@digium.com>
  19863. * main/channel.c, /: Patch to prevent stopping the active generator
  19864. when it is not the silence generator. This patch introduces an
  19865. internal helper function to safely check whether the current
  19866. generator is the one that is expected before deactivating it. The
  19867. current externally accessible ast_channel_stop_generator()
  19868. function has been modified to be implemented in terms of the new
  19869. function. (closes issue ASTERISK-19918) Reported by: Eduardo Abad
  19870. ........ Merged revisions 376217 from
  19871. http://svn.asterisk.org/svn/asterisk/branches/11
  19872. 2012-11-15 02:29 +0000 [r376282] Rusty Newton <rnewton@digium.com>
  19873. * apps/app_voicemail.c, /: Patch to play correct sound file when a
  19874. voicemail's urgent status is removed We were attempting to play
  19875. "vm-urgent-removed", which didn't exist. Now we play
  19876. "vm-marked-nonurgent" which exists and is the correct sound file.
  19877. Previous behavior was silence and a warning on the CLI. (issue
  19878. ASTERISK-20280) (closes issue ASTERISK-20280) Reported by: Tomo
  19879. Takebe Tested by: Rusty Newton Patches: asterisk20280.patch
  19880. uploaded by Rusty Newton (license 5829) ........ Merged revisions
  19881. 376262 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19882. ........ Merged revisions 376263 from
  19883. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19884. revisions 376264 from
  19885. http://svn.asterisk.org/svn/asterisk/branches/11
  19886. 2012-11-14 19:55 +0000 [r376235] Richard Mudgett <rmudgett@digium.com>
  19887. * pbx/pbx_spool.c, /: Fix call files when astspooldir is relative.
  19888. Future dated call files are ignored when astspooldir is relative
  19889. to the current directory. The queue_file() assumed that the qdir
  19890. needed to be prepended if the given filename did not start with a
  19891. '/'. If astspooldir is relative it is not going to start from the
  19892. root directory obviously so it will not start with a '/'. The
  19893. filename used in queue_file() ultimately results in qdir
  19894. prepended multiple times. * Made queue_file() not prepend qdir if
  19895. the filename contains a '/'. (closes issue ASTERISK-20593)
  19896. Reported by: James Le Cuirot Patches:
  19897. 0004-Fix-future-call-files-from-relative-directories.patch
  19898. (license #6439) patch uploaded by James Le Cuirot ........ Merged
  19899. revisions 376232 from
  19900. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19901. revisions 376233 from
  19902. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19903. revisions 376234 from
  19904. http://svn.asterisk.org/svn/asterisk/branches/11
  19905. 2012-11-13 19:42 +0000 [r376219] Jonathan Rose <jrose@digium.com>
  19906. * CHANGES, channels/chan_sip.c: chan_sip: Add SubscribeContext
  19907. field to SIPshowpeer AMI response The new field is will show up
  19908. within the response if the requested peer has a subscribe context
  19909. set. (closes issue ASTERISK-20626) Reported by: Jaco Kroon
  19910. Patches: asterisk-sip-ami-SubscrContext.patch uploaded by jkroon
  19911. (license 5671) -with modifications by jrose to conform to style
  19912. guidelines Review: https://reviewboard.asterisk.org/r/2195/
  19913. 2012-11-12 20:46 +0000 [r376169] Joshua Colp <jcolp@digium.com>
  19914. * /, main/pbx.c: Properly check if the "Context" and "Extension"
  19915. headers are empty in a ShowDialPlan action. The code which
  19916. handles the ShowDialPlan action wrongly assumed that a non-NULL
  19917. return value from the function which retrieves headers from an
  19918. action indicates that the header has a value. This is incorrect
  19919. and the contents must be checked to see if they are blank.
  19920. (closes issue ASTERISK-20628) Reported by: jkroon Patches:
  19921. asterisk-showdialplan-incorrect-error.patch uploaded by jkroon
  19922. ........ Merged revisions 376166 from
  19923. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19924. revisions 376167 from
  19925. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19926. revisions 376168 from
  19927. http://svn.asterisk.org/svn/asterisk/branches/11
  19928. 2012-11-12 20:18 +0000 [r376148] Michael L. Young <elgueromexicano@gmail.com>
  19929. * main/pbx.c, /: Fix Dynamic Hints Variable Substition - Underscore
  19930. Problem When adding a dynamic hint, if an extension contains an
  19931. underscore no variable subsitution is being performed. This patch
  19932. changes from checking if the extension contains an underscore to
  19933. checking if the extension begins with an underscore. (closes
  19934. issue ASTERISK-20639) Reported by: Steven T. Wheeler Tested by:
  19935. Steven T. Wheeler, Michael L. Young Patches:
  19936. asterisk-20639-dynamic-hint-underscore.diff uploaded by Michael
  19937. L. Young (license 5026) Review:
  19938. https://reviewboard.asterisk.org/r/2188/ ........ Merged
  19939. revisions 376142 from
  19940. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19941. revisions 376143 from
  19942. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19943. revisions 376144 from
  19944. http://svn.asterisk.org/svn/asterisk/branches/11
  19945. 2012-11-11 17:15 +0000 [r376131] Joshua Colp <jcolp@digium.com>
  19946. * configs/sip.conf.sample, res/res_rtp_asterisk.c, /,
  19947. channels/chan_sip.c: Remove a fixed size limitation for producing
  19948. SDP and change how ICE support is disabled by default. With ICE
  19949. support enabled in chan_sip and a large number of interfaces on
  19950. the system it was possible for the produced SDP to be truncated
  19951. due to some fixed size buffers. These buffers have now been
  19952. changed so they will dynamically grow as needed. ICE support is
  19953. now also enabled by default in res_rtp_asterisk to provide a
  19954. smoother experience for chan_motif users where it is required. To
  19955. maintain the previous behavior in chan_sip it is no longer
  19956. enabled by default there. (closes issue ASTERISK-20643) Reported
  19957. by: coopvr ........ Merged revisions 376130 from
  19958. http://svn.asterisk.org/svn/asterisk/branches/11
  19959. 2012-11-08 22:10 +0000 [r376092] Mark Michelson <mmichelson@digium.com>
  19960. * /, res/res_fax.c: Fix a "set but not used" warning on newer gccs.
  19961. Turns out the "helpful" setting of ms and res in this macro is
  19962. completely useless after the timeout antipattern fix. If you're a
  19963. new guy looking to write code, don't write a macro like this one.
  19964. ........ Merged revisions 376087 from
  19965. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  19966. revisions 376088 from
  19967. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19968. revisions 376089 from
  19969. http://svn.asterisk.org/svn/asterisk/branches/11
  19970. 2012-11-08 21:12 +0000 [r376049-376061] Richard Mudgett <rmudgett@digium.com>
  19971. * /, channels/sig_ss7.c: chan_dahdi/SS7: Made reject incoming call
  19972. for an in-alarm or blocked channel. If a SS7 call comes in
  19973. requesting a CIC that is in-alarm, the call is accepted and
  19974. connects if the extension exists in the dialplan. The call does
  19975. not have any audio. * Made release the call immediately with
  19976. circuit congestion cause. (closes issue ASTERISK-20204) Reported
  19977. by: Tuan Le Patches: jira_asterisk_20204_v1.8.patch (license
  19978. #5621) patch uploaded by rmudgett ........ Merged revisions
  19979. 376058 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  19980. ........ Merged revisions 376059 from
  19981. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  19982. revisions 376060 from
  19983. http://svn.asterisk.org/svn/asterisk/branches/11
  19984. * include/asterisk/utils.h, include/asterisk/astmm.h, /,
  19985. main/utils.c, main/astmm.c, main/asterisk.c: Add MALLOC_DEBUG
  19986. enhancements. * Makes malloc() behave like calloc(). It will
  19987. return a memory block filled with 0x55. A nonzero value. * Makes
  19988. free() fill the released memory block and boundary fence's with
  19989. 0xdeaddead. Any pointer use after free is going to have a pointer
  19990. pointing to 0xdeaddead. The 0xdeaddead pointer is usually an
  19991. invalid memory address so a crash is expected. * Puts the freed
  19992. memory block into a circular array so it is not reused
  19993. immediately. * When the circular array rotates out a memory block
  19994. to the heap it checks that the memory has not been altered from
  19995. 0xdeaddead. * Made the astmm_log message wording better. * Made
  19996. crash if the DO_CRASH menuselect option is enabled and something
  19997. is found. * Fixed a potential alignment issue on 64 bit systems.
  19998. struct ast_region.data[] should now be aligned correctly for all
  19999. platforms. * Extracted region_check_fences() from
  20000. __ast_free_region() and handle_memory_show(). * Updated
  20001. handle_memory_show() CLI usage help. Review:
  20002. https://reviewboard.asterisk.org/r/2182/ ........ Merged
  20003. revisions 376029 from
  20004. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20005. revisions 376030 from
  20006. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20007. revisions 376048 from
  20008. http://svn.asterisk.org/svn/asterisk/branches/11
  20009. 2012-11-07 19:15 +0000 [r376015] Mark Michelson <mmichelson@digium.com>
  20010. * apps/app_dial.c, main/pbx.c, main/rtp_engine.c, /,
  20011. apps/app_meetme.c, res/res_fax.c, apps/app_record.c,
  20012. channels/chan_agent.c, main/utils.c, include/asterisk/channel.h,
  20013. apps/app_queue.c, channels/sig_pri.c, channels/chan_iax2.c,
  20014. main/channel.c, channels/chan_dahdi.c, apps/app_waitforring.c,
  20015. channels/sig_analog.c, apps/app_jack.c, include/asterisk/time.h:
  20016. Multiple revisions 375993-375994 ........ r375993 | mmichelson |
  20017. 2012-11-07 11:01:13 -0600 (Wed, 07 Nov 2012) | 30 lines Fix
  20018. misuses of timeouts throughout the code. Prior to this change, a
  20019. common method for determining if a timeout was reached was to
  20020. call a function such as ast_waitfor_n() and inspect the out
  20021. parameter that told how many milliseconds were left, then use
  20022. that as the input to ast_waitfor_n() on the next go-around. The
  20023. problem with this is that in some cases, submillisecond timeouts
  20024. can occur, resulting in the out parameter not decreasing any.
  20025. When this happens thousands of times, the result is that the
  20026. timeout takes much longer than intended to be reached. As an
  20027. example, I had a situation where a 3 second timeout took multiple
  20028. days to finally end since most wakeups from ast_waitfor_n() were
  20029. under a millisecond. This patch seeks to fix this pattern
  20030. throughout the code. Now we log the time when an operation began
  20031. and find the difference in wall clock time between now and when
  20032. the event started. This means that sub-millisecond timeouts now
  20033. cannot play havoc when trying to determine if something has timed
  20034. out. Part of this fix also includes changing the function
  20035. ast_waitfor() so that it is possible for it to return less than
  20036. zero when a negative timeout is given to it. This makes it
  20037. actually possible to detect errors in ast_waitfor() when there is
  20038. no timeout. (closes issue ASTERISK-20414) reported by David M.
  20039. Lee Review: https://reviewboard.asterisk.org/r/2135/ ........
  20040. r375994 | mmichelson | 2012-11-07 11:08:44 -0600 (Wed, 07 Nov
  20041. 2012) | 3 lines Remove some debugging that accidentally made it
  20042. in the last commit. ........ Merged revisions 375993-375994 from
  20043. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20044. revisions 375995 from
  20045. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20046. revisions 376014 from
  20047. http://svn.asterisk.org/svn/asterisk/branches/11
  20048. 2012-11-06 19:05 +0000 [r375967] Richard Mudgett <rmudgett@digium.com>
  20049. * /, main/channel_internal_api.c, main/features.c,
  20050. include/asterisk/channel.h, include/asterisk/features.h,
  20051. main/channel.c: Fix stuck DTMF when bridge is broken. When a
  20052. bridge is broken by an AMI Redirect action or the ChannelRedirect
  20053. application, an in progress DTMF digit could be stuck sending
  20054. forever. * Made simulate a DTMF end event when a bridge is broken
  20055. and a DTMF digit was in progress. (closes issue ASTERISK-20492)
  20056. Reported by: Jeremiah Gowdy Patches: bridge_end_dtmf-v3.patch.txt
  20057. (license #6358) patch uploaded by Jeremiah Gowdy Modified to
  20058. jira_asterisk_20492_v1.8.patch jira_asterisk_20492_v1.8.patch
  20059. (license #5621) patch uploaded by rmudgett Tested by: rmudgett
  20060. Review: https://reviewboard.asterisk.org/r/2169/ ........ Merged
  20061. revisions 375964 from
  20062. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20063. revisions 375965 from
  20064. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20065. revisions 375966 from
  20066. http://svn.asterisk.org/svn/asterisk/branches/11
  20067. 2012-11-06 12:15 +0000 [r375926] Joshua Colp <jcolp@digium.com>
  20068. * /, channels/chan_motif.c: Fix a bug where our Motif ICE
  20069. candidates were not quite proper, and make us more forgiving. An
  20070. issue was reported on the mailing list where calling would result
  20071. in an "Incomplete ICE-UDP candidate received on session" error
  20072. message. This is the result of the ICE-UDP candidate code not
  20073. placing a "network" attribute within the candidates. This is now
  20074. done. To increase compatibility though I have removed the
  20075. requirement for the "network" attribute to exist within ICE-UDP
  20076. candidates that are received since we don't actually require the
  20077. value. Reported on the mailing list by Jean-Denis Girard.
  20078. ........ Merged revisions 375925 from
  20079. http://svn.asterisk.org/svn/asterisk/branches/11
  20080. 2012-11-05 23:10 +0000 [r375896] Matthew Jordan <mjordan@digium.com>
  20081. * channels/chan_iax2.c, res/res_fax_spandsp.c,
  20082. res/res_timing_kqueue.c, main/timing.c, main/channel.c, /,
  20083. res/res_timing_pthread.c, res/res_timing_dahdi.c,
  20084. res/res_timing_timerfd.c, bridges/bridge_softmix.c,
  20085. funcs/func_jitterbuffer.c, include/asterisk/timing.h,
  20086. res/res_musiconhold.c: Refactor ast_timer_ack to return an error
  20087. and handle the error in timer users Currently, if an
  20088. acknowledgement of a timer fails Asterisk will not realize that a
  20089. serious error occurred and will continue attempting to use the
  20090. timer's file descriptor. This can lead to situations where errors
  20091. stream to the CLI/log file. This consumes significant resources,
  20092. masks the actual problem that occurred (whatever caused the timer
  20093. to fail in the first place), and can leave channels in odd
  20094. states. This patch propagates the errors in the timing resource
  20095. modules up through the timer core, and makes users of these
  20096. timers handle acknowledgement failures. It also adds some
  20097. defensive coding around the use of timers to prevent using bad
  20098. file descriptors in off nominal code paths. Note that the patch
  20099. created by the issue reporter was modified slightly for this
  20100. commit and backported to 1.8, as it was originally written for
  20101. Asterisk 10. Review: https://reviewboard.asterisk.org/r/2178/
  20102. (issue ASTERISK-20032) Reported by: Jeremiah Gowdy patches:
  20103. jgowdy-timerfd-6-22-2012.diff uploaded by Jeremiah Gowdy (license
  20104. 6358) ........ Merged revisions 375893 from
  20105. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20106. revisions 375894 from
  20107. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20108. revisions 375895 from
  20109. http://svn.asterisk.org/svn/asterisk/branches/11
  20110. 2012-11-05 21:42 +0000 [r375865] Richard Mudgett <rmudgett@digium.com>
  20111. * main/loader.c, /: Add safety NULL pointer check in module user
  20112. references. Made __ast_module_user_remove() check for NULL
  20113. pointers. ........ Merged revision 375860 from C.3 ........
  20114. Merged revisions 375862 from
  20115. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20116. revisions 375863 from
  20117. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20118. revisions 375864 from
  20119. http://svn.asterisk.org/svn/asterisk/branches/11
  20120. 2012-11-05 18:00 +0000 [r375848] Jonathan Rose <jrose@digium.com>
  20121. * /, UPGRADE.txt: chan_sip: Document a change to user-field
  20122. encoding introduced with r303509 The change in question was added
  20123. to improve compliance with RFC3261, but at the time of commit, it
  20124. wasn't adequately documented in the UPGRADE notes. (closes issue
  20125. ASTERISK-20561) Reported by: Deniz Review:
  20126. https://reviewboard.asterisk.org/r/2177/ ........ Merged
  20127. revisions 375846 from
  20128. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20129. revisions 375847 from
  20130. http://svn.asterisk.org/svn/asterisk/branches/11
  20131. 2012-11-04 03:10 +0000 [r375730-375803] Matthew Jordan <mjordan@digium.com>
  20132. * main/manager.c, /: Don't attempt to purge sessions when no
  20133. sessions exist Manager's tcp/tls objects have a periodic function
  20134. that purge old manager sessions periodically. During shutdown,
  20135. the underlying container holding those sessions can be disposed
  20136. of and set to NULL before the tcp/tls periodic function is
  20137. stopped. If the periodic function fires, it will attempt to
  20138. iterate over a NULL container. This patch checks for whether or
  20139. not the sessions container exists before attempting to purge
  20140. sessions out of it. If the sessions container is NULL, we simply
  20141. return. Note that this error was also caught by the Asterisk Test
  20142. Suite. ........ Merged revisions 375800 from
  20143. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20144. revisions 375801 from
  20145. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20146. revisions 375802 from
  20147. http://svn.asterisk.org/svn/asterisk/branches/11
  20148. * /, res/res_fax.c: Only deref a reserved gateway session if we
  20149. actually reserved one Its perfectly acceptable to have a gateway
  20150. session unreserved when we go to first allocate one. Unreffing
  20151. the reserved gateway session - when its NULL - will result in an
  20152. assertion error. This problem was caught by the Asterisk Test
  20153. Suite (once we had enough of the debugging flags enabled)
  20154. ........ Merged revisions 375797 from
  20155. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20156. revisions 375798 from
  20157. http://svn.asterisk.org/svn/asterisk/branches/11
  20158. * /, main/manager.c: Properly clean up manager resources on exit
  20159. This patch does two things: 1) It properly unregisters the
  20160. manager CLI commands 2) It cleans up AMI users on exit. Prior to
  20161. this patch, the AMI users were not being disposed of properly,
  20162. resulting in a memory leak. (closes issue ASTERISK-20646)
  20163. Reported by: Corey Farrell patches: manager_shutdown.patch
  20164. uploaded by Corey Farrell (license 5909) ........ Merged
  20165. revisions 375793 from
  20166. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20167. revisions 375794 from
  20168. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20169. revisions 375795 from
  20170. http://svn.asterisk.org/svn/asterisk/branches/11
  20171. * /, main/db.c: Properly finalize prepared SQLite3 statements to
  20172. prevent memory leak The AstDB uses prepared SQLite3 statements to
  20173. retrieve data from the SQLite3 database. These statements should
  20174. be finalized during Asterisk shutdown so that the SQLite3
  20175. database can be properly closed. Failure to finalize the
  20176. statements results in a memory leak and a failure when closing
  20177. the database. This patch fixes those issues by ensuring that all
  20178. prepared statements are properly finalized at shutdown. (closes
  20179. issue ASTERISK-20647) Reported by: Corey Farrell patches:
  20180. astdb-sqlite3_close.patch uploaded by Corey Farrell (license
  20181. 5909) ........ Merged revisions 375761 from
  20182. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20183. revisions 375763 from
  20184. http://svn.asterisk.org/svn/asterisk/branches/11
  20185. * main/xmldoc.c, /: Fix memory leaks in XML documentation This
  20186. patch fixes two memory leaks: 1) When building XML documentation
  20187. items, the 'name' attribute was extracted from XML elements but
  20188. not properly freed after being copied into the item being built.
  20189. 2) When unloading XML documentation, the doctree container
  20190. objects were not properly freed. This patch corrects these memory
  20191. leaks. Note that this patch was modified slightly for this
  20192. commmit, as the case where the 'name' attribute doesn't exist
  20193. also wasn't handled in the item construction. This patch also
  20194. checks for that attribute not existing. (closes issue
  20195. ASTERISK-20648) Reported by: Corey Farrell Tested by: mjordan
  20196. patches: xmldoc-memory_leak.patch uploaded by Corey Farrell
  20197. (license 5909) ........ Merged revisions 375756 from
  20198. http://svn.asterisk.org/svn/asterisk/branches/11
  20199. * main/cdr.c, /: Prevent multiple CDR batches from conflicting when
  20200. scheduling the CDR write The Asterisk Test Suite caught an error
  20201. condition where a scheduled CDR batch write can be deleted twice
  20202. if two channels attempt to post their CDRs at the same time. The
  20203. batch CDR mutex is locked while the CDRs are appended to the
  20204. current batch list; however, it is unlocked prior to actually
  20205. scheduling the CDR write. As such, two threads can attempt to
  20206. remove the currently scheduled batch write at the same time,
  20207. resulting in an assertion error. This patch extends the time that
  20208. the mutex is locked to encompass actually scheduling the write.
  20209. This prevents two threads from unscheduling the currently
  20210. scheduled write at the same time. ........ Merged revisions
  20211. 375727 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  20212. ........ Merged revisions 375728 from
  20213. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20214. revisions 375729 from
  20215. http://svn.asterisk.org/svn/asterisk/branches/11
  20216. 2012-11-02 21:03 +0000 [r375663] Damien Wedhorn <voip@facts.com.au>
  20217. * /, channels/chan_skinny.c: Fix for chan_skinny leaving RTP ports
  20218. open Skinny wasn't closing RTP sockets. This patch includes
  20219. ast_rtp_instance_stop before ast_rtp_instance_destroy which fixes
  20220. the problem. Also add destroy for VRTP (which I believe is
  20221. unused, but exists). Review:
  20222. https://reviewboard.asterisk.org/r/2176/ ........ Merged
  20223. revisions 375660 from
  20224. http://svn.asterisk.org/svn/asterisk/branches/11
  20225. 2012-11-02 21:01 +0000 [r375628-375662] Richard Mudgett <rmudgett@digium.com>
  20226. * main/channel.c, channels/chan_misdn.c, /, main/ccss.c,
  20227. main/format_pref.c: Things don't need to be that const. ........
  20228. Merged revisions 375658 from
  20229. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20230. revisions 375659 from
  20231. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20232. revisions 375661 from
  20233. http://svn.asterisk.org/svn/asterisk/branches/11
  20234. * channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h, /: Multiple
  20235. revisions 375519-375524 ........ r375519 | rmudgett | 2012-10-30
  20236. 16:06:15 -0500 (Tue, 30 Oct 2012) | 11 lines chan_misdn: Timer
  20237. primitives must be handled first. The frm->addr is a different
  20238. "address space" than the stack/instance address of other Lx
  20239. primitives. The test for B channel instance address could fail.
  20240. Patches: patch01_timers.diff (license #6372) patch uploaded by
  20241. Guenther Kelleter JIRA ABE-2888 ........ r375520 | rmudgett |
  20242. 2012-10-30 16:14:58 -0500 (Tue, 30 Oct 2012) | 10 lines
  20243. chan_misdn: Free memory in error paths and other memory leaks.
  20244. The one line commented with BUG is not easily fixable because
  20245. there is no de-init function one can call. Patches:
  20246. patch02_memory.diff (license #6372) patch uploaded by Guenther
  20247. Kelleter JIRA ABE-2888 ........ r375521 | rmudgett | 2012-10-30
  20248. 16:38:41 -0500 (Tue, 30 Oct 2012) | 14 lines chan_misdn: ISDN NT
  20249. L2 de-establish/establish * An NT-PTMP cannot de/establish L2
  20250. since it doesn't know the TEIs. * On NT-PTP L2 is started when L1
  20251. is finally active in handle_l1. * L2 deactivation logging
  20252. cleanup. * L2 aggregate link status is unknown for NT-PTMP, show
  20253. as "UNKN". * Removed unused functions and code for L2 handling.
  20254. Patches: patch03_L2estab.diff (license #6372) patch uploaded by
  20255. Guenther Kelleter Modified JIRA ABE-2888 ........ r375522 |
  20256. rmudgett | 2012-10-30 16:56:14 -0500 (Tue, 30 Oct 2012) | 22
  20257. lines chan_misdn: Fix broken upper_id/lower_id usage. Sending PH
  20258. prim via lower_id layer (3 or 1) simply does not work. For TE (3)
  20259. it returns an error (len=-6) which is not evaluated by
  20260. handle_l1(), so the L1 layer status ends up wrong. Instead PH
  20261. must be sent via L4, only then does it reach L1 without an error
  20262. message. And NT PH prims only reach L1 when they are sent to
  20263. layer 2 id. --> use upper_id to send PH primitives. * Check for
  20264. errors in PH_(DE)ACTIVATE | CONFIRM. * Debug messages are
  20265. improved. * The lower_id is now not used for anything, except:
  20266. Why is lower_id layer deleted when it wasn't created? I removed
  20267. this code since it looks very wrong. Patches:
  20268. patch04_l1activation.diff (license #6372) patch uploaded by
  20269. Guenther Kelleter JIRA ABE-2888 ........ r375523 | rmudgett |
  20270. 2012-10-30 17:29:15 -0500 (Tue, 30 Oct 2012) | 31 lines
  20271. chan_misdn: Fix loss of B channels if L1 is down. If you make 2
  20272. calls out an NT PTMP port which is not connected to any phone,
  20273. the B channel associated with that call becomes unusable until
  20274. Asterisk is restarted. The problem is the EVENT_SETUP is queued
  20275. when L1 is not up in misdn_lib_send_event(). If L1 cannot be
  20276. activated the event won't be dequeued. It gets even worse when
  20277. the call is hung up. The queued EVENT_SETUP will be overwritten
  20278. by an EVENT_DISCONNECT. The reserved B channel then will never be
  20279. freed. If later someone connects a phone to the port, L1 will
  20280. eventually activate and the queued EVENT_DISCONNECT is sent down
  20281. the stack. However, it is ignored because it is the wrong call
  20282. state. The real fix would be that activation and queueing for a
  20283. new SETUP is done by the NT stack. But since it doesn't, the
  20284. workaround must be removed because it doesn't always work. Fix:
  20285. The event is no longer queued but immediately sent to the stack.
  20286. If L1 cannot be activated, the L3 state machine that was started
  20287. by the EVENT_SETUP will do its work, i.e. a timeout will release
  20288. the B channel properly. The SETUP possibly cannot be sent the
  20289. first time but is resent by T303 in case L1 could be activated.
  20290. Patches: patch05_bchan-loss.diff (license #6372) patch uploaded
  20291. by Guenther Kelleter Modified JIRA ABE-2888 ........ r375524 |
  20292. rmudgett | 2012-10-30 18:26:05 -0500 (Tue, 30 Oct 2012) | 13
  20293. lines chan_misdn: Remove some calls to exit(). Try proper cleanup
  20294. when something goes wrong in misdn_lib_init(). Especially do not
  20295. call exit()! * Fix memory leak because stack_destroy() does not
  20296. free the stack struct. Patches: patch06_cleanup-init.diff
  20297. (license #6372) patch uploaded by Guenther Kelleter Modified JIRA
  20298. ABE-2888 ........ Merged revisions 375519-375524 from
  20299. https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
  20300. ........ Merged revisions 375625 from
  20301. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20302. revisions 375626 from
  20303. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20304. revisions 375627 from
  20305. http://svn.asterisk.org/svn/asterisk/branches/11
  20306. 2012-11-02 17:27 +0000 [r375614] Michael L. Young <elgueromexicano@gmail.com>
  20307. * /, channels/chan_sip.c: Fix Wrong Result In Debug Message For SDP
  20308. Origin Processing While looking at some debug logs, I noticed
  20309. that it was being reported that the SDP origin line was
  20310. unsupported or failed. Upon looking into this on my local
  20311. machine, I found that I too was getting this debug message yet
  20312. everything seemed to be getting processed properly. What was
  20313. discovered is, that, the variable to determine what is displayed
  20314. in the debug message for the SDP line that was processed, was not
  20315. being set for the origin line when the result was successful.
  20316. This patch fixes this and was tested on local machine. ........
  20317. Merged revisions 375594 from
  20318. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20319. revisions 375601 from
  20320. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20321. revisions 375613 from
  20322. http://svn.asterisk.org/svn/asterisk/branches/11
  20323. 2012-11-01 15:03 +0000 [r375576] Jonathan Rose <jrose@digium.com>
  20324. * configs/sip.conf.sample, /, channels/chan_sip.c: chan_sip: Fix a
  20325. bug causing SIP reloads to remove all entries from the registry A
  20326. regression was introduced in chan_sip by changes to sip reload
  20327. introduced by r349097. That patch moved peer purging from the
  20328. beginning of the reload to after the general configuration was
  20329. finished. This patch fixes that by undoing the repositioning of
  20330. the original peer purging code and using a similar function after
  20331. performing general configuration that purges only autocreated
  20332. peers that were created when persist mode isn't enabled. (closes
  20333. issue ASTERISK-20611) Reported by: Alisher Review:
  20334. https://reviewboard.asterisk.org/r/2171/ ........ Merged
  20335. revisions 375575 from
  20336. http://svn.asterisk.org/svn/asterisk/branches/11
  20337. 2012-10-31 18:01 +0000 [r375560] Joshua Colp <jcolp@digium.com>
  20338. * res/res_http_websocket.exports.in, /: Fix an issue with
  20339. res_http_websocket where the chan_sip WebSocket handler could not
  20340. be registered. On some systems the optional API support uses the
  20341. GCC compiler attribute "weakref" to provide its functionality.
  20342. This code changes the function names and prefixes "__" to the
  20343. front. The res_http_websocket exports file did not take this into
  20344. account, thereby not allowing those functions to be global and
  20345. ultimately found. (closes issue ASTERISK-20631) Reported by:
  20346. danjenkins ........ Merged revisions 375559 from
  20347. http://svn.asterisk.org/svn/asterisk/branches/11
  20348. 2012-10-31 14:58 +0000 [r375533] Matthew Jordan <mjordan@digium.com>
  20349. * /, res/res_calendar_ews.c: Properly extract the Body information
  20350. of an EWS calendar item Unlike all other calendar modules,
  20351. res_calendar_ews fails to extract the Body information for a
  20352. calendar item. This is due, in part, to a quirk in the schema in
  20353. the XML - not only does a CalendarItem contain a Body element,
  20354. but the CalendarItem exists as a descendant of a different Body
  20355. element. The neon parser was erroneously skipping all Body
  20356. elements. This patch fixes that by bypassing Body elements that
  20357. are not a child of CalendarItem, and parsing the Body element out
  20358. if it is a child. Note that the original patch by Terry Wilson
  20359. only needed slight modifications to make it properly pull the
  20360. Body information out; as such, while I've linked to the patch
  20361. that I uploaded for Dmitry, I've attributed the patch to Terry.
  20362. (closes issue ASTERISK-19738) Reported by: Dmitry Burilov Tested
  20363. by: Dmitry Burilov patches: calendar_ews_body_2012_10_29.diff
  20364. uploaded by Terry Wilson (license 6283) ........ Merged revisions
  20365. 375528 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  20366. ........ Merged revisions 375531 from
  20367. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20368. revisions 375532 from
  20369. http://svn.asterisk.org/svn/asterisk/branches/11
  20370. 2012-10-30 19:31 +0000 [r375511] Richard Mudgett <rmudgett@digium.com>
  20371. * /, bridges/bridge_softmix.c: Fix ConfBridge crash if no timing
  20372. module loaded. (closes issue ASTERISK-19448) Reported by: feyfre
  20373. Patches: smfix.patch (license #6099) patch uploaded by feyfre
  20374. Modified for coding guidelines. ........ Merged revisions 375496
  20375. from http://svn.asterisk.org/svn/asterisk/branches/10 ........
  20376. Merged revisions 375506 from
  20377. http://svn.asterisk.org/svn/asterisk/branches/11
  20378. 2012-10-30 19:20 +0000 [r375472-375498] Jonathan Rose <jrose@digium.com>
  20379. * /, apps/app_mixmonitor.c: mixmonitor: Add a test event This test
  20380. event is being used to fix the mixmonitor_audiohook_inherit test.
  20381. ........ Merged revisions 375484 from
  20382. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20383. revisions 375485 from
  20384. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20385. revisions 375486 from
  20386. http://svn.asterisk.org/svn/asterisk/branches/11
  20387. * /, apps/app_confbridge.c: confbridge: Fix a bug which made
  20388. conferences not record with AMI/CLI commands When confbridge was
  20389. changed to handle conference status with a state machine in
  20390. r374658. The function responsible for starting recording for a
  20391. conference was refactored with the function actually responsible
  20392. for launching the recording thread being split into a function
  20393. with another name. The old function name was still used for
  20394. manually started recordings through AMI or CLI. This patch fixes
  20395. that by switching which function is used to start recording the
  20396. conference. (closes issue ASTERISK-20601) Reported by: Vilius
  20397. Patches: confbridge_mixmonitor.diff uploaded by Jonathan Rose
  20398. (license 6182) ........ Merged revisions 375470 from
  20399. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20400. revisions 375471 from
  20401. http://svn.asterisk.org/svn/asterisk/branches/11
  20402. 2012-10-29 21:38 +0000 [r375442-375443] Mark Michelson <mmichelson@digium.com>
  20403. * /, channels/chan_sip.c: Prevent resetting of NATted realtime peer
  20404. address on reload. If a "sip reload" is issued for a SIP peer,
  20405. then his IP address will be cleared, thus resulting in forgetting
  20406. the public IP address. Asterisk will then attempt to route SIP
  20407. traffic to the private IP address. The fix here is to make "sip
  20408. reload" ignore realtime peers when "host = dynamic" is spotted.
  20409. Realtime peers can now only have their IP address reset if they
  20410. have gone from being not dynamic to being dynamic. (closes issue
  20411. ASTERISK-18203) reported by daren ferreira (closes issue
  20412. ASTERISK-20572) reported by JoshE Patches: fix_nat_realtime.diff
  20413. uploaded by JoshE (license #6075) ........ Merged revisions
  20414. 375415 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  20415. ........ Merged revisions 375417 from
  20416. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20417. revisions 375437 from
  20418. http://svn.asterisk.org/svn/asterisk/branches/11
  20419. * channels/chan_mgcp.c, main/pbx.c, apps/app_osplookup.c,
  20420. channels/chan_sip.c, channels/chan_skinny.c,
  20421. funcs/func_strings.c, UPGRADE.txt: Make evaluation of channel
  20422. variables consistently case-sensitive. Due to inconsistencies in
  20423. how variable names were evaluated, the decision was made to make
  20424. all evaluations case-sensitive. See the UPGRADE.txt file or
  20425. https://wiki.asterisk.org/wiki/display/AST/Case+Sensitivity for
  20426. more details. (closes issue ASTERISK-20163) reported by Matt
  20427. Jordan Review: https://reviewboard.asterisk.org/r/2160
  20428. 2012-10-29 21:02 +0000 [r375416] Matthew Jordan <mjordan@digium.com>
  20429. * UPGRADE.txt, apps/app_queue.c: Ensure that CDRs for a caller in a
  20430. Queue that is not answered is NO ANSWER. When a caller enters a
  20431. queue and no queue member answers the call, the current behaviour
  20432. can be a little odd depending on the paused status of the queue
  20433. members. If any queue member is paused, but not all, the CDR
  20434. disposition will be BUSY. If all queue members are paused, then
  20435. the CDR disposition is based instead on the disposition of the
  20436. call prior to entering the Queue. This patch modifies the
  20437. behaviour in the following ways: * If no queue members are
  20438. paused, the CDR disposition is whatever the disposition was prior
  20439. to going into Queue. If the call was answered this will be
  20440. ANSWERED; otherwise, it is NO ANSWER. * If some queue members are
  20441. pused, the CDR result is NO ANSWER. (This is a change in
  20442. behaviour, as the result would previously have been BUSY) * If
  20443. all queue members are paused, the CDR result is whatever the
  20444. result was prior to going into Queue. This is the same as the
  20445. behaviour prior to this patch. * If the caller hangs up, times
  20446. out, or presses '*' with the 'h' option, the CDR disposition is
  20447. again not set and is dependent on whether or not the caller was
  20448. Answered prior to entering Queue. This patch was based on one
  20449. provided by Thomas Arimont, but has been modified to accomodate
  20450. findings by the reviewers. Review:
  20451. https://reviewboard.asterisk.org/r/2064/ (closes issue AST-906)
  20452. Reported by: Thomas Arimont (closes issue ASTERISK-17776)
  20453. Reported by: Attila Megyeri
  20454. 2012-10-29 19:31 +0000 [r375364-375391] Richard Mudgett <rmudgett@digium.com>
  20455. * /, main/features.c: Fix the Park 'r' option when a channel parks
  20456. itself. When a channel uses the Park appliation to park itself
  20457. with the 'r' option, the channel hears music-on-hold instead of
  20458. the requested ringing. * Added a missing check for the 'r' option
  20459. when a channel parks itself. (closes issue ASTERISK-19382)
  20460. Reported by: James Stocks Patches by: dsessions Review:
  20461. https://reviewboard.asterisk.org/r/2148/ ........ Merged
  20462. revisions 375388 from
  20463. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20464. revisions 375389 from
  20465. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20466. revisions 375390 from
  20467. http://svn.asterisk.org/svn/asterisk/branches/11
  20468. * channels/chan_dahdi.c, /: chan_dahdi: Fix segfault dereferencing
  20469. a NULL tech_pvt. The tech support customer was using the AMI
  20470. Redirect action shortly after a call was placed. While the
  20471. channel tried to do an ast_read(), the masquerade resulting from
  20472. the channel redirect took place. The masquerade in the middle of
  20473. the ast_read() resulted in the segfault. (closes issue AST-1025)
  20474. Reported by: Trey Blancher Patches: jira_ast_1025_v1.8_v2.patch
  20475. (license #5621) patch uploaded by rmudgett ........ Merged
  20476. revisions 375361 from
  20477. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20478. revisions 375362 from
  20479. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20480. revisions 375363 from
  20481. http://svn.asterisk.org/svn/asterisk/branches/11
  20482. 2012-10-23 16:22 +0000 [r375291-375328] Jonathan Rose <jrose@digium.com>
  20483. * contrib/scripts/ast_tls_cert, /: ast_tls_cert script: Better
  20484. response for various exit conditions to openssl (closes issue
  20485. ASTERISK-20260) Reported by: Daniel O'Connor Patches:
  20486. ast_tls_cert-update.diff uploaded by Daniel O'Connor (license
  20487. 6419) ........ Merged revisions 375325 from
  20488. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20489. revisions 375326 from
  20490. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20491. revisions 375327 from
  20492. http://svn.asterisk.org/svn/asterisk/branches/11
  20493. * /, main/app.c: core: Fix a memory leak in app.c from an early
  20494. return ast_app_group_match_get_count allocates memory with the
  20495. regcomp function and we previously forgot to free it when bailing
  20496. out due to a regex compilation failure against category. (closes
  20497. issue AST-1018) Reported by: Guenther Kelleter Patches:
  20498. regcomp_memleak.diff uploaded by Guenther Kelleter (license 6372)
  20499. ........ Merged revisions 375299 from
  20500. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20501. revisions 375300 from
  20502. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20503. revisions 375301 from
  20504. http://svn.asterisk.org/svn/asterisk/branches/11
  20505. * codecs/gsm/src/code.c, /: GSM: Fix encoding problems with GSM
  20506. (closes issue ASTERISK-20457) Reported by: Richard Miller
  20507. Patches: code.patch uploaded by Richard Miller (license 5685)
  20508. ........ Merged revisions 375272 from
  20509. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20510. revisions 375273 from
  20511. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20512. revisions 375288 from
  20513. http://svn.asterisk.org/svn/asterisk/branches/11
  20514. 2012-10-18 21:49 +0000 [r375240-375249] Jonathan Rose <jrose@digium.com>
  20515. * UPGRADE.txt: app_queue: add upgrade notes for 375216 Adds UPGRADE
  20516. notes describing behavioral changes to rrmemory strategy caused
  20517. by 375216 (issue AST-989) Reported by: Thomas Arimont
  20518. * /, apps/app_queue.c: app_queue: Make ordering of
  20519. rrmemory/rrordered persist over add/remove members Prior to this
  20520. patch, adding, removing or reloading members to rrmemory would
  20521. cause the order to become completely jumbled. Now it behaves more
  20522. or less like rrordered other than the fact that it stores the
  20523. members on a hash table rather than a linked list. This patch
  20524. also prevents removal of members and member reloads from jumbling
  20525. rrordered queues. (issue AST-989) Reported by: Thomas Arimont
  20526. Review: https://reviewboard.asterisk.org/r/2164/ ........ Merged
  20527. revisions 375216 from
  20528. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20529. revisions 375217 from
  20530. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20531. revisions 375219 from
  20532. http://svn.asterisk.org/svn/asterisk/branches/11
  20533. 2012-10-18 20:31 +0000 [r375215] Michael L. Young <elgueromexicano@gmail.com>
  20534. * apps/app_alarmreceiver.c: Fix XML Document Validation Failure Fix
  20535. documentation error when validating the xml in trunk caused by
  20536. r375150. Moved the description end tag down to below the
  20537. variablelist element end tag. Found when compiling with
  20538. --dev-mode-enabled. (issue ASTERISK-20289)
  20539. 2012-10-18 20:13 +0000 [r375192] Richard Mudgett <rmudgett@digium.com>
  20540. * makeopts.in, Makefile, /, build_tools/make_version, configure,
  20541. include/asterisk/autoconfig.h.in, configure.ac: build_tools:
  20542. Allow Asterisk to report git SHAs in version string. Make git
  20543. more attractive for managing work-in-progress. Especially
  20544. convenient when a potential patch set needs to be tested on
  20545. multiple platforms since one can use git to keep all the test
  20546. environments in sync independent of a subversion server. Now the
  20547. Asterisk version will show the exact git SHA5 that was used when
  20548. building (still appended by "M" if there are local modifications)
  20549. from a git clone of the Asterisk repository so the developer can
  20550. more easily know what is actually under test. You will now get
  20551. this: $ asterisk -V Asterisk GIT-1698298 Instead of this: $
  20552. asterisk -V Asterisk UNKNOWN__and_probably_unsupported This has
  20553. zero impact for those not using git with the exception of an
  20554. extra test in the configure script to gather git's path. This is
  20555. necessary to prevent "sudo make install" from failing since git
  20556. may not be in the path in make's shell environment. (closes issue
  20557. ASTERISK-20483) Reported by: Shaun Ruffell Patches:
  20558. 0001-build_tools-Allow-Asterisk-to-report-git-SHAs-in-ver.patch
  20559. (license #5417) patch uploaded by Shaun Ruffell Modified ........
  20560. Merged revisions 375189 from
  20561. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20562. revisions 375190 from
  20563. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20564. revisions 375191 from
  20565. http://svn.asterisk.org/svn/asterisk/branches/11
  20566. 2012-10-18 14:17 +0000 [r375182] Andrew Latham <lathama@gmail.com>
  20567. * main/features.c, include/asterisk/module.h,
  20568. include/asterisk/doxygen/reviewboard.h, main/logger.c,
  20569. main/http.c, include/asterisk/doxygen/licensing.h, main/dsp.c,
  20570. main/udptl.c, main/dnsmgr.c, contrib/asterisk-ng-doxygen,
  20571. Makefile.rules, codecs/log2comp.h, main/cli.c, main/cdr.c,
  20572. include/asterisk/doxyref.h,
  20573. include/asterisk/doxygen/asterisk-git-howto.h, main/manager.c,
  20574. main/app.c, pbx/pbx_dundi.c, include/asterisk/doxygen/commits.h,
  20575. include/asterisk/udptl.h, include/asterisk/smdi.h,
  20576. main/asterisk.c, include/asterisk/doxygen/architecture.h,
  20577. include/asterisk.h, main/ccss.c, Makefile.moddir_rules,
  20578. main/cel.c, main/named_acl.c, main/enum.c, Makefile,
  20579. include/asterisk/paths.h, include/asterisk/doxygen/releases.h,
  20580. include/asterisk/compat.h: Doxygen Updates - Title update Update
  20581. and extend the configuration_file group and enable linking.
  20582. Commit other cleanups from multi-version Doxygen testing. Update
  20583. title that was left behind many years ago. (issue ASTERISK-20259)
  20584. 2012-10-17 20:34 +0000 [r375175] Jonathan Rose <jrose@digium.com>
  20585. * main/manager.c: manager: remove curses dependent stuff from
  20586. r375103 Upon further examination, this code was causing
  20587. compliation problems on CentOS at the least (possibly on any
  20588. machine without curses) and also the local value of COLS is used
  20589. even with a remote console, so it is less than ideal. (issue
  20590. ASTERISK-20396) Reported by: Johan Wilfer
  20591. 2012-10-17 19:02 +0000 [r375150] Pedro Kiefer <pedro@kiefer.com.br>
  20592. * apps/app_alarmreceiver.c, configs/alarmreceiver.conf.sample: Adds
  20593. new formats to app_alarmreceiver, ALAW calls support and enhanced
  20594. protection. Commiting this on behalf of Kaloyan Kovachev (license
  20595. 5506). AlarmReceiver now supports the following DTMF signaling
  20596. types: - ContactId - 4x1 - 4x2 - High Speed - Super Fast We are
  20597. also auto-detecting which signaling is being received. So support
  20598. for those protocols should work out-the-box. Correctly identify
  20599. ALAW / ULAW calls. Some enhanced protection for broken panels and
  20600. malicious callers where added. (closes issue ASTERISK-20289)
  20601. Reported by: Kaloyan Kovachev Review:
  20602. https://reviewboard.asterisk.org/r/2088/
  20603. 2012-10-17 19:01 +0000 [r375149] Kinsey Moore <kmoore@digium.com>
  20604. * main/tcptls.c, /: Ensure Asterisk fails TCP/TLS SIP calls when
  20605. certificate checking fails When placing a call to a TCP/TLS SIP
  20606. endpoint whose certificate is not signed by a configured CA
  20607. certificate, Asterisk would issue a warning and continue to
  20608. process the call as if there was not an issue with the
  20609. certificate. Asterisk now properly fails the call if the
  20610. certificate fails verification or if the certificate does not
  20611. exist when certificate checking is enabled (the default
  20612. behavior). (closes issue ASTERISK-20559) Reported by: kmoore
  20613. Review: https://reviewboard.asterisk.org/r/2163/ ........ Merged
  20614. revisions 375146 from
  20615. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20616. revisions 375147 from
  20617. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20618. revisions 375148 from
  20619. http://svn.asterisk.org/svn/asterisk/branches/11
  20620. 2012-10-17 14:24 +0000 [r375110-375137] Walter Doekes <walter+asterisk@wjd.nu>
  20621. * res/res_rtp_asterisk.c, main/pbx.c, channels/chan_sip.c,
  20622. cdr/cdr_odbc.c: Change a few warnings to debug and the inverse.
  20623. Remove the "RTP Read too short" warning for RTP keepalives.
  20624. Remove the the warning about the application delimiter switch
  20625. from pipe to comma. (You should've done this by now.) Make
  20626. cdr_odbc report more when an insert fails. Make chan_sip warn
  20627. less when the peer wants SRTP (and we don't) or sends a zero port
  20628. to disable a media type. Review:
  20629. https://reviewboard.asterisk.org/r/2167 (closes issue
  20630. ASTERISK-20538)
  20631. * /, channels/chan_sip.c: Fixes to the fd-oriented SIP TCP reads.
  20632. Don't crash on large user input. Allow SIP headers without space.
  20633. Optimize code a bit. Review:
  20634. https://reviewboard.asterisk.org/r/2162 ........ Merged revisions
  20635. 375111 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  20636. ........ Merged revisions 375112 from
  20637. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20638. revisions 375113 from
  20639. http://svn.asterisk.org/svn/asterisk/branches/11
  20640. * channels/chan_sip.c: Don't do SIP contact/route DNS if we're not
  20641. using the result. In many cases (for peers behind NAT or for TCP
  20642. sockets) we do not need to look up any hostname in the Contact
  20643. (or Route) when sending an in-dialog request. This should reduce
  20644. netsock2.c: getaddrinfo errors in certain scenarios. Review:
  20645. https://reviewboard.asterisk.org/r/2156
  20646. 2012-10-16 20:45 +0000 [r375103] Jonathan Rose <jrose@digium.com>
  20647. * main/manager.c, CHANGES: manager: Change display of 'manager show
  20648. commands' and 'manager show command' manager show commands now
  20649. shows the full name of the command being displayed regardless of
  20650. size. The privilege column has also been removed from this
  20651. display. It will also now use the full length of the terminal if
  20652. curses is available. Manager show command will now always display
  20653. the privilege of the manager command within the CLI. (closes
  20654. ASTERISK-20396) Reported by: Johan Wilfer Review:
  20655. https://reviewboard.asterisk.org/r/2143/
  20656. 2012-10-16 19:26 +0000 [r375081] Pedro Kiefer <pedro@kiefer.com.br>
  20657. * apps/app_alarmreceiver.c: Fixes two small regressions from
  20658. ASTERISK-20157 - receive_dtmf_digits had the wrong buffer length
  20659. - app_alarmreceiver should wait 100ms before sending the second
  20660. part of handshake (closes issue ASTERISK-20484) Reported by:
  20661. Jean-Philippe Lord Tested by: Jean-Philippe Lord, Pedro Kiefer
  20662. Patches: ASTERISK-20484_v2.diff uploaded by Kaloyan Kovachev
  20663. (license 5506)
  20664. 2012-10-16 19:25 +0000 [r375080] Walter Doekes <walter+asterisk@wjd.nu>
  20665. * /, channels/chan_sip.c: Update sip_request_call SIP dial string
  20666. documentation. This was missed when merging review r1859.
  20667. ........ Merged revisions 375074 from
  20668. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20669. revisions 375078 from
  20670. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20671. revisions 375079 from
  20672. http://svn.asterisk.org/svn/asterisk/branches/11
  20673. 2012-10-16 14:09 +0000 [r375052] Joshua Colp <jcolp@digium.com>
  20674. * /, channels/chan_iax2.c: Remove a log message that was left in
  20675. accidentally from call-id logging development. ........ Merged
  20676. revisions 375051 from
  20677. http://svn.asterisk.org/svn/asterisk/branches/11
  20678. 2012-10-15 21:25 +0000 [r375044] Mark Michelson <mmichelson@digium.com>
  20679. * include/asterisk/strings.h, channels/chan_iax2.c,
  20680. apps/app_dial.c, /, main/ccss.c: Fix some potential misuses of
  20681. ast_str in the code. Passing an ast_str pointer by value that
  20682. then calls ast_str_set(), ast_str_set_va(), ast_str_append(), or
  20683. ast_str_append_va() can result in the pointer originally passed
  20684. by value being invalidated if the ast_str had to be reallocated.
  20685. This fixes places in the code that do this. Only the example in
  20686. ccss.c could result in pointer invalidation though since the
  20687. other cases use a stack-allocated ast_str and cannot be
  20688. reallocated. I've also updated the doxygen in strings.h to
  20689. include notes about potential misuse of the functions mentioned
  20690. previously. Review: https://reviewboard.asterisk.org/r/2161
  20691. ........ Merged revisions 375025 from
  20692. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20693. revisions 375026 from
  20694. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20695. revisions 375027 from
  20696. http://svn.asterisk.org/svn/asterisk/branches/11
  20697. 2012-10-15 08:26 +0000 [r375017] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
  20698. * channels/chan_unistim.c, /: Fix underscreen buttons warnings
  20699. apeared while transfer process ........ Merged revisions 375016
  20700. from http://svn.asterisk.org/svn/asterisk/branches/11
  20701. 2012-10-14 21:59 +0000 [r375003-375009] Andrew Latham <lathama@gmail.com>
  20702. * addons/chan_mobile.c, addons/app_mysql.c: Doxygen Updates Update
  20703. and extend the configuration_file group and enable linking.
  20704. (issue ASTERISK-20259)
  20705. * utils/extconf.c, utils/muted.c: Doxygen Updates Update and extend
  20706. the configuration_file group and enable linking. (issue
  20707. ASTERISK-20259)
  20708. * addons/Makefile, pbx/Makefile, formats/Makefile, sounds/Makefile,
  20709. funcs/Makefile, bridges/Makefile, agi/Makefile, codecs/Makefile,
  20710. utils/Makefile, tests/Makefile, cel/Makefile, main/Makefile:
  20711. Title update Update title that was left behind many years ago.
  20712. Used revision 6596 as my guide for what it should be. (issue
  20713. ASTERISK-20259)
  20714. * channels/chan_gtalk.c, channels/chan_console.c,
  20715. channels/Makefile, channels/chan_iax2.c, channels/chan_oss.c,
  20716. channels/chan_jingle.c, channels/chan_phone.c,
  20717. channels/chan_dahdi.c, channels/iax2-parser.h,
  20718. channels/chan_misdn.c, channels/chan_skinny.c,
  20719. channels/chan_motif.c, channels/chan_h323.c, channels/iax2.h,
  20720. channels/chan_alsa.c, channels/chan_mgcp.c, channels/chan_vpb.cc,
  20721. channels/chan_sip.c: Doxygen Updates - Title update Update and
  20722. extend the configuration_file group and enable linking. Update
  20723. title that was left behind many years ago. (issue ASTERISK-20259)
  20724. * cdr/Makefile, cdr/cdr_adaptive_odbc.c, cdr/cdr_pgsql.c,
  20725. cdr/cdr_odbc.c, cdr/cdr_radius.c, cdr/cdr_custom.c,
  20726. cdr/cdr_manager.c, cdr/cdr_csv.c, cdr/cdr_syslog.c: Doxygen
  20727. Updates - Title update Update and extend the configuration_file
  20728. group and enable linking. Update title that was left behind many
  20729. years ago. (issue ASTERISK-20259)
  20730. * apps/Makefile, apps/app_meetme.c, apps/app_festival.c,
  20731. apps/app_fax.c, apps/app_skel.c, apps/app_alarmreceiver.c,
  20732. apps/app_amd.c, apps/app_confbridge.c, apps/app_followme.c,
  20733. apps/app_queue.c, apps/app_adsiprog.c, apps/app_voicemail.c:
  20734. Doxygen Updates - Title update Update and extend the
  20735. configuration_file group and enable linking to the application.
  20736. Update title that was left behind many years ago. (issue
  20737. ASTERISK-20259)
  20738. * res/res_jabber.c, res/res_config_sqlite.c, res/res_smdi.c,
  20739. res/res_curl.c, res/res_config_ldap.c, res/res_odbc.c,
  20740. res/res_clialiases.c, res/res_calendar.c,
  20741. res/res_config_sqlite3.c, res/res_config_pgsql.c, res/res_snmp.c,
  20742. res/res_limit.c, res/res_fax.c, res/res_phoneprov.c,
  20743. res/Makefile, res/res_xmpp.c, res/res_musiconhold.c: Doxygen
  20744. Updates - Title update Update and extend the configuration_file
  20745. group and enable linking to the resource. Update title that was
  20746. left behind many years ago. (issue ASTERISK-20259)
  20747. 2012-10-14 12:23 +0000 [r374996] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
  20748. * /, config.guess, config.sub: Update config.guess and config.sub:
  20749. 2012-10-10 Update config.guess and config.sub to revision
  20750. fb456b34ef4aa02b95dc6be69aaa66fa94a844fb from the
  20751. savannah.gnu.org git repo. Adds support for e.g. aarch64 (ARM
  20752. 64bit). config.guess:timestamp='2012-09-25'
  20753. config.sub:timestamp='2012-10-10' ........ Merged revisions
  20754. 374977 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  20755. ........ Merged revisions 374991 from
  20756. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20757. revisions 374995 from
  20758. http://svn.asterisk.org/svn/asterisk/branches/11
  20759. 2012-10-13 19:58 +0000 [r374940-374970] Andrew Latham <lathama@gmail.com>
  20760. * CREDITS: Update CREDITS Update Jean-Denis and add myself (issue
  20761. ASTERISK-20259)
  20762. * Makefile: Multiplatform Makefile Update Paul Belanger pointed out
  20763. that using sed in the Makefile is an issue with multiple
  20764. platforms. We are cleaning up the Doxygen config as a following
  20765. step so I just switched the sed inplace changes to be an echo
  20766. append instead. (issue ASTERISK-20259)
  20767. * main/app.c, apps/app_dial.c: Doxygen Clean ups Add app_skel.c as
  20768. an example in app.c and fix some formating for the "Dial Privacy
  20769. scripts" so it actually shows up in the Doxygen output. (issue
  20770. ASTERISK-20259)
  20771. * Makefile: Test for Asterisk Version info Doxygen uses the
  20772. ASTERISKVERSION as a sub header. If a SVN export is done and no
  20773. .svn or .version file exists it defualts to
  20774. UNKNOWN__and_probably_unsupported which is honest but not great
  20775. for the online docs. During the "make progdocs" I added a test
  20776. for this and just warned and ommitted the version. (issue
  20777. ASTERISK-20259)
  20778. * contrib/asterisk-ng-doxygen: Correct output directory During
  20779. testing I used an alternate output directory and mistakenly
  20780. committed it. Matt Jordan noticed and I reverted. This is the
  20781. correct setting for local output to match with all branches.
  20782. (issue ASTERISK-20259)
  20783. * static-http/ajamdemo.html, static-http/astman.css: Add
  20784. licens/copyright header Begin update of static-http files and
  20785. general clean ups. This only adds the standard header to the
  20786. files. (issue ASTERISK-20503)
  20787. * configure, configure.ac, makeopts.in, Makefile: Add check for
  20788. Doxygen The autoconf configuration system had a test for DOT but
  20789. not for Doxygen. I added the test for Doxygen and did an overhaul
  20790. of the Makefile check to a much simpler process. (issue
  20791. ASTERISK-20259)
  20792. 2012-10-12 21:58 +0000 [r374933] Kinsey Moore <kmoore@digium.com>
  20793. * /, apps/app_voicemail.c: Avoid a segfault on invalid format names
  20794. If a format name was not found by ast_getformatbyname, a NULL
  20795. pointer would be passed into ast_format_rate and immediately
  20796. dereferenced. This ensures that a valid pointer is used since the
  20797. structure is already allocated on the stack. (closes issue
  20798. DPH-523) Reported-by: Steve Pitts ........ Merged revisions
  20799. 374932 from http://svn.asterisk.org/svn/asterisk/branches/11
  20800. 2012-10-12 16:31 +0000 [r374924] Mark Michelson <mmichelson@digium.com>
  20801. * main/tcptls.c, /, channels/chan_sip.c, include/asterisk/tcptls.h:
  20802. Do not use a FILE handle when doing SIP TCP reads. This is used
  20803. to solve an issue where a poll on a file descriptor does not
  20804. necessarily correspond to the readiness of a FILE handle to be
  20805. read. This change makes it so that for TCP connections, we do a
  20806. recv() on the file descriptor instead. Because TCP does not
  20807. guarantee that an entire message or even just one single message
  20808. will arrive during a read, a loop has been introduced to ensure
  20809. that we only attempt to handle a single message at a time. The
  20810. tcptls_session_instance structure has also had an overflow buffer
  20811. added to it so that if more than one TCP message arrives in one
  20812. go, there is a place to throw the excess. Huge thanks goes out to
  20813. Walter Doekes for doing extensive review on this change and
  20814. finding edge cases where code could fail. (closes issue
  20815. ASTERISK-20212) reported by Phil Ciccone Review:
  20816. https://reviewboard.asterisk.org/r/2123 ........ Merged revisions
  20817. 374905 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  20818. ........ Merged revisions 374906 from
  20819. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20820. revisions 374914 from
  20821. http://svn.asterisk.org/svn/asterisk/branches/11
  20822. 2012-10-11 23:40 +0000 [r374879-374897] Andrew Latham <lathama@gmail.com>
  20823. * contrib/scripts/install_prereq: Append Doxygen to Debian packages
  20824. list Add Doxygen to the Debian install list. I will check for
  20825. other platforms like Red Hat (issue ASTERISK-20259)
  20826. * static-http/mantest.html: Update JQuery URL to recent version The
  20827. JQuery URL to version 1.4 will be removed within the life span of
  20828. Asterisk 11. This is a compatible upgrade by using the URL for
  20829. 1.8. (issue ASTERISK-20503)
  20830. * main/manager.c, include/asterisk/module.h: Continue to group
  20831. config files (issue ASTERISK-20259)
  20832. * CREDITS: CREDITS clean up As discussed online
  20833. http://lists.digium.com/pipermail/asterisk-dev/2012-October/057245.html
  20834. the credits file needs some cleaning. This is 95% whitespace with
  20835. a few additions found in file headers. Further additions should
  20836. be added here instead of in the file being updated. (issue
  20837. ASTERISK-20259)
  20838. * contrib/asterisk-ng-doxygen: Revert Local testing Config Revert a
  20839. local testing config that I made. This was not intended to be
  20840. committed. Thank you Matt Jordan for noticing this. (issue
  20841. ASTERISK-20259)
  20842. 2012-10-11 21:19 +0000 [r374852-374878] Joshua Colp <jcolp@digium.com>
  20843. * /, channels/chan_motif.c: Fix a bug where audio on Google Voice
  20844. would not work due to ignoring candidates. Instead of ignoring
  20845. parts of the message that are not known just ignore the ones we
  20846. know may be present and that would cause a problem. ........
  20847. Merged revisions 374877 from
  20848. http://svn.asterisk.org/svn/asterisk/branches/11
  20849. * /, channels/chan_motif.c: Fix an issue where outgoing calls would
  20850. fail to establish audio due to ICE negotiation failures. This
  20851. change removes the requirement for ufrag and pwd in the transport
  20852. stanza and also makes us the controlling agent. (closes issue
  20853. ASTERISK-20554) Reported by: mmichelson ........ Merged revisions
  20854. 374850 from http://svn.asterisk.org/svn/asterisk/branches/11
  20855. 2012-10-11 15:49 +0000 [r374849] Mark Michelson <mmichelson@digium.com>
  20856. * channels/chan_sip.exports.in (removed), main/sip_api.c (added),
  20857. /, channels/chan_sip.c, include/asterisk/sip_api.h: Don't make
  20858. chan_sip export global symbols. During testing, it was discovered
  20859. that having chan_sip export global symbols was problematic. The
  20860. biggest problem was that load order was affected. Trying to use
  20861. realtime could be problematic since in all likelihood the
  20862. necessary realtime driver(s) would not be loaded before chan_sip.
  20863. In addition, it was found that it was impossible to use the
  20864. Digium Phone Module for Asterisk since it must be loaded before
  20865. chan_sip since it must hook into chan_sip's configuration
  20866. parsing. The solution is to use a virtual table in the same
  20867. manner that other modules in Asterisk do, like app_voicemail.
  20868. (closes issue ASTERISK-20545) Reported by: kmoore ........ Merged
  20869. revisions 374842 from
  20870. http://svn.asterisk.org/svn/asterisk/branches/11
  20871. 2012-10-11 15:44 +0000 [r374846] Matthew Jordan <mjordan@digium.com>
  20872. * main/cdr.c, /: Fix incorrect billing duration reported when batch
  20873. mode is enabled Similar to r369351, the billing duration can be
  20874. skewed when batch mode is enabled. This happened much more rarely
  20875. than the duration, as it only occured when the call was answered
  20876. (thereby indicating an actual answer time) and immediately hung
  20877. up on (indicating a billsec of 0). Since a billing time of '0'
  20878. can either mean that the call immediately ended or that the CDR
  20879. was improperly answered, we have to use additional information to
  20880. know whether or not we can trust the CDR billsec value. Prior to
  20881. this patch, we looked to see if we had a valid answer time. If we
  20882. did, and billsec was zero, we used the current time to calculate
  20883. what billsec value we could from the CDR being written. If batch
  20884. mode is enabled, this will incorrectly report a billsec value
  20885. being much greater than the actual duration of the call. Instead
  20886. of relying on the presence of an answer time to know whether or
  20887. not we can re-calculate the billsec for the CDR, we now also use
  20888. the presence of the CDR's end time to know if we need to
  20889. re-calculate or whether we can trust the billsec value that we
  20890. have. This prevents erroneous jumps in the billsec value, while
  20891. still making sure that in the worst case, some billing time will
  20892. be calculated. (closes issue AST-1016) Reported by: Thomas
  20893. Arimont Tested by: Thomas Arimont ........ Merged revisions
  20894. 374843 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  20895. ........ Merged revisions 374844 from
  20896. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20897. revisions 374845 from
  20898. http://svn.asterisk.org/svn/asterisk/branches/11
  20899. 2012-10-11 13:34 +0000 [r374834] Joshua Colp <jcolp@digium.com>
  20900. * /, channels/chan_motif.c: Consider the Google Talk content stanza
  20901. name (jin:content) valid. ........ Merged revisions 374833 from
  20902. http://svn.asterisk.org/svn/asterisk/branches/11
  20903. 2012-10-10 21:05 +0000 [r374805] Richard Mudgett <rmudgett@digium.com>
  20904. * apps/app_queue.c, /: app_queue: Made pass connected line updates
  20905. from the caller to ringing queue members. Party A calls Party B
  20906. Party B puts Party A on hold. Party B calls a queue. Ringing
  20907. queue member D sees Party B identification. Party B transfers
  20908. Party A to the queue. Queue member D does not get a connected
  20909. line update for Party A. Queue member D answers the call and
  20910. still sees Party B information. However, if Party A later
  20911. transfers the call to Party C then queue member D gets a
  20912. connected line update for Party C. * Made pass connected line
  20913. updates from the caller to queue members while the queue members
  20914. are ringing. (closes issue AST-1017) Reported by: Thomas Arimont
  20915. (closes issue ABE-2886) Reported by: Thomas Arimont Tested by:
  20916. rmudgett ........ Merged revisions 374801 from
  20917. https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
  20918. ........ Merged revisions 374802 from
  20919. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20920. revisions 374803 from
  20921. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20922. revisions 374804 from
  20923. http://svn.asterisk.org/svn/asterisk/branches/11
  20924. 2012-10-10 13:40 +0000 [r374793] Kinsey Moore <kmoore@digium.com>
  20925. * main/manager.c, /: Fix segfault regression from r370681 Due to
  20926. usage of ast_hook_send_action, AMI action handling code should be
  20927. able to handle a NULL mansession->session. This would cause a
  20928. crash on NULL dereference if action_originate was called from
  20929. ast_hook_send_action. (closes issue ASTERISK-20544) ........
  20930. Merged revisions 374792 from
  20931. http://svn.asterisk.org/svn/asterisk/branches/11
  20932. 2012-10-09 22:24 +0000 [r374778] Richard Mudgett <rmudgett@digium.com>
  20933. * main/pbx.c, /: Fix execution of 'i' extension due to
  20934. uninitialized variable. The fix for ASTERISK-18243 added code
  20935. that could potentially use dst_exten[] uninitialized. As a result
  20936. the 'i' exten may not be executed when it should. (closes issue
  20937. ASTERISK-20455) Reported by: Richard Miller Patches:
  20938. pbx-1.8.16.0.diff (license #5685) patch uploaded by Richard
  20939. Miller Made some cosmetic modifications. ........ Merged
  20940. revisions 374758 from
  20941. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20942. revisions 374763 from
  20943. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20944. revisions 374771 from
  20945. http://svn.asterisk.org/svn/asterisk/branches/11
  20946. 2012-10-09 21:35 +0000 [r374757] Joshua Colp <jcolp@digium.com>
  20947. * /, channels/chan_sip.c: Improve logging for DTLS-SRTP failure
  20948. situations. (closes issue ASTERISK-20487) Reported by: mjordan
  20949. ........ Merged revisions 374756 from
  20950. http://svn.asterisk.org/svn/asterisk/branches/11
  20951. 2012-10-08 22:31 +0000 [r374717-374730] Richard Mudgett <rmudgett@digium.com>
  20952. * configs/chan_dahdi.conf.sample, /: dahdi.conf.sample: Add
  20953. description for "buffers" setting. This contains an edited
  20954. version of the patch originally created by John Bigelow. (closes
  20955. issue ASTERISK-14435) Reported by: John Bigelow Patches:
  20956. buffers.patch (license #5091) patch uploaded by John Bigelow
  20957. 0001-dahdi.conf.sample-Add-description-for-buffers-settin.patch
  20958. (license #5417) patch uploaded by Shaun Ruffell Modified ........
  20959. Merged revisions 374727 from
  20960. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  20961. revisions 374728 from
  20962. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20963. revisions 374729 from
  20964. http://svn.asterisk.org/svn/asterisk/branches/11
  20965. * pbx/pbx_spool.c, /: Fix deletion of unopenable spool files. If
  20966. scan_service() cannot open the spool file, it logs a message
  20967. saying that it will delete the file and calls remove_from_queue()
  20968. to do it. However, remove_from_queue() fails to delete the spool
  20969. file because struct outgoing has not yet been fully initialized.
  20970. * Merged allocating a new struct outgoing and init_outgoing()
  20971. into new_outgoing(). Allocation is initialization. * Made
  20972. apply_outgoing() not initialize the spool filename in struct
  20973. outgoing. * Made apply_outgoing() call ast_trim_blanks() and
  20974. ast_skip_blanks() rather than manually inlining them. * Reduced
  20975. indentation levels in apply_outgoing(). * Fixed a garbled comment
  20976. in remove_from_queue(). * Reworked scan_service() to simplify it.
  20977. (closes issue ASTERISK-17231) Reported by: David Chappell
  20978. Patches: spool_open_failure.diff (license #4997) patch uploaded
  20979. by David Chappell Started with this patch. ........ Merged
  20980. revisions 374686 from
  20981. http://svn.asterisk.org/svn/asterisk/branches/1.8 * Fixed some
  20982. memory leaks on off nominal paths in init_outgoing() when merging
  20983. into the new_outgoing() function dealing with o->capabilities.
  20984. ........ Merged revisions 374695 from
  20985. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  20986. revisions 374708 from
  20987. http://svn.asterisk.org/svn/asterisk/branches/11
  20988. 2012-10-08 20:39 +0000 [r374633-374677] Matthew Jordan <mjordan@digium.com>
  20989. * res/res_rtp_asterisk.c, /, configs/rtp.conf.sample: Disable ICE
  20990. support by default Since there are a number of legacy devices out
  20991. there that fail to handle ICE candidates properly (which is a
  20992. nice way of saying something much uglier), disable it by default.
  20993. Support for ICE candidates can be enabled in rtp.conf using the
  20994. icesupport setting. ........ Merged revisions 374676 from
  20995. http://svn.asterisk.org/svn/asterisk/branches/11
  20996. * apps/confbridge/conf_state_multi.c (added),
  20997. apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c
  20998. (added), apps/confbridge/conf_state_empty.c (added),
  20999. apps/confbridge/conf_state.c (added),
  21000. apps/confbridge/conf_state_single.c (added),
  21001. apps/confbridge/conf_state_inactive.c (added),
  21002. apps/confbridge/conf_state_single_marked.c (added), /,
  21003. apps/confbridge/include/confbridge.h,
  21004. apps/confbridge/include/conf_state.h (added): Resolve issues in
  21005. ConfBridge regarding marked, waitmarked, and unmarked users
  21006. Thank's to Neil Tallim (flan)'s tireless testing, issue
  21007. reporting, and patches it became clear that app_confbridge had
  21008. some complex logic in how it handled interactions between marked,
  21009. waitmarked, and unmarked users. In particular, there were some
  21010. areas in which the interactions between the users resulted in
  21011. inconsistent behavior, and app_confbridge was missing logic in
  21012. how to handle some corner cases. Some areas included: * Poor
  21013. handling of mixing unmarked and waitmarked users *
  21014. Inconsistencies in how MOH and muting was applied to various
  21015. users * Handling of various announcements for different user
  21016. profile options flan's patches seem to fix the various issues,
  21017. but highlighted how hard the code could be to maintain. In an
  21018. attempt to make things easier to maintain and to more fully
  21019. enumerate the various cases that exist, this patch breaks up the
  21020. logic into a state machine-like setup. Please note that the
  21021. various state transitioned are documented on the Asterisk wiki:
  21022. https://wiki.asterisk.org/wiki/display/AST/Confbridge+state+changes
  21023. Review: //https://reviewboard.asterisk.org/r/2072/ Note that for
  21024. the following issues, mjordan uploaded the patch, although it was
  21025. written by twilson. Any contributor license discrepency is due to
  21026. that. (closes issue ASTERISK-19562) Reported by: flan Tested by:
  21027. flan, mjordan, jrose patches:
  21028. bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by
  21029. twilson (license 6283) (closes issue ASTERISK-19726) Reported by:
  21030. flan Tested by: flan patches:
  21031. bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by
  21032. twilson (license 6283) (closes issue ASTERISK-20181) Reported by:
  21033. Jonathan White Tested by: Jonathan White patches:
  21034. bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by
  21035. twilson (license 6283) ........ Merged revisions 374652 from
  21036. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21037. revisions 374657 from
  21038. http://svn.asterisk.org/svn/asterisk/branches/11
  21039. * res/pjproject/pjlib/src/pj/sock_linux_kernel.c,
  21040. res/pjproject/pjlib/include/pj/sock.h,
  21041. res/pjproject/pjlib/src/pj/sock_symbian.cpp, /,
  21042. res/pjproject/pjlib/src/pj/sock_bsd.c: pjproject: Fix for Solaris
  21043. builds. Do not undef s_addr. pjproject, in order to solve build
  21044. problems on Windows [1], undefines s_addr in one of it's headers
  21045. that is included in res_rtp_asterisk.c. On Solaris s_addr is not
  21046. a structure member, but defined to map to the real strucuture
  21047. member, therefore when building on Solaris it's possible to get
  21048. build errors like: [CC] res_rtp_asterisk.c -> res_rtp_asterisk.o
  21049. In file included from
  21050. /export/home/admin/asterisk-11-svn/include/asterisk/stun.h:29,
  21051. from res_rtp_asterisk.c:51:
  21052. /export/home/admin/asterisk-11-svn/include/asterisk/network.h: In
  21053. function `inaddrcmp':
  21054. /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92:
  21055. error: structure has no member named `s_addr'
  21056. /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92:
  21057. error: structure has no member named `s_addr' res_rtp_asterisk.c:
  21058. In function `ast_rtp_on_ice_tx_pkt': res_rtp_asterisk.c:706:
  21059. warning: dereferencing type-punned pointer will break
  21060. strict-aliasing rules res_rtp_asterisk.c:710: warning:
  21061. dereferencing type-punned pointer will break strict-aliasing
  21062. rules res_rtp_asterisk.c: In function
  21063. `rtp_add_candidates_to_ice': res_rtp_asterisk.c:1085: error:
  21064. structure has no member named `s_addr' make[2]: ***
  21065. [res_rtp_asterisk.o] Error 1 make[1]: *** [res] Error 2 make[1]:
  21066. Leaving directory `/export/home/admin/asterisk-11-svn' gmake: ***
  21067. [_cleantest_all] Error 2 Unfortunately, in order to make this
  21068. work, I also had to make sure pjproject only used the typdef
  21069. pj_in_addr and not the struct pj_in_addr so that when building
  21070. Asterisk I could "typedef struct in_addr pj_in_addr". It's
  21071. possible then that the library and users of those interfaces in
  21072. Asterisk have a different idea about the type of the argument,
  21073. while on the surface it looks like they are all 32 bit big endian
  21074. values. [1] http://trac.pjsip.org/repos/changeset/484 (issues
  21075. ASTERISK-20366) Reported by: Ben Klang Tested by: Ben Klang,
  21076. mjordan patches:
  21077. 0001-pjproject-Fix-for-Solaris-builds.-Do-not-undef-s.patch
  21078. uploaded by Shaun Ruffell (license 5417) ........ Merged
  21079. revisions 374642 from
  21080. http://svn.asterisk.org/svn/asterisk/branches/11
  21081. * main/acl.c, /: Trivial patch to make 'best_score' defined for all
  21082. architectures. Fixes trivial build error on Solaris: acl.c: In
  21083. function `get_local_address': acl.c:196: error: `best_score'
  21084. undeclared (first use in this function) acl.c:196: error: (Each
  21085. undeclared identifier is reported only once acl.c:196: error: for
  21086. each function it appears in.) make[2]: *** [acl.o] Error 1 (issue
  21087. ASTERISK-20366) Reported by: Ben Klang Tested by: Ben Klang
  21088. patches:
  21089. 0002-main-acl.c-Trivial.-best_score-should-be-defined-for.patch
  21090. by Shaun Ruffell (license 5417) ........ Merged revisions 374632
  21091. from http://svn.asterisk.org/svn/asterisk/branches/11
  21092. 2012-10-06 03:22 +0000 [r374612-374623] Matthew Jordan <mjordan@digium.com>
  21093. * /, res/res_xmpp.c: Handle capability stanzas that fail to provide
  21094. node or version information While XEP-0115 states that the node
  21095. and ver attributes are both required, some devices fail to
  21096. provide either field. Prior to this patch, failure to provide the
  21097. node or ver attribute would cause a crash in res_xmpp. While
  21098. failing to provide the node or ver attribute is technically
  21099. invalid, since this information is not utilized by Asterisk
  21100. except for reporting purposes, for interoperability reasons, we
  21101. continue to process the capability stanza anyways. (closes issue
  21102. ASTERISK-20495) Reported by: Martin W Tested by: Martin W
  21103. patches: 20495.patch uploaded by Martin W (license #6434)
  21104. ........ Merged revisions 374622 from
  21105. http://svn.asterisk.org/svn/asterisk/branches/11
  21106. * res/res_xmpp.c, main/message.c, /: Update documentation for
  21107. MessageSend application/command's From field for XMPP When using
  21108. the channel technology agnostic application/AMI command
  21109. MessageSend, the "From" field is technically optional for the SIP
  21110. channel driver. However, if being sent by the XMPP resource
  21111. module (either res_xmpp or res_jabber), the "From" field is
  21112. necessary, and must correspond to a defined account. This patch
  21113. updates the documentation for this application/AMI command to
  21114. reflect this. (closes issue ASTERISK-20405) Reported by: Leif
  21115. Madsen ........ Merged revisions 374611 from
  21116. http://svn.asterisk.org/svn/asterisk/branches/11
  21117. 2012-10-05 20:33 +0000 [r374588] David M. Lee <dlee@digium.com>
  21118. * main/manager.c, /: Multiple revisions 374570,374581 ........
  21119. r374570 | dlee | 2012-10-05 15:14:41 -0500 (Fri, 05 Oct 2012) |
  21120. 22 lines Improve AMI long line error handling In AMI's parser,
  21121. when it receives a long line (> 1024 characters), it discards
  21122. that line, but continues to process the message normally.
  21123. Typically, this is not a problem because a) who has lines that
  21124. long and b) usually a discarded line results in an invalid
  21125. message. But if that line is specifying an optional field, then
  21126. the message will be processed, you get a 'Response: Success', but
  21127. things don't work the way you expected them to. This patch
  21128. changes the behavior when a line-too-long parse error occurs. *
  21129. Changes the log message to avoid way-too-long (and truncated
  21130. anyways) log messages * Adds a 'parsing' status flag to Response:
  21131. Success * Sets parsing = MESSAGE_LINE_TOO_LONG if, well, a line
  21132. is too long * Responds with an appropriate error if parsing !=
  21133. MESSAGE_OKAY (closes issue AST-961) Reported by: John Bigelow
  21134. Review: https://reviewboard.asterisk.org/r/2142/ ........ r374581
  21135. | dlee | 2012-10-05 15:20:28 -0500 (Fri, 05 Oct 2012) | 1 line
  21136. I've committed too much. Reverting part of r374570. ........
  21137. Merged revisions 374570,374581 from
  21138. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21139. revisions 374586 from
  21140. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21141. revisions 374587 from
  21142. http://svn.asterisk.org/svn/asterisk/branches/11
  21143. 2012-10-05 18:42 +0000 [r374539] Richard Mudgett <rmudgett@digium.com>
  21144. * channels/chan_misdn.c, /, channels/misdn/isdn_msg_parser.c,
  21145. channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h: Merged
  21146. revisions 374515-374535 from
  21147. https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
  21148. ................ r374515 | rmudgett | 2012-10-04 17:52:36 -0500
  21149. (Thu, 04 Oct 2012) | 10 lines chan_misdn: Remove some deadcode *
  21150. Made setup_bc() static. Patches: patch1_unused-code.diff (license
  21151. #6372) patch uploaded by Guenther Kelleter Modified JIRA ABE-2882
  21152. ................ r374516 | rmudgett | 2012-10-04 18:01:01 -0500
  21153. (Thu, 04 Oct 2012) | 7 lines chan_misdn: Remove unused bchan
  21154. states Patches: patch2_unused-states.diff (license #6372) patch
  21155. uploaded by Guenther Kelleter JIRA ABE-2882 ................
  21156. r374517 | rmudgett | 2012-10-04 18:17:51 -0500 (Thu, 04 Oct 2012)
  21157. | 16 lines chan_misdn: Remove unnecessary null pointer checks and
  21158. checks for stack->nt * cleanup_bc() is always called with valid
  21159. bc (or it would've crashed before). * Value of stack->nt is known
  21160. in advance at some places. * Rename handle_event() to
  21161. handle_event_te(), handle_frm() to handle_frm_te(). Patches:
  21162. patch3_checks.diff (license #6372) patch uploaded by Guenther
  21163. Kelleter Modified JIRA ABE-2882 ................ r374518 |
  21164. rmudgett | 2012-10-04 18:21:59 -0500 (Thu, 04 Oct 2012) | 7 lines
  21165. chan_misdn: Fix spelling in log messages Patches:
  21166. patch4_spelling.diff (license #6372) patch uploaded by Guenther
  21167. Kelleter JIRA ABE-2882 ................ r374519 | rmudgett |
  21168. 2012-10-04 18:31:59 -0500 (Thu, 04 Oct 2012) | 15 lines
  21169. chan_misdn: Don't cleanup a bc twice. In handle_frm_te() after
  21170. calling misdn_lib_send_event(bc, EVENT_RELEASE_COMPLETE) bc is
  21171. emptied, cleaned and set not in use, although
  21172. misdn_lib_send_event() already did the same. This is bad. When
  21173. it's not in use we are not allowed to touch it. * Moved log
  21174. message in front of the resulting actions and fixed it to match
  21175. the case. Patches: patch5_bccleanup.diff (license #6372) patch
  21176. uploaded by Guenther Kelleter JIRA ABE-2882 ................
  21177. r374520 | rmudgett | 2012-10-04 18:43:56 -0500 (Thu, 04 Oct 2012)
  21178. | 12 lines chan_misdn: Fix memory leaks, bc, chan not cleaned up
  21179. etc., really bad stuff. * Fix return codes of cb_events() for
  21180. EVENT_SETUP to use caller's cleanup mechanisms. * Move
  21181. cl_queue_chan() call after bearer check. Patches:
  21182. patch6_leaks.diff (license #6372) patch uploaded by Guenther
  21183. Kelleter JIRA ABE-2882 ................ r374521 | rmudgett |
  21184. 2012-10-04 18:48:38 -0500 (Thu, 04 Oct 2012) | 11 lines
  21185. chan_misdn: We must initialize cause on sending a DISCONNECT. We
  21186. must initialize cause on sending a DISCONNECT, so it is later
  21187. correctly indicated to ast_channel in case the answer
  21188. (RELEASE/RELEASE_COMPLETE) does not include one. Patches:
  21189. patch7_hangupcause.diff (license #6372) patch uploaded by
  21190. Guenther Kelleter JIRA ABE-2882 ................ r374522 |
  21191. rmudgett | 2012-10-04 19:03:56 -0500 (Thu, 04 Oct 2012) | 7 lines
  21192. chan_misdn: Remove unused code for upqueue Patches:
  21193. patch8_unused-upqueue.diff (license #6372) patch uploaded by
  21194. Guenther Kelleter JIRA ABE-2882 ................ r374523 |
  21195. rmudgett | 2012-10-04 19:11:50 -0500 (Thu, 04 Oct 2012) | 7 lines
  21196. chan_misdn: Improve debugging (port number, messages fixed, dups
  21197. removed) Patches: patch9_debug.diff (license #6372) patch
  21198. uploaded by Guenther Kelleter JIRA ABE-2882 ................
  21199. r374533 | rmudgett | 2012-10-05 12:17:18 -0500 (Fri, 05 Oct 2012)
  21200. | 8 lines chan_misdn: Better debug: we can print_bc_info even if
  21201. there's no ast leg. Patches: patch10_debug-bc-2.diff (license
  21202. #6372) patch uploaded by Guenther Kelleter Modified. JIRA
  21203. ABE-2882 ................ r374534 | rmudgett | 2012-10-05
  21204. 12:34:10 -0500 (Fri, 05 Oct 2012) | 16 lines chan_misdn:
  21205. setup_bc() is called too early for an incoming SETUP on TE. This
  21206. prevents the B channel from being setup for HDLC mode when
  21207. requested by the bearer capability and config option hdlc=yes. It
  21208. violates ETS300102 Ch.5.2.3.2: "The user, in any case, must not
  21209. connect to the channel until a CONNECT ACKNOWLEDGE message has
  21210. been received." * Call setup_bc() on receipt of
  21211. CONNECT_ACKNOWLEGDE for PTMP, and on first response to SETUP for
  21212. PTP. Patches: abe-2881-2.diff (license #6372) patch uploaded by
  21213. Guenther Kelleter Modified. JIRA ABE-2881 ................
  21214. r374535 | rmudgett | 2012-10-05 12:41:05 -0500 (Fri, 05 Oct 2012)
  21215. | 2 lines chan_misdn: Remove some more deadcode. ................
  21216. ........ Merged revisions 374536 from
  21217. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21218. revisions 374537 from
  21219. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21220. revisions 374538 from
  21221. http://svn.asterisk.org/svn/asterisk/branches/11
  21222. 2012-10-04 20:21 +0000 [r374478-374493] Alec L Davis <sivad.a@paradise.net.nz>
  21223. * /, configs/dsp.conf.sample, CHANGES, main/dsp.c: dsp.c User
  21224. Configurable DTMF_HITS_TO_BEGIN and DTMF_MISSES_TO_END Instead of
  21225. a recompile, allow values to be adjusted in dsp.conf For binary
  21226. distributions allows easy adjustment for wobbly GSM calls, and
  21227. other reasons. Defaults to DTMF_HITS_TO_BEGIN=2 and
  21228. DTMF_MISSES_TO_END=3 (closes issue ASTERISK-17493) Reported by:
  21229. alecdavis Tested by: alecdavis alecdavis (license 585) Review
  21230. https://reviewboard.asterisk.org/r/2144/ ........ Merged
  21231. revisions 374479 from
  21232. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21233. revisions 374481 from
  21234. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21235. revisions 374485 from
  21236. http://svn.asterisk.org/svn/asterisk/branches/11
  21237. * main/dsp.c, /: dsp.c fix incorrect DTMF Digit_Duration. it's
  21238. always short by 'hits_to_begin*DTMF_GSIZE', or 25.5ms if
  21239. hitstobegin=2 (issue ASTERISK-16003) Tested by: alecdavis
  21240. alecdavis (license 585) Review
  21241. https://reviewboard.asterisk.org/r/2145/ ........ Merged
  21242. revisions 374475 from
  21243. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21244. revisions 374476 from
  21245. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21246. revisions 374477 from
  21247. http://svn.asterisk.org/svn/asterisk/branches/11
  21248. 2012-10-04 15:48 +0000 [r374429] David M. Lee <dlee@digium.com>
  21249. * /, res/res_agi.c, main/db.c: Fix DBDelTree error codes for AMI,
  21250. CLI and AGI The AMI DBDelTree command will return Success/Key
  21251. tree deleted successfully even if the given key does not exist.
  21252. The CLI command 'database deltree' had a similar problem, but was
  21253. saved because it actually responded with '0 database entries
  21254. removed'. AGI had a slightly different error, where it would
  21255. return success if the database was unavailable. This came from
  21256. confusion about the ast_db_deltree retval, which is -1 in the
  21257. event of a database error, or number of entries deleted
  21258. (including 0 for deleting nothing). * Changed some poorly named
  21259. res variables to num_deleted * Specified specific errors when
  21260. calling ast_db_deltree (database unavailable vs. entry not found
  21261. vs. success) * Fixed similar bug in AGI database deltree, where
  21262. 'Database unavailable' results in successful result (closes issue
  21263. AST-967) Reported by: John Bigelow Review:
  21264. https://reviewboard.asterisk.org/r/2138/ ........ Merged
  21265. revisions 374426 from
  21266. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21267. revisions 374427 from
  21268. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21269. revisions 374428 from
  21270. http://svn.asterisk.org/svn/asterisk/branches/11
  21271. 2012-10-04 13:49 +0000 [r374414] Joshua Colp <jcolp@digium.com>
  21272. * include/asterisk/rtp_engine.h, main/rtp_engine.c,
  21273. channels/chan_sip.c: Add support for applying direct media ACLs
  21274. between differing channel technologies. Review:
  21275. https://reviewboard.asterisk.org/r/2122/
  21276. 2012-10-04 04:50 +0000 [r374387] Alec L Davis <sivad.a@paradise.net.nz>
  21277. * CHANGES, main/dsp.c, /, configs/dsp.conf.sample: dsp.c User
  21278. configuration of DTMF_NORMAL_TWIST and DTMF_REVERSE_TWIST values
  21279. Asterisk's DTMF Specifications are based on AT&T specs, which may
  21280. not be compatible in other countries. Various countries have
  21281. different specifications for the maximum power level differences
  21282. between the DTMF low group and high group of frequencies. Power
  21283. level difference between frequencies for different
  21284. Administrations/RPOAs NTT = Max. 5 dB AT&T = 4dB(reverse) to
  21285. 8dB(normal) Danish = Max. 6 dB Australian = Max. 10 dB Brazilian
  21286. = Max. 9 dB ETSI = Max. 6 dB from ETSI ES 201 235-3 V1.3.1
  21287. (2006-03) Now allow 4 variables to be individually configured in
  21288. dsp.conf, with reasonable min/max of 2dB to 20dB. Default is AT&T
  21289. specifications Add's the following variables to dsp.conf
  21290. ;dtmf_normal_twist=6.31 ;dtmf_reverse_twist=2.51
  21291. ;relax_dtmf_normal_twist=6.31 ;relax_dtmf_reverse_twist=3.98
  21292. (closes issue ASTERISK-20442) Reported by: tbsky Tested by:
  21293. tbsky,alecdavis alecdavis (license 585) Review
  21294. https://reviewboard.asterisk.org/r/2141/ ........ Merged
  21295. revisions 374384 from
  21296. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21297. revisions 374385 from
  21298. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21299. revisions 374386 from
  21300. http://svn.asterisk.org/svn/asterisk/branches/11
  21301. 2012-10-04 02:16 +0000 [r374302-374338] Matthew Jordan <mjordan@digium.com>
  21302. * /, res/res_jabber.c: Check for presence of buddy in info/dinfo
  21303. handlers The res_jabber resource module uses the ASTOBJ library
  21304. for managing its ref counted objects. After calling
  21305. ASTOBJ_CONTAINER_FIND to locate a buddy object, the pointer to
  21306. the object has to be checked to see if the buddy existed. Prior
  21307. to this patch, the buddy object was not checked for NULL; with
  21308. this patch in both aji_client_info_handler and aji_dinfo_handler
  21309. the pointer is checked before used and, if no buddy object was
  21310. found, the handlers return an error code. This patch does not
  21311. take the approach that our JID can be used to log in from another
  21312. resource. If that approach is desired, an improvement could be
  21313. made to this patch to create the buddy on the fly. This patch
  21314. seeks only to prevent Asterisk from crashing. FYI: In Asterisk
  21315. 11+, you really should be using res_xmpp. It does not have this
  21316. problem, as it moved to the astobj2 library. Note that multiple
  21317. people have proposed patches for this issue; the patch being
  21318. committed here is based on those. (closes issue ASTERISK-19532)
  21319. Reported by: Karsten Wemheuer Tested by: Byron Clark patches:
  21320. fix-jabber uploaded by Karsten Wemheuer (license #5930)
  21321. xmpp_no_crash_with_ejabberd.patch uploaded by Byron Clark
  21322. (license #6157) (closes issue ASTERISK-19557) Reported by:
  21323. ulugutz ........ Merged revisions 374335 from
  21324. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21325. revisions 374336 from
  21326. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21327. revisions 374337 from
  21328. http://svn.asterisk.org/svn/asterisk/branches/11
  21329. * /, main/ccss.c: Destroy the generic_monitors container after the
  21330. core_instances in ccss For each item in core_instances disposed
  21331. of in the shutdown of ccss, any generic monitor instances
  21332. referenced by the objects will be removed from generic_monitors
  21333. during their destruction. Hilarity ensues if generic_monitors no
  21334. longer exists. Thanks to the Asterisk Test Suite's generic_ccss
  21335. test for complaining loudly when it ran into this. ........
  21336. Merged revisions 374300 from
  21337. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21338. revisions 374301 from
  21339. http://svn.asterisk.org/svn/asterisk/branches/11
  21340. 2012-10-02 23:23 +0000 [r374269-374279] Richard Mudgett <rmudgett@digium.com>
  21341. * main/astobj2.c: Missed an astobj2.c debug tag.
  21342. * main/astobj2.c: * Add ref debug tags to astobj2.c ref usage. *
  21343. Make container nodes not show up in the ref debug log.
  21344. 2012-10-02 21:26 +0000 [r374197-374259] Matthew Jordan <mjordan@digium.com>
  21345. * main/asterisk.c, /: Ensure Shutdown AMI event is still fired
  21346. during Asterisk shutdown Richard pointed out that having the
  21347. manager dispose of itself gracefully during shutdown meant that
  21348. the Shutdown event will no longer get fired. This patch moves the
  21349. AMI event just prior to running the atexit callbacks. ........
  21350. Merged revisions 374230 from
  21351. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21352. revisions 374231 from
  21353. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21354. revisions 374248 from
  21355. http://svn.asterisk.org/svn/asterisk/branches/11
  21356. * utils/hashtest2.c: Modify hashtest2 to compile after r374213.
  21357. Someone, somewhere, may care. Because hashtest2 has to provide
  21358. symbols for things in asterisk that items it includes may use,
  21359. when astobj2 decided to use ast_register_atexit it needed to
  21360. provide a declaration for that as well. Otherwise - no linky. On
  21361. a related note, ASTERISK-20505 was filed to convert
  21362. hashtest/hashtest2 into actual unit tests, so we don't run into
  21363. this problem again.
  21364. * main/astobj2.c, main/message.c, /: Fix findings from check-in on
  21365. r374177 Richard pointed out two problems with the check-in from
  21366. r374177: * The ast_msg_shutdown function declaration doesn't
  21367. match the prototype in main/message.c. * The ref/alloc function
  21368. usage in astobj2 (in trunk) can use the ao2_t_* variants of the
  21369. functions to allow the REF_DEBUG flag to enable/disable their
  21370. debug counterparts. ........ Merged revisions 374210 from
  21371. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21372. revisions 374211 from
  21373. http://svn.asterisk.org/svn/asterisk/branches/11
  21374. * main/features.c, main/config_options.c, main/event.c,
  21375. main/message.c, main/asterisk.c, main/db.c, main/xmldoc.c,
  21376. main/format.c, main/udptl.c, main/pbx.c, /, main/ccss.c,
  21377. include/asterisk/astobj2.h, channels/chan_agent.c,
  21378. res/res_xmpp.c, main/taskprocessor.c, res/res_musiconhold.c,
  21379. main/named_acl.c, main/cel.c, main/astobj2.c, main/format_pref.c,
  21380. main/indications.c, main/channel.c, main/data.c, main/manager.c:
  21381. Fix a variety of ref counting issues This patch resolves a number
  21382. of ref leaks that occur primarily on Asterisk shutdown. It adds a
  21383. variety of shutdown routines to core portions of Asterisk such
  21384. that they can reclaim resources allocate duringd initialization.
  21385. Review: https://reviewboard.asterisk.org/r/2137 ........ Merged
  21386. revisions 374177 from
  21387. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21388. revisions 374178 from
  21389. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21390. revisions 374196 from
  21391. http://svn.asterisk.org/svn/asterisk/branches/11
  21392. 2012-10-01 23:39 +0000 [r374164-374167] Andrew Latham <lathama@gmail.com>
  21393. * main/asterisk.c, addons/app_mysql.c, include/asterisk/doxyref.h,
  21394. contrib/asterisk-ng-doxygen, main/http.c: Doxygen Cleanup Start
  21395. adding configuration file linking and pages. Add module loading
  21396. doxygen block. Breaking up commits to keep it easy to track
  21397. (issue ASTERISK-20259)
  21398. * channels/chan_motif.c, channels/chan_alsa.c,
  21399. channels/chan_console.c, channels/chan_gtalk.c,
  21400. channels/chan_iax2.c, channels/chan_oss.c, channels/chan_mgcp.c,
  21401. channels/chan_jingle.c, channels/chan_dahdi.c,
  21402. channels/chan_misdn.c, channels/chan_vpb.cc, channels/chan_sip.c,
  21403. channels/chan_skinny.c: Doxygen Cleanup Start adding
  21404. configuration file linking and pages. Add module loading doxygen
  21405. block. Breaking up commits to keep it easy to track (issue
  21406. ASTERISK-20259)
  21407. * res/res_calendar.c, res/res_clialiases.c,
  21408. res/res_config_sqlite3.c, res/res_smdi.c, res/res_snmp.c,
  21409. res/res_fax.c, res/res_phoneprov.c, res/res_musiconhold.c,
  21410. res/res_xmpp.c, res/res_config_ldap.c, res/res_curl.c,
  21411. res/res_config_sqlite.c, res/res_timing_kqueue.c, res/res_odbc.c:
  21412. Doxygen Cleanup Start adding configuration file linking and
  21413. pages. Add module loading doxygen block. Breaking up commits to
  21414. keep it easy to track (issue ASTERISK-20259)
  21415. * apps/app_alarmreceiver.c, apps/app_amd.c, apps/app_confbridge.c,
  21416. apps/app_followme.c, apps/app_queue.c, apps/app_adsiprog.c,
  21417. apps/app_voicemail.c, apps/app_meetme.c, apps/app_festival.c,
  21418. apps/app_skel.c: Doxygen Cleanup Start adding configuration file
  21419. linking and pages. Add module loading doxygen block. (issue
  21420. ASTERISK-20259)
  21421. 2012-10-01 20:36 +0000 [r374134-374151] Sean Bright <sean@malleable.com>
  21422. * main/db.c, include/asterisk/astdb.h, /, tests/test_db.c,
  21423. apps/app_queue.c: app_queue: Support persisting and loading of
  21424. long member lists. Greenlight in #asterisk brought up that he was
  21425. receiving an error message "Could not create persistent member
  21426. string, out of space" when running app_queue in Asterisk 10.
  21427. dump_queue_members() made an assumption that 8K would be enough
  21428. to store the generated string, but with queues that have large
  21429. member lists this is not always the case. This patch removes the
  21430. limitation and uses ast_str instead of a fixed sized buffer. The
  21431. complicating factor comes from the fact that ast_db_get requires
  21432. a buffer and buffer size argument, which doesn't let us pull back
  21433. more than what we pass in, so I introduced a new
  21434. ast_db_get_allocated() which returns an ast_strdup()'d copy of
  21435. the value from astdb. As an aside, I did some testing on the
  21436. maximum size of data that we can store in the BDB library we
  21437. distribute and was able to store a 10MB string and retrieve it
  21438. with no problems, so I feel this is a safe patch. Review:
  21439. https://reviewboard.asterisk.org/r/2136/ ........ Merged
  21440. revisions 374108 from
  21441. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21442. revisions 374135 from
  21443. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21444. revisions 374150 from
  21445. http://svn.asterisk.org/svn/asterisk/branches/11
  21446. * main/db.c, /: Use ast_copy_string instead of strncpy to guarantee
  21447. a NUL terminated string. ........ Merged revisions 374132 from
  21448. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21449. revisions 374133 from
  21450. http://svn.asterisk.org/svn/asterisk/branches/11
  21451. 2012-10-01 17:05 +0000 [r374109] Richard Mudgett <rmudgett@digium.com>
  21452. * main/cli.c: Change core show help output format. The CLI "core
  21453. show help" output leaves something to be desired. 1) The command
  21454. is truncated to a maximum of 30 characters. 2) The output columns
  21455. are mirrored from the 31st column. Current output format: logger
  21456. mute Toggle logging output to a console logger reload Reopens the
  21457. log files logger rotate Rotates and reopens the log files logger
  21458. set level {DEBUG|NOTICE Enables/Disables a specific logging level
  21459. for this console logger show channels List configured log
  21460. channels New format: logger mute -- Toggle logging output to a
  21461. console logger reload -- Reopens the log files logger rotate --
  21462. Rotates and reopens the log files logger set level
  21463. {DEBUG|NOTICE|WARNING|ERROR|VERBOSE|DTMF} {on|off} --
  21464. Enables/Disables a specific logging level for this console logger
  21465. show channels -- List configured log channels Review:
  21466. https://reviewboard.asterisk.org/r/2133/
  21467. 2012-10-01 16:26 +0000 [r374107] Mark Michelson <mmichelson@digium.com>
  21468. * /, apps/confbridge/conf_config_parser.c: Don't destroy confbridge
  21469. config when error is encountered during a reload. Not panicking
  21470. means that the old config is kept. (closes issue ASTERISK-20458)
  21471. Reported by: Leif Madsen Patches: ASTERISK-20458.patch uploaded
  21472. by Mark Michelson(license #5049) Tested by Leif Madsen ........
  21473. Merged revisions 374106 from
  21474. http://svn.asterisk.org/svn/asterisk/branches/11
  21475. 2012-10-01 12:29 +0000 [r374096] Joshua Colp <jcolp@digium.com>
  21476. * include/asterisk/speech.h, res/res_speech.c,
  21477. apps/app_speech_utils.c: Add support for retrieving engine
  21478. specific settings using the speech API and from dialplan. (closes
  21479. issue ASTERISK-17136) Reported by: kenner
  21480. 2012-09-29 03:56 +0000 [r374086] Matthew Jordan <mjordan@digium.com>
  21481. * /, channels/chan_sip.c: Fix ref leak when adding ICE candidates
  21482. to an SDP There was a missing decrement to the reference count
  21483. for the current ICE candidate when local candidates are being
  21484. added to an outbound SDP. This patch corrects that. ........
  21485. Merged revisions 374085 from
  21486. http://svn.asterisk.org/svn/asterisk/branches/11
  21487. 2012-09-28 22:11 +0000 [r374075] Richard Mudgett <rmudgett@digium.com>
  21488. * res/res_agi.c: Include channel uniqueid in "AsyncAGI" and
  21489. "AGIExec" events. * Added AMI event documentation for AsyncAGI
  21490. and AGIExec events. (closes issue ASTERISK-20318) Reported by:
  21491. Dan Cropp Patches: res_agi_patch.txt (license #6422) patch
  21492. uploaded by Dan Cropp modified for trunk.
  21493. 2012-09-28 19:37 +0000 [r374060] Jonathan Rose <jrose@digium.com>
  21494. * res/res_jabber.c, /: res_jabber: Remove CLI command 'jabber test'
  21495. The opinion of development was that it is both improper to have
  21496. Matt's personal email address used in the source and that the
  21497. command wouldn't be useful without it. (closes issue AST-467)
  21498. Reported by: Malcolm Davenport ........ Merged revisions 374032
  21499. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  21500. Merged revisions 374045 from
  21501. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21502. revisions 374059 from
  21503. http://svn.asterisk.org/svn/asterisk/branches/11
  21504. 2012-09-28 18:27 +0000 [r374030] Richard Mudgett <rmudgett@digium.com>
  21505. * channels/chan_dahdi.c, channels/sig_analog.c, UPGRADE.txt,
  21506. main/app.c, apps/app_senddtmf.c: Add pause one second W dial
  21507. modifier. * The following dialplan applications now recognize 'W'
  21508. to pause sending DTMF for one second in addition to the
  21509. previously existing 'w' that paused sending DTMF for half a
  21510. second. Dial, ExternalIVR, and SendDTMF. * The chan_dahdi analog
  21511. port dialing and deferred DTMF dialing for PRI now distinguishes
  21512. between 'w' and 'W'. The 'w' pauses dialing for half a second.
  21513. The 'W' pauses dialing for one second. * Created dahdi_dial_str()
  21514. in chan_dahdi that eliminated a lot of duplicated dialing code
  21515. and diagnostic messages for the channel driver. (closes issue
  21516. ASTERISK-20039) Reported by: Jeremiah Gowdy Patches:
  21517. jgowdy-wait-6-22-2012.diff (license #5621) patch uploaded by
  21518. Jeremiah Gowdy Expanded patch to add support in chan_dahdi.
  21519. Tested by: rmudgett
  21520. 2012-09-28 13:04 +0000 [r374020] Brent Eagles <beagles@digium.com>
  21521. * res/res_xmpp.c, main/message.c, /: Reset hangup flags on channels
  21522. created through messages and cleanup globals in res_xmpp on
  21523. unload. This patch fixes an issue where hangup flags were not
  21524. being reset on a channel, affecting subsequent use of that
  21525. channel. The patch also adds some additional cleanup to res_xmpp
  21526. to fix an issue with reloading the module. (closes
  21527. ASTERISK-20360) Reported by: Noah Engelberth Tested by: beagles
  21528. Review: https://reviewboard.asterisk.org/r/2134/ ........ Merged
  21529. revisions 374019 from
  21530. http://svn.asterisk.org/svn/asterisk/branches/11
  21531. 2012-09-28 12:17 +0000 [r373992] Joshua Colp <jcolp@digium.com>
  21532. * /, res/res_agi.c: Update documentation to make it explicit that
  21533. "stream file" will not restart musiconhold. (issue
  21534. ASTERISK-17367) Reported by: oej ........ Merged revisions 373989
  21535. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  21536. Merged revisions 373990 from
  21537. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21538. revisions 373991 from
  21539. http://svn.asterisk.org/svn/asterisk/branches/11
  21540. 2012-09-28 03:06 +0000 [r373979] Matthew Jordan <mjordan@digium.com>
  21541. * CHANGES, apps/app_senddtmf.c: Add Duration header for PlayDTMF
  21542. AMI Action This patch adds an optional header to the PlayDTMF AMI
  21543. action, Duration. It allows the duration of the DTMF digit to be
  21544. played on the channel to be specified in milliseconds. (closes
  21545. issue ASTERISK-18172) Reported by: Renato dos Santos patches:
  21546. send-dtmf.patch uploaded by Renato dos Santos (license #6267)
  21547. Modified slightly for this commit for Asterisk 12.
  21548. 2012-09-27 22:43 +0000 [r373965-373967] Richard Mudgett <rmudgett@digium.com>
  21549. * apps/app_dial.c: Tweak app_dial documentation.
  21550. * main/app.c: Cleanup ast_dtmf_stream() * Made ast_dtmf_stream()
  21551. wait after starting the silence generator rather than before. *
  21552. Made ast_dtmf_stream() put the peer in autoservice for the whole
  21553. time things are being done to the chan.
  21554. * apps/app_senddtmf.c, /: Fix SendDTMF crash and channel reference
  21555. leak using channel name parameter. The SendDTMF channel name
  21556. parameter has two issues. 1) Crashes if the channel name does not
  21557. exist. 2) Leaks a channel reference if the channel is the current
  21558. channel. Problem introduced by ASTERISK-15956. * Updated SendDTMF
  21559. documentation. * Renamed app to senddtmf_name and tweaked the
  21560. type. ........ Merged revisions 373945 from
  21561. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21562. revisions 373946 from
  21563. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21564. revisions 373954 from
  21565. http://svn.asterisk.org/svn/asterisk/branches/11
  21566. 2012-09-27 17:12 +0000 [r373915] Joshua Colp <jcolp@digium.com>
  21567. * res/res_http_websocket.c, /, channels/chan_sip.c,
  21568. include/asterisk/http_websocket.h: Make res_http_websocket an
  21569. optional dependency on supported platforms for chan_sip. (closes
  21570. issue ASTERISK-20439) Reported by: sruffell Patches:
  21571. 0001-chan_sip-websocket-support-is-an-optional-API.patch uploaded
  21572. by sruffell (license 5417) ........ Merged revisions 373914 from
  21573. http://svn.asterisk.org/svn/asterisk/branches/11
  21574. 2012-09-27 17:02 +0000 [r373913] Kinsey Moore <kmoore@digium.com>
  21575. * apps/app_voicemail.c, CHANGES: Add VoicemailRefresh AMI Action
  21576. Currently, if there are modifications to mailboxes that Asterisk
  21577. is not aware of, the user needs to add "pollmailboxes" to their
  21578. mailbox configuration, which repeatedly polls the subscribed
  21579. mailboxes for changes. This results in a lot of extra work for
  21580. the CPU. This patch introduces the AMI command VoicemailRefresh
  21581. which permits external applications to trigger the refresh
  21582. themselves. The refresh can apply to a specified mailbox only, an
  21583. entire context, or all configured mailboxes. Even a refresh
  21584. performed on every mailbox would not consume as much CPU as the
  21585. pollmailboxes option, given that pollmailboxes runs continuously
  21586. and this only runs on demand. (closes issue ASTERISK-17206)
  21587. (closes issue ASTERISK-19908) Reported-by: Jeff Hutchins
  21588. Reported-by: Tilghman Lesher Patch-by: Tilghman Lesher
  21589. 2012-09-27 16:53 +0000 [r373881-373912] Joshua Colp <jcolp@digium.com>
  21590. * /, main/loader.c: loader: Ensure dependent modules are properly
  21591. initialized. If an Asterisk module specifies a dependency in
  21592. ast_module_info.nonoptreq, it is possible for Asterisk to skip
  21593. calling the modules's .load function. Asterisk was loading and
  21594. linking the module via load_dynamic_module() but was not adding
  21595. the module to the resource_heap. Therefore the module was not
  21596. initialized based on it's priority along with the other modules
  21597. in the heap. Now use load_resource() instead of
  21598. load_dynamic_module() for non-optional requirement. This will add
  21599. the module to the resource_heap so the module can be properly
  21600. initialized in the correct order. This is required if there are
  21601. any module global data structures initialized in the .load()
  21602. callback for the module on platforms which do not support weak
  21603. references. (issue ASTERISK-20439) Reported by: sruffell Patches:
  21604. 0001-loader-Ensure-dependent-modules-are-properly-initial.patch
  21605. uploaded by sruffell (license 5417) ........ Merged revisions
  21606. 373909 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  21607. ........ Merged revisions 373910 from
  21608. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21609. revisions 373911 from
  21610. http://svn.asterisk.org/svn/asterisk/branches/11
  21611. * channels/chan_local.c, /: Fix an issue where Local channels
  21612. dialed by app_queue are considered in use immediately. The
  21613. chan_local channel driver returns a device state of in use even
  21614. if a created Local channel has not yet been dialed. This fix
  21615. changes the logic to return a state of not in use until the
  21616. channel itself has been dialed. (closes issue ASTERISK-20390)
  21617. Reported by: tim_ringenbach Review:
  21618. https://reviewboard.asterisk.org/r/2116/ ........ Merged
  21619. revisions 373878 from
  21620. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21621. revisions 373879 from
  21622. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21623. revisions 373880 from
  21624. http://svn.asterisk.org/svn/asterisk/branches/11
  21625. 2012-09-26 21:17 +0000 [r373852] Mark Michelson <mmichelson@digium.com>
  21626. * /, channels/chan_sip.c: Move handling of 408 response so there is
  21627. no misleading warning message. (closes issue ASTERISK-20060)
  21628. Reported by: Walter Doekes ........ Merged revisions 373848 from
  21629. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21630. revisions 373849 from
  21631. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21632. revisions 373850 from
  21633. http://svn.asterisk.org/svn/asterisk/branches/11
  21634. 2012-09-26 18:23 +0000 [r373835] Richard Mudgett <rmudgett@digium.com>
  21635. * /, apps/app_meetme.c: Fixed meetme tab completion and command
  21636. documentation. * Removed unnecessary case sensitivity in meetme
  21637. list, lock, unlock, mute, unmute, and kick commands. * Separated
  21638. meetme lock/unlock, mute/unmute, and kick commands into their own
  21639. registered commands to simplify tab completion and parameter
  21640. checking. meetme_lock_cmd(), meetme_mute_cmd(), and
  21641. meetme_kick_cmd() * Simplified meetme_show_cmd() (closes issue
  21642. AST-1006) Reported by: John Bigelow Tested by: rmudgett ........
  21643. Merged revisions 373815 from
  21644. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21645. revisions 373816 from
  21646. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21647. revisions 373818 from
  21648. http://svn.asterisk.org/svn/asterisk/branches/11
  21649. 2012-09-26 08:31 +0000 [r373805] Alec L Davis <sivad.a@paradise.net.nz>
  21650. * apps/app_queue.c, /: app_queue: 'agent available' hint, cleanup
  21651. restart, and initial state Fix previously untested senarios; 1).
  21652. On queue initialisation set queue_avail devstate to INUSE.
  21653. Previously was unavailable, which indicated an agent was
  21654. available. 2). When removing members, if there are no other
  21655. members available, set queue_avail to INUSE. Previously, if a
  21656. member interface had become 'unavailable', they were never going
  21657. to be removed, particularly when persistant queues is enabled.
  21658. 3). When adding a member, check that they are available, if they
  21659. are set queue_avail to NOT_INUSE. Previously on reloaded, members
  21660. may have been 'unavailable'. 4). When pausing or unpausing a
  21661. member, set appropriate queue availability. alecdavis (license
  21662. 585) Reported by: Alec Davis Tested by: alecdavis Review:
  21663. https://reviewboard.asterisk.org/r/2129/ ........ Merged
  21664. revisions 373804 from
  21665. http://svn.asterisk.org/svn/asterisk/branches/11
  21666. 2012-09-25 23:10 +0000 [r373740-373776] Mark Michelson <mmichelson@digium.com>
  21667. * /, main/say.c: Fix saying of date in Dutch. The Dutch say the
  21668. date before the month. (closes issue ASTERISK-20353) Reported by:
  21669. Teun Ouwehand ........ Merged revisions 373773 from
  21670. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21671. revisions 373774 from
  21672. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21673. revisions 373775 from
  21674. http://svn.asterisk.org/svn/asterisk/branches/11
  21675. * /, channels/chan_agent.c, configs/agents.conf.sample: Remove dead
  21676. code and documentation for nonexistent feature. multiplelogin was
  21677. removed from chan_agent back in 1.6.0 when AgentCallbackLogin()
  21678. was removed. (closes issue AST-948) reported by Steve Pitts
  21679. ........ Merged revisions 373768 from
  21680. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21681. revisions 373769 from
  21682. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21683. revisions 373770 from
  21684. http://svn.asterisk.org/svn/asterisk/branches/11
  21685. * apps/app_voicemail.c, /: Fix error where improper IMAP greetings
  21686. would be deleted. (closes issue ASTERISK-20435) Reported by:
  21687. fhackenberger Patches: asterisk-20435-imap-del-greeting.diff
  21688. uploaded by Michael L. Young (License #5026) (with suggested
  21689. modification made by me) ........ Merged revisions 373735 from
  21690. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21691. revisions 373737 from
  21692. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21693. revisions 373738 from
  21694. http://svn.asterisk.org/svn/asterisk/branches/11
  21695. 2012-09-25 20:14 +0000 [r373708] Joshua Colp <jcolp@digium.com>
  21696. * channels/chan_local.c, /: Fix T.38 support when used with
  21697. chan_local in between. Users of the T.38 API can indicate
  21698. AST_T38_REQUEST_PARMS on a channel to request that the channel
  21699. indicate a T.38 negotiation with the parameters present on the
  21700. channel. The return value of this indication is expected to be
  21701. AST_T38_REQUEST_PARMS upon success but with chan_local involved
  21702. this could never occur. This fix changes chan_local to always
  21703. return AST_T38_REQUEST_PARMS for this situation. If the
  21704. underlying channel technology on the other side does not support
  21705. T.38 this would have been determined ahead of time using
  21706. ast_channel_get_t38_state and an indication would not occur.
  21707. (closes issue ASTERISK-20229) Reported by: wdoekes Patches:
  21708. ASTERISK-20229.patch uploaded by wdoekes (license 5674) Review:
  21709. https://reviewboard.asterisk.org/r/2070/ ........ Merged
  21710. revisions 373705 from
  21711. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21712. revisions 373706 from
  21713. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21714. revisions 373707 from
  21715. http://svn.asterisk.org/svn/asterisk/branches/11
  21716. 2012-09-25 19:29 +0000 [r373701] Mark Michelson <mmichelson@digium.com>
  21717. * include/asterisk/channel.h, CHANGES, channels/sig_pri.c,
  21718. funcs/func_callerid.c, include/asterisk/callerid.h,
  21719. main/channel.c, channels/chan_misdn.c, channels/chan_sip.c,
  21720. main/callerid.c: Allow for redirecting reasons to be set to
  21721. arbitrary strings. This allows for the REDIRECTING dialplan
  21722. function to be used to set the reason to any string. The SIP
  21723. channel driver has been modified to set the redirecting reason
  21724. string to the value received in a Diversion header. In addition,
  21725. SIP 480 response reason text will set the redirecting reason as
  21726. well. (closes issue AST-942) reported by Malcolm Davenport
  21727. (closes issue AST-943) reported by Malcolm Davenport Review:
  21728. https://reviewboard.asterisk.org/r/2101
  21729. 2012-09-25 19:08 +0000 [r373691] Terry Wilson <twilson@digium.com>
  21730. * configs/sip.conf.sample, channels/sip/include/sip.h, /,
  21731. channels/chan_sip.c: Properly handle UAC/UAS roles for SIP
  21732. session timers The SIP session timer mechanism contains a
  21733. mandatory 'refresher' parameter (included in the Session-Expires
  21734. header) which is used in the session timer offer/answer signaling
  21735. within a SIP Invite dialog. It looks like asterisk is
  21736. interpreting the uac resp. uas role only as the initial role of
  21737. client and server (caller is uac, callee is uas). The standard
  21738. rfc 4028 however assigns the client role to the ((RE)-Invite)
  21739. requester, the server role to the ((RE)-Invite) responder. This
  21740. patch has Asterisk track the actual refresher as "us" or "them"
  21741. as opposed to relying on just the configured "uas" or "uac"
  21742. properties. (closes issue AST-922) Reported by: Thomas Airmont
  21743. Review: https://reviewboard.asterisk.org/r/2118/ ........ Merged
  21744. revisions 373652 from
  21745. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21746. revisions 373665 from
  21747. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21748. revisions 373690 from
  21749. http://svn.asterisk.org/svn/asterisk/branches/11
  21750. 2012-09-25 18:33 +0000 [r373689] Kinsey Moore <kmoore@digium.com>
  21751. * /, apps/app_queue.c: "show" completion option for "queue"
  21752. shouldn't appear twice When tab-completing CLI commands starting
  21753. with "queue", "show" appeared twice in the list due to the way
  21754. that Asterisk's tab completion functions and the order in which
  21755. the commands were registered. The registration order has been
  21756. altered to resolve this issue. (closes issue AST-940)
  21757. Reported-by: Steve Pitts ........ Merged revisions 373666 from
  21758. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21759. revisions 373675 from
  21760. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21761. revisions 373688 from
  21762. http://svn.asterisk.org/svn/asterisk/branches/11
  21763. 2012-09-25 17:22 +0000 [r373636-373656] Richard Mudgett <rmudgett@digium.com>
  21764. * /, codecs/ilbc/iLBC_encode.c, codecs/ilbc/iLBC_decode.c: Fix
  21765. valgrind found memcpy issues in codec_ilbc. Valgrind found
  21766. codec_ilbc using memcpy instead of memmove for overlapping memory
  21767. blocks. (issue ASTERISK-19890) (closes issue ASTERISK-20231)
  21768. Reported by: Walter Doekes Patches: ASTERISK-20231.patch (license
  21769. #5674) patch uploaded by Walter Doekes ........ Merged revisions
  21770. 373640 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  21771. ........ Merged revisions 373645 from
  21772. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21773. revisions 373650 from
  21774. http://svn.asterisk.org/svn/asterisk/branches/11
  21775. * /, codecs/Makefile: Make rebuild GSM, ilbc, or lpc10 codecs if
  21776. the respective sources change. ........ Merged revisions 373618
  21777. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  21778. Merged revisions 373633 from
  21779. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21780. revisions 373635 from
  21781. http://svn.asterisk.org/svn/asterisk/branches/11
  21782. 2012-09-25 16:45 +0000 [r373608-373634] Jonathan Rose <jrose@digium.com>
  21783. * /, channels/chan_sip.c: chan_sip: Set Quality of Service for
  21784. video rtp instance (closes issue ASTERISK-20201) Reported by:
  21785. ddkprog Patches: chan_sip.c.diff uploaded by ddkprog (license
  21786. 6008) ........ Merged revisions 373617 from
  21787. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21788. revisions 373631 from
  21789. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21790. revisions 373632 from
  21791. http://svn.asterisk.org/svn/asterisk/branches/11
  21792. * res/res_agi.c: res_agi: async_agi responsiveness improvement on
  21793. datastore problems This patch changes get_agi_cmd so that the
  21794. return can be checked to differentiate between an empty list
  21795. success and something that triggered an error. This in turn
  21796. allows launch_asyncagi to detect these errors and break free from
  21797. the command processing loop so that the async agi can be ended
  21798. more cleanly (closes issue ASTERISK-20109) Reported by: Jeremiah
  21799. Gowdy Patches: jgowdy-7-9-2012.diff uploaded by Jeremiah Gowdy
  21800. (license 6358) (Modified by me to fix some logical issues and
  21801. apply to trunk) Review: https://reviewboard.asterisk.org/r/2117/
  21802. 2012-09-25 14:13 +0000 [r373583] Mark Michelson <mmichelson@digium.com>
  21803. * funcs/func_presencestate.c, /: "He who go through turnstile
  21804. sideways is going to Bangkok" ........ Merged revisions 373582
  21805. from http://svn.asterisk.org/svn/asterisk/branches/11
  21806. 2012-09-25 13:29 +0000 [r373581] Kinsey Moore <kmoore@digium.com>
  21807. * configs/res_odbc.conf.sample, /: Fix documentation for default
  21808. username in res_odbc This was previously stated to be "root", but
  21809. is actually the name of the context if unspecified. (closes issue
  21810. ASTERISK-20258) Reported by: Stefan x ........ Merged revisions
  21811. 373578 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  21812. ........ Merged revisions 373579 from
  21813. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21814. revisions 373580 from
  21815. http://svn.asterisk.org/svn/asterisk/branches/11
  21816. 2012-09-25 12:12 +0000 [r373553] Joshua Colp <jcolp@digium.com>
  21817. * /, res/res_rtp_multicast.c: Fix an issue where a caller to
  21818. ast_write on a MulticastRTP channel would determine it failed
  21819. when in reality it did not. When sending RTP packets via
  21820. multicast the amount of data sent is stored in a variable and
  21821. returned from the write function. This is incorrect as any
  21822. non-zero value returned is considered a failure while a return
  21823. value of 0 is success. For callers (such as ast_streamfile) that
  21824. checked the return value they would have considered it a failure
  21825. when in reality nothing went wrong and it was actually a success.
  21826. The write function for the multicast RTP engine now returns -1 on
  21827. failure and 0 on success, as it should. (closes issue
  21828. ASTERISK-17254) Reported by: wybecom ........ Merged revisions
  21829. 373550 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  21830. ........ Merged revisions 373551 from
  21831. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21832. revisions 373552 from
  21833. http://svn.asterisk.org/svn/asterisk/branches/11
  21834. 2012-09-24 22:14 +0000 [r373503] Richard Mudgett <rmudgett@digium.com>
  21835. * /, channels/chan_sip.c: Be consistent, send From: "Anonymous"
  21836. <sip:anonymous@anonymous.invalid> When setting
  21837. CALLERID(pres)=unavailable in the dialplan, the From header in
  21838. the SIP message contains "Anonymous"
  21839. <sip:Anonymous@anonymous.invalid>. For consistency, Asterisk
  21840. should use a lowercase a in the userpart of the URI. * Make the
  21841. From header use a lowercase A in the userpart of the anonymous
  21842. URI. (closes issue ASTERISK-19838) Reported by: Antti Yrjola
  21843. Patches: chan_sip_patch_ASTERISK-19838.patch (license #6383)
  21844. patch uploaded by Antti Yrjola ........ Merged revisions 373500
  21845. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  21846. Merged revisions 373501 from
  21847. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21848. revisions 373502 from
  21849. http://svn.asterisk.org/svn/asterisk/branches/11
  21850. 2012-09-24 21:19 +0000 [r373479] Jonathan Rose <jrose@digium.com>
  21851. * apps/app_mixmonitor.c, funcs/func_audiohookinherit.c, /:
  21852. func_audiohookinherit: Document some missed sources. This patch
  21853. also mentions that AUDIOHOOK_INHERIT can be used to transfer
  21854. MixMonitor audiohooks. There is also wiki that addresses
  21855. audiohooks and the use of AUDIOHOOK_INHERIT at the following
  21856. link: https://wiki.asterisk.org/wiki/display/AST/Audiohooks
  21857. (closes issue ASTERISK-18220) Reported by: Ishfaq Malik ........
  21858. Merged revisions 373467 from
  21859. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21860. revisions 373468 from
  21861. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21862. revisions 373470 from
  21863. http://svn.asterisk.org/svn/asterisk/branches/11
  21864. 2012-09-24 21:15 +0000 [r373471] Richard Mudgett <rmudgett@digium.com>
  21865. * /, channels/chan_sip.c: Fix potential reentrancy problems in
  21866. chan_sip. Asterisk v1.8 and later was not as vulnerable to this
  21867. issue. * Made find_call() lock each private as it processes the
  21868. found dialogs. (Primary cause of ABE-2876) * Made the other
  21869. functions that traverse the dialogs container lock each private
  21870. as it examines them. * Fix race condition in sip_call() if the
  21871. thread that sent the INVITE is held up long enough for a response
  21872. to be processed. The p->initid for the INVITE retransmission
  21873. could be added after it was canceled by the response processing.
  21874. * Made __sip_destroy() clean up resource pointers after freeing.
  21875. This is primarily defensive in case someone has a stale private
  21876. pointer. * Removed redundant memset() in reqprep(). The call to
  21877. init_req() already does the memset() and is the first reference
  21878. to req in reqprep(). * Removed useless set of req.method in
  21879. transmit_invite(). The calls to initreqprep() and reqprep() have
  21880. to do this because they memset() the req. JIRA ABE-2876
  21881. .......... Merged -r373423 from
  21882. https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
  21883. ........ Merged revisions 373424 from
  21884. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21885. revisions 373466 from
  21886. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21887. revisions 373469 from
  21888. http://svn.asterisk.org/svn/asterisk/branches/11
  21889. 2012-09-24 19:23 +0000 [r373414-373456] Joshua Colp <jcolp@digium.com>
  21890. * /, channels/chan_sip.c: Fix a deadlock caused by a race condition
  21891. between removing a hint and reloading the dialplan and
  21892. subscribing to the removed hint. If conditions were right it was
  21893. possible for both the PBX core and chan_sip to deadlock by both
  21894. having a lock that the other wants. In the case of the PBX core
  21895. it had the contexts lock and wanted a SIP dialog lock, while in
  21896. the case of chan_sip it had the SIP dialog lock and wanted the
  21897. contexts lock. This fix unlocks the SIP dialog before getting the
  21898. extension state so that the other thread will not block on trying
  21899. to lock it. Once the extension state is retrieved the SIP dialog
  21900. is locked again and life carries on. As the SIP dialog is
  21901. reference counted it is not possible for it to go away after
  21902. unlocking. (closes issue ASTERISK-20437) Reported by: jhutchins
  21903. ........ Merged revisions 373438 from
  21904. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21905. revisions 373440 from
  21906. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21907. revisions 373454 from
  21908. http://svn.asterisk.org/svn/asterisk/branches/11
  21909. * res/res_format_attr_h264.c, /, channels/chan_sip.c: Fix an issue
  21910. with H.264 format attribute comparison and fix an issue with
  21911. improper SDP being produced. The H.264 format attribute module
  21912. compares two format attribute structures to determine if they are
  21913. compatible or not. In some instances it was possible for this
  21914. check to determine that both structures were incompatible when
  21915. they actually should be considered compatible. This check has now
  21916. been made even more permissive by assuming that if no attribute
  21917. information is available the two structures are compatible. If
  21918. both structures contain attribute information a base level
  21919. comparison of the H.264 IDC value is done to see if they are
  21920. compatible or not. The above issue uncovered a secondary issue in
  21921. chan_sip where the SDP being produced would be incorrect if the
  21922. formats were considered incompatible. This has now been fixed by
  21923. checking that all information required to produce the SDP is
  21924. available instead of assuming it is. (closes issue
  21925. ASTERISK-20464) Reported by: Leif Madsen ........ Merged
  21926. revisions 373413 from
  21927. http://svn.asterisk.org/svn/asterisk/branches/11
  21928. 2012-09-24 12:42 +0000 [r373404] Brent Eagles <beagles@digium.com>
  21929. * res/res_rtp_asterisk.c, /, configs/rtp.conf.sample:
  21930. res_rtp_asterisk: Make TURN and STUN server configurations
  21931. consistent. This patch removes the turnport configuration
  21932. property and changes the turnaddr property to be a combined
  21933. host[:port] configuration string. The patch also modifies the
  21934. documentation in the example configuration to reflect the
  21935. property changes and adds some additional text indicating how the
  21936. STUN port is configured. (closes issue ASTERISK-20344) Reported
  21937. by: beagles Tested by: beagles Review:
  21938. https://reviewboard.asterisk.org/r/2111/ ........ Merged
  21939. revisions 373403 from
  21940. http://svn.asterisk.org/svn/asterisk/branches/11
  21941. 2012-09-22 20:43 +0000 [r373384] Andrew Latham <lathama@gmail.com>
  21942. * Makefile, cel/cel_odbc.c, include/asterisk/doxyref.h,
  21943. main/manager.c, doc/README.txt, include/asterisk/xmpp.h,
  21944. apps/app_minivm.c, cel/cel_sqlite3_custom.c,
  21945. include/asterisk/format.h, main/audiohook.c,
  21946. include/asterisk/pbx.h, res/res_timing_kqueue.c,
  21947. addons/chan_mobile.c, main/asterisk.c, main/xmldoc.c,
  21948. channels/chan_mgcp.c, apps/app_voicemail.c, utils/refcounter.c,
  21949. res/res_config_pgsql.c, main/pbx.c, main/ccss.c,
  21950. channels/chan_sip.c, tests/test_gosub.c,
  21951. include/asterisk/doxygen/mantisworkflow.h (removed),
  21952. contrib/asterisk-ng-doxygen, channels/chan_agent.c, main/astfd.c,
  21953. apps/app_queue.c, codecs/speex/speex_resampler.h,
  21954. res/res_config_sqlite.c: Doxygen Updates Janitor Work *
  21955. Whitespace, doc-blocks, spelling, case, missing and incorrect
  21956. tags. * Add cleanup to Makefile for the Doxygen configuration
  21957. update * Start updating Doxygen configuration for cleaner output
  21958. * Enable inclusion of configuration files into documentation *
  21959. remove mantisworkflow... * update documentation README * Add
  21960. markup to Tilghman's email and talk with him about updating his
  21961. email, he knows... * no code changes on this commit other than
  21962. the mentioned Makefile change (issue ASTERISK-20259)
  21963. 2012-09-21 19:35 +0000 [r373369] Jonathan Rose <jrose@digium.com>
  21964. * /, channels/iax2-provision.c: iax2-provision: Fix improper return
  21965. on failed cache retrieval (closes issue ASTERISK-20337) reported
  21966. by: John Covert Patches: iax2-provision.c.patch uploaded by John
  21967. Covert (license 5512) ........ Merged revisions 373342 from
  21968. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  21969. revisions 373343 from
  21970. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  21971. revisions 373368 from
  21972. http://svn.asterisk.org/svn/asterisk/branches/11
  21973. 2012-09-21 18:22 +0000 [r373320-373341] Andrew Latham <lathama@gmail.com>
  21974. * contrib/asterisk-ng-doxygen: Update Doxygen Config Comments This
  21975. annoying update is almost totally whitespace and updated config
  21976. comments. I did add Python to the documented file types. (issue
  21977. ASTERISK-20259)
  21978. * include/asterisk/localtime.h, apps/app_ices.c, cdr/cdr_pgsql.c,
  21979. res/res_xmpp.c, res/res_jabber.c, cdr/cdr_radius.c,
  21980. include/asterisk/doxygen/releases.h, include/asterisk/doxyref.h,
  21981. res/res_smdi.c, main/manager.c, main/tdd.c,
  21982. include/asterisk/bridging_features.h, main/ast_expr2f.c,
  21983. cdr/cdr_sqlite.c, apps/app_skel.c, include/asterisk/sip_api.h,
  21984. channels/chan_motif.c, main/http.c, apps/app_confbridge.c,
  21985. include/asterisk/doxygen/commits.h, res/res_config_ldap.c,
  21986. res/res_curl.c, main/strings.c, res/res_config_pgsql.c,
  21987. codecs/codec_speex.c, res/res_crypto.c, main/acl.c,
  21988. channels/chan_console.c, res/res_config_curl.c,
  21989. channels/chan_jingle.c, include/asterisk/app.h,
  21990. include/asterisk/res_odbc.h, channels/chan_misdn.c,
  21991. include/asterisk/doxygen/asterisk-git-howto.h,
  21992. include/asterisk/xmpp.h, include/asterisk/jabber.h,
  21993. channels/chan_h323.c, include/asterisk/doxygen/reviewboard.h,
  21994. channels/sip/include/sdp_crypto.h, main/asterisk.c,
  21995. main/xmldoc.c, include/asterisk/doxygen/architecture.h,
  21996. include/asterisk/acl.h, cel/cel_pgsql.c, funcs/func_speex.c,
  21997. cel/cel_radius.c, apps/app_meetme.c, main/ccss.c, res/res_snmp.c,
  21998. include/asterisk/doxygen/mantisworkflow.h, main/sha1.c,
  21999. channels/sip/reqresp_parser.c: Doxygen Updates - janitor work
  22000. Doxygen updates including mistakes, misspellings, missing
  22001. parameters, updates for Doxygen style. Some missing txt file
  22002. links are removed but their content or essense will be included
  22003. in some later updates. A majority of the txt files were removed
  22004. in the 1.6 era but never noted. The HR and EXTREF are simple
  22005. changes that make the documentation more compatable with more
  22006. versions of Doxygen. Further updates coming. (issue
  22007. ASTERISK-20259)
  22008. * README: Start work on documentation janitor project with a little
  22009. commit. This adds a link to the Asterisk wiki at
  22010. https://wiki.asterisk.org to the README file. (issue
  22011. ASTERISK-20259)
  22012. 2012-09-21 15:41 +0000 [r373319] Jonathan Rose <jrose@digium.com>
  22013. * /, apps/app_queue.c: app_queue: Make queue reload members and
  22014. variants of that work Prior to this patch, 'queue reload members'
  22015. cli command did not work at all. This also affects the manager
  22016. function 'QueueReload' when supplied with the 'members: yes'
  22017. field. (closes issue AST-956) Reported by: John Bigelow ........
  22018. Merged revisions 373298 from
  22019. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22020. revisions 373300 from
  22021. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22022. revisions 373318 from
  22023. http://svn.asterisk.org/svn/asterisk/branches/11
  22024. 2012-09-21 09:11 +0000 [r373275-373284] Alec L Davis <sivad.a@paradise.net.nz>
  22025. * main/dsp.c: dsp.c: remove more whitespace mentioned in review2107
  22026. * main/dsp.c: dsp.c ast_dsp_call_progress use local short variable
  22027. in loop, plus other cleanup janitor cleanup. No functional
  22028. change. 1). ast_dsp_call_progress: use 'short samp' instead of
  22029. s[x] inside loop. apply same casting as other _init, dsp->energy
  22030. = (int32_t) samp * (int32_t) samp 2). ast_dtmf_detect_init: move
  22031. repeated setting of s->energy to outside of loop. do
  22032. goertzel_init loop first before setting s->lasthit and
  22033. s->current_hit, consistant with ast_dsp_digitreset() 3).
  22034. ast_mf_detect_init: do goertzel_init loop first before setting
  22035. s->hits[] and s->current_hit, consistant with
  22036. ast_dsp_digitreset() 4). Don't chain init different variables, as
  22037. the type may change Review
  22038. https://reviewboard.asterisk.org/r/2107/
  22039. 2012-09-20 19:16 +0000 [r373247] Joshua Colp <jcolp@digium.com>
  22040. * /, apps/app_meetme.c: Fix incorrect MeetME conference bridge
  22041. reference count decrementing and sometimes premature destruction.
  22042. When using the 'e' or 'E' option to MeetMe the configured
  22043. conference bridges are loaded and examined to see if any are
  22044. empty. If no conference bridges are empty the caller is prompted
  22045. to enter the number of one. This operation left around a pointer
  22046. to the last created conference bridge still containing
  22047. participants. When the caller that was not able to find any empty
  22048. conference bridge hung up this pointer was disposed of and the
  22049. reference count of the conference bridge decremented. If there
  22050. was only a single participant in the conference bridge it was
  22051. ultimately destroyed prematurely. (closes issue AST-994) Reported
  22052. by: John Bigelow ........ Merged revisions 373242 from
  22053. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22054. revisions 373245 from
  22055. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22056. revisions 373246 from
  22057. http://svn.asterisk.org/svn/asterisk/branches/11
  22058. 2012-09-20 18:44 +0000 [r373239] Matthew Jordan <mjordan@digium.com>
  22059. * CHANGES, apps/app_queue.c, configs/extensions.conf.sample, /: Add
  22060. queue monitoring hints This patch adds support for hints on a
  22061. queue. Hints can be added using the nomenclature 'Queue:name',
  22062. where name is the name of the queue being monitored. This nifty
  22063. feature was done by Alec Davis. Review:
  22064. https://reviewboard.asterisk.org/r/1619 Reported by: Alec Davis
  22065. Tested by: alecdavis patches: review1619.diff2 by alecdavis
  22066. (license 585) ........ Merged revisions 373235 from
  22067. http://svn.asterisk.org/svn/asterisk/branches/11
  22068. 2012-09-20 18:27 +0000 [r373234] Joshua Colp <jcolp@digium.com>
  22069. * channels/sip/include/sip.h, res/res_rtp_asterisk.c,
  22070. main/rtp_engine.c, /, channels/chan_sip.c, configure,
  22071. include/asterisk/autoconfig.h.in, configure.ac,
  22072. configs/sip.conf.sample, include/asterisk/rtp_engine.h: Add
  22073. support for DTLS-SRTP to res_rtp_asterisk and chan_sip. As
  22074. mentioned on the review for this, WebRTC has moved towards
  22075. choosing DTLS-SRTP as the mechanism for key exchange for SRTP.
  22076. This commit adds support for this but makes it available for
  22077. normal SIP clients as well. Testing has been done to ensure that
  22078. this introduces no regressions with existing behavior and also
  22079. that it functions as expected. Review:
  22080. https://reviewboard.asterisk.org/r/2113/ ........ Merged
  22081. revisions 373229 from
  22082. http://svn.asterisk.org/svn/asterisk/branches/11
  22083. 2012-09-20 18:02 +0000 [r373222] Matthew Jordan <mjordan@digium.com>
  22084. * apps/app_queue.c: Support all ways a member can be available for
  22085. 'agent available' hints Alec's patch in r373188 added the ability
  22086. to subscribe to a hint for when Queue members are available. This
  22087. patch modifies the check that determines when a Queue member is
  22088. available by refactoring the availability checks in
  22089. num_available_members into a shared function is_member_available.
  22090. This should now handle the ringinuse option, as well as device
  22091. state values other than AST_DEVICE_NOT_INUSE.
  22092. 2012-09-20 17:22 +0000 [r373221] Richard Mudgett <rmudgett@digium.com>
  22093. * apps/app_directed_pickup.c, funcs/func_channel.c,
  22094. main/features.c, include/asterisk/channel.h,
  22095. include/asterisk/features.h, main/channel.c, /: Named call pickup
  22096. groups. Fixes, missing functionality, and improvements. *
  22097. ASTERISK-20383 Missing named call pickup group features:
  22098. CHANNEL(callgroup) - Need CHANNEL(namedcallgroup)
  22099. CHANNEL(pickupgroup) - Need CHANNEL(namedpickupgroup) Pickup() -
  22100. Needs to also select from named pickup groups. * ASTERISK-20384
  22101. Using the pickupexten, the pickup channel selection could fail
  22102. even though there was a call it could have picked up. In a call
  22103. pickup race when there are multiple calls to pickup and two
  22104. extensions try to pickup a call, it is conceivable that the loser
  22105. will not pick up any call even though it could have picked up the
  22106. next oldest matching call. Regression because of the named call
  22107. pickup group feature. * See ASTERISK-20386 for the implementation
  22108. improvements. These are the changes in channel.c and channel.h. *
  22109. Fixed some locking issues in CHANNEL(). (closes issue
  22110. ASTERISK-20383) Reported by: rmudgett (closes issue
  22111. ASTERISK-20384) Reported by: rmudgett (closes issue
  22112. ASTERISK-20386) Reported by: rmudgett Tested by: rmudgett Review:
  22113. https://reviewboard.asterisk.org/r/2112/ ........ Merged
  22114. revisions 373220 from
  22115. http://svn.asterisk.org/svn/asterisk/branches/11
  22116. 2012-09-20 13:04 +0000 [r373212] Kinsey Moore <kmoore@digium.com>
  22117. * /, channels/chan_sip.c: Correct handling of unknown SDP stream
  22118. types When the patch to handle arbitrary SDP stream arrangements
  22119. went into Asterisk, it also included an ability to transparently
  22120. decline unknown stream types. The scanf calls used were not
  22121. checked properly causing this part of the functionality to be
  22122. broken. (closes issue ASTERISK-20203) ........ Merged revisions
  22123. 373211 from http://svn.asterisk.org/svn/asterisk/branches/11
  22124. 2012-09-20 11:05 +0000 [r373203] Sean Bright <sean@malleable.com>
  22125. * res/res_curl.c: When trying to unload res_curl.so, warn about all
  22126. dependent modules. Before this, attempting to unload res_curl.so
  22127. would warn you about the first module it found that was
  22128. dependent. We now warn about all of the loaded modules instead.
  22129. 2012-09-20 10:41 +0000 [r373188-373202] Alec L Davis <sivad.a@paradise.net.nz>
  22130. * main/dsp.c: dsp.c: remove whitespace mentioned in review2107
  22131. Related https://reviewboard.asterisk.org/r/2107/
  22132. * CHANGES, apps/app_queue.c, configs/extensions.conf.sample:
  22133. app_queue: Support an 'agent available' hint Sets INUSE when no
  22134. free agents, NOT_INUSE when an agent is free. modifes
  22135. handle_statechange() scan members loop to scan for a free agent
  22136. and updates the Queue:queuename_avial devstate. Previously exited
  22137. early if the member was found in the queue. Now Exits later when
  22138. both a member was found, and a free agent was found. alecdavis
  22139. (license 585) Reported by: Alec Davis Tested by: alecdavis
  22140. Review: https://reviewboard.asterisk.org/r/2121/
  22141. 2012-09-18 20:19 +0000 [r373134-373142] Sean Bright <sean@malleable.com>
  22142. * main/logger.c: Make the casing of CALL_ID in debug messages
  22143. consistent to satisfy my OCD.
  22144. * main/manager.c, /: Don't crash when passing a NULL message to
  22145. __astman_get_header. Before this commit, __astman_get_header
  22146. would blindly dereference the passed in 'struct message *' to
  22147. traverse the header list. There are cases, however, such as
  22148. '*CLI> sip qualify peer foo' where the message pointer is NULL,
  22149. so we need to check for that. ........ Merged revisions 373131
  22150. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  22151. Merged revisions 373132 from
  22152. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22153. revisions 373133 from
  22154. http://svn.asterisk.org/svn/asterisk/branches/11
  22155. 2012-09-18 15:50 +0000 [r373120] David M. Lee <dlee@digium.com>
  22156. * /, configure, include/asterisk/autoconfig.h.in, configure.ac,
  22157. makeopts.in, Makefile, include/asterisk/utils.h: Add
  22158. -fnested-functions compile flag, if needed. In order to use
  22159. nested functions on some versions of GCC (e.g. GCC on OS X), the
  22160. -fnested-functions flag must be passed to the compiler. This
  22161. patch adds detection logic to ./configure to add the flag if
  22162. necessary. It also adds a comment to utils.h as to why the nested
  22163. function needs a prototype. (closes issue ASTERISK-20399)
  22164. Reported by: David M. Lee Review:
  22165. https://reviewboard.asterisk.org/r/2102/ ........ Merged
  22166. revisions 373119 from
  22167. http://svn.asterisk.org/svn/asterisk/branches/11
  22168. 2012-09-15 00:32 +0000 [r373108] Richard Mudgett <rmudgett@digium.com>
  22169. * channels/sig_ss7.c, /: Made companding law for SS7 calls only
  22170. determined by SS7 signaling type. For SS7, the companding law for
  22171. a call was chosen inconsistently depending upon ss7type (ITU vs
  22172. ANSI) and the DAHDI companding default (T1 vs E1). For incoming
  22173. calls, the companding law was determined by ss7type. For outgoing
  22174. calls, the companding law was determined by the DAHDI default.
  22175. With the wrong combination you would get A-law/u-law conflicts.
  22176. An A-law/u-law conflict sounds like bad static on the line. SS7
  22177. ITU signaling with E1 line: ok SS7 ITU signaling with T1 line:
  22178. noise SS7 ANSI signaling with E1 line: noise SS7 ANSI signaling
  22179. with T1 line: ok * Fix the companding law used to be determined
  22180. by the SS7 signaling type only. ........ Merged revisions 373090
  22181. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  22182. Merged revisions 373101 from
  22183. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22184. revisions 373107 from
  22185. http://svn.asterisk.org/svn/asterisk/branches/11
  22186. 2012-09-14 19:53 +0000 [r373080] Matthew Jordan <mjordan@digium.com>
  22187. * main/libasteriskssl.c, main/tcptls.c, /, channels/chan_sip.c:
  22188. Resolve memory leaks in TLS initialization and TLS client
  22189. connections This patch resolves two sources of memory leaks when
  22190. using TLS in Asterisk: 1) It removes improper initialization (and
  22191. multiple re-initializations) of portions of the SSL library.
  22192. Asterisk calls SSL_library_init and SSL_load_error_strings during
  22193. SSL initialization; collectively this obviates the need for
  22194. calling any of the following during initialization or client
  22195. connection handling: * ERR_load_crypto_strings (handled by
  22196. SSL_load_error_strings) * OpenSSL_add_all_algorithms (synonym for
  22197. SSL_library_init) * SSLeay_add_ssl_algorithms (synonym for
  22198. SSL_library_init) 2) Failure to completely clean up all memory
  22199. allocated by Asterisk and by the SSL library for TLS clients.
  22200. This included not freeing the SSL_CTX object in the SIP channel
  22201. driver, as well as not clearing the error stack when the TLS
  22202. client exited. Note that these memory leaks were found by Thomas
  22203. Arimont, and this patch was essentially written by him with some
  22204. minor tweaks. (closes issue AST-889) Reported by: Thomas Arimont
  22205. Tested by: Thomas Arimont patches: (bugAST-889.patch) by Thomas
  22206. Arimont (license 5525) Review:
  22207. https://reviewboard.asterisk.org/r/2105 ........ Merged revisions
  22208. 373061 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  22209. ........ Merged revisions 373062 from
  22210. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22211. revisions 373079 from
  22212. http://svn.asterisk.org/svn/asterisk/branches/11
  22213. 2012-09-13 20:05 +0000 [r373046-373048] David M. Lee <dlee@digium.com>
  22214. * /, main/Makefile: Fixed make clean when configured
  22215. --disable-asteriskssl ........ Merged revisions 373047 from
  22216. http://svn.asterisk.org/svn/asterisk/branches/11
  22217. * main/channel.c, /, include/asterisk/channel.h: Fix timeouts for
  22218. ast_waitfordigit[_full]. ast_waitfordigit_full would simply pass
  22219. its timeout to ast_waitfor_nandfds, expecting it to decrement the
  22220. timeout by however many milliseconds were waited. This is a
  22221. problem if it consistently waits less than 1ms. The timeout will
  22222. never be decremented, and we wait... FOREVER! This patch makes
  22223. ast_waitfordigit_full manage the timeout itself. It maintains the
  22224. previously undocumented behavior that negative timeouts wait
  22225. forever. (closes issue ASTERISK-20375) Reported by: Mark
  22226. Michelson Tested by: Mark Michelson Review:
  22227. https://reviewboard.asterisk.org/r/2109/ ........ Merged
  22228. revisions 373024 from
  22229. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22230. revisions 373025 from
  22231. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22232. revisions 373029 from
  22233. http://svn.asterisk.org/svn/asterisk/branches/11
  22234. 2012-09-12 21:02 +0000 [r372997] Richard Mudgett <rmudgett@digium.com>
  22235. * main/astobj2.c, main/channel.c, include/asterisk/astobj2.h,
  22236. tests/test_astobj2.c: Enhance astobj2 to support other types of
  22237. containers. The new API allows for sorted containers, insertion
  22238. options, duplicate handling options, and traversal order options.
  22239. * Adds the ability for containers to be sorted when they are
  22240. created. * Adds container creation options to handle duplicates
  22241. when they are inserted. * Adds container creation option to
  22242. insert objects at the beginning or end of the container traversal
  22243. order. * Adds OBJ_PARTIAL_KEY to allow searching with a partial
  22244. key. The partial key works similarly to the OBJ_KEY flag. (The
  22245. real search speed improvement with this flag will come when
  22246. red-black trees are added.) * Adds container traversal and
  22247. iteration order options: Ascending and Descending. * Adds an
  22248. AST_DEVMODE compile feature to check the stats and integrity of
  22249. registered containers using the CLI "astobj2 container stats
  22250. <name>" and "astobj2 container check <name>". The channels
  22251. container is normally registered since it is one of the most
  22252. important containers in the system. * Adds ao2_iterator_restart()
  22253. to allow iteration to be restarted from the beginning. * Changes
  22254. the generic container object to have a v_method table pointer to
  22255. support other types of containers. * Changes the container nodes
  22256. holding objects to be ref counted. The ref counted nodes and
  22257. v_method table pointer changes pave the way to allow other types
  22258. of containers. * Includes a large astobj2 unit test enhancement
  22259. that tests the new features. (closes issue ASTERISK-19969)
  22260. Reported by: rmudgett Review:
  22261. https://reviewboard.asterisk.org/r/2078/
  22262. 2012-09-12 20:54 +0000 [r372996] Joshua Colp <jcolp@digium.com>
  22263. * channels/chan_motif.c, /: Skip any non-content information when
  22264. looking for and handling content. This fixes a bug with Jitsi and
  22265. conference calling. Jitsi implements XEP-0298 which places some
  22266. conference-info information in the session-initiate request which
  22267. chan_motif did not expect to occur. ........ Merged revisions
  22268. 372995 from http://svn.asterisk.org/svn/asterisk/branches/11
  22269. 2012-09-12 18:33 +0000 [r372976-372985] Jonathan Rose <jrose@digium.com>
  22270. * /, res/res_xmpp.c: res_xmpp: Fix a segfault caused by bodyless
  22271. messages (closes issue ASTERISK-20361) Reported by: Noah
  22272. Engelberth Review: https://reviewboard.asterisk.org/r/2108/
  22273. ........ Merged revisions 372984 from
  22274. http://svn.asterisk.org/svn/asterisk/branches/11
  22275. * configs/logger.conf.sample, main/logger.c: logger: Add
  22276. rotatestrategy option of 'none' which does not perform rotations
  22277. With this option in use, it may be necessary to regulate your log
  22278. files externally. (closes issue ASTERISK-20189) Reported by: Jaco
  22279. Kroon Patches: asterisk-logger-norotate-trunk.patch uploaded by
  22280. Jaco Kroon (license 5671)
  22281. 2012-09-12 15:21 +0000 [r372943] Mark Michelson <mmichelson@digium.com>
  22282. * /, channels/chan_sip.c: Add channel name to a warning to make
  22283. debugging easier. The "autodestruct with owner in place" message
  22284. is typically indicative of a channel reference leak. Printing out
  22285. the name of the channel in the message may be helpful when trying
  22286. to debug the issue. ........ Merged revisions 372932 from
  22287. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22288. revisions 372933 from
  22289. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22290. revisions 372937 from
  22291. http://svn.asterisk.org/svn/asterisk/branches/11
  22292. 2012-09-12 14:22 +0000 [r372931] David M. Lee <dlee@digium.com>
  22293. * /, main/Makefile: Fixed r372696 when configured
  22294. --disable-asteriskssl; properly install libasteriskssl.dylib on
  22295. OS X. I didn't realize that libasteriskssl.c was still compiled,
  22296. even when you disable asteriskssl; it simple gets statically
  22297. linked into asterisk. ........ Merged revisions 372930 from
  22298. http://svn.asterisk.org/svn/asterisk/branches/11
  22299. 2012-09-11 22:40 +0000 [r372918] Jonathan Rose <jrose@digium.com>
  22300. * channels/chan_local.c, /: chan_local: Switch from using a random
  22301. 4 digit hex identifier to unique id Changes chan_local channels
  22302. to use an 8 digit hex identifier generated atomically and
  22303. sequentially in order to eliminate the chance of having multiple
  22304. channels with the same name during high call volume situations.
  22305. (issue ASTERISK-20318) Reported by: Dan Cropp Review:
  22306. https://reviewboard.asterisk.org/r/2104/ ........ Merged
  22307. revisions 372902 from
  22308. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22309. revisions 372916 from
  22310. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22311. revisions 372917 from
  22312. http://svn.asterisk.org/svn/asterisk/branches/11
  22313. 2012-09-11 21:17 +0000 [r372887-372891] Mark Michelson <mmichelson@digium.com>
  22314. * include/asterisk/_private.h, main/message.c, main/asterisk.c, /:
  22315. Fix inability to shutdown gracefully due to an unending channel
  22316. reference. message.c makes use of a special message queue channel
  22317. that exists in thread storage. This channel never goes away due
  22318. to the fact that the taskprocessor used by message.c does not get
  22319. shut down, meaning that it never ends the thread that stores the
  22320. channel. This patch fixes the problem by shutting down the
  22321. taskprocessor when Asterisk is shut down. In addition, the thread
  22322. storage has a destructor that will release the channel reference
  22323. when the taskprocessor is destroyed. (closes issue AST-937)
  22324. Reported by Jason Parker Patches: AST-937.patch uploaded by Mark
  22325. Michelson (License #5049) Tested by Jason Parker ........ Merged
  22326. revisions 372885 from
  22327. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22328. revisions 372888 from
  22329. http://svn.asterisk.org/svn/asterisk/branches/11
  22330. * main/features.c, /: Fix bad channel application data reference.
  22331. When channels get bridged due to an AMI bridge action or a DTMF
  22332. attended transfer, the two channels that get bridged have their
  22333. application data pointing to the other channel's name. This means
  22334. that if one channel is hung up but the other moves on, it means
  22335. that the channel that moves on will have its application data
  22336. pointing at freed memory. (issue ASTERISK-20335) Reported by:
  22337. aragon ........ Merged revisions 372840 from
  22338. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22339. revisions 372841 from
  22340. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22341. revisions 372886 from
  22342. http://svn.asterisk.org/svn/asterisk/branches/11
  22343. 2012-09-11 18:09 +0000 [r372874] David M. Lee <dlee@digium.com>
  22344. * Makefile, /: Corrects the astsbindir setting when installing the
  22345. sample asterisk.conf. (closes issue ASTERISK-20406) ........
  22346. Merged revisions 372863 from
  22347. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22348. revisions 372864 from
  22349. http://svn.asterisk.org/svn/asterisk/branches/11
  22350. 2012-09-11 14:43 +0000 [r372808-372832] Jonathan Rose <jrose@digium.com>
  22351. * UPGRADE.txt, CHANGES: chan_sip: Fix CHANGES and UPGRADE.txt for
  22352. r372808 (issue AST-969) Reported by John Bigelow
  22353. * channels/chan_sip.c: chan_sip: Change SIPQualifyPeer to improve
  22354. initial response time Prior to this patch, The acknowledgement
  22355. wasn't produced until after executing the sip_poke_peer action
  22356. actually responsible for qualifying the peer. Now the response is
  22357. given immediately once it is known that a peer will be qualified
  22358. and a SIPqualifypeerdone event is issued when the process is
  22359. finished. Thanks to OEJ for identifying the problem and helping
  22360. to come up with a solution. (issue AST-969) Reported by John
  22361. Bigelow Review: https://reviewboard.asterisk.org/r/2098/
  22362. 2012-09-10 21:00 +0000 [r372796-372807] Kinsey Moore <kmoore@digium.com>
  22363. * channels/chan_iax2.c, /: Ensure iax2 debug output is displayed
  22364. when expected When IAX2 debug was changed from iax_showframe to
  22365. iax_outputframe, some instances were missed (or added afterward).
  22366. This was causing debug output to not be displayed when expected.
  22367. (closes issue ASTERISK-20338) Reported-by: John Covert Patch-by:
  22368. John Covert ........ Merged revisions 372804 from
  22369. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22370. revisions 372805 from
  22371. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22372. revisions 372806 from
  22373. http://svn.asterisk.org/svn/asterisk/branches/11
  22374. * /, main/devicestate.c, channels/chan_gtalk.c, res/res_jabber.c,
  22375. channels/chan_jingle.c, include/asterisk/doxygen/architecture.h:
  22376. Deprecate chan_gtalk, chan_jingle, and res_jabber chan_gtalk,
  22377. chan_jingle, and res_jabber are now deprecated in favor of using
  22378. chan_motif and res_xmpp. They are a feature-equivalent
  22379. replacement and are written to be more easily maintainable.
  22380. (closes issue ASTERISK-20298) Review:
  22381. https://reviewboard.asterisk.org/r/2082/ Reported-by: Leif Madsen
  22382. ........ Merged revisions 372795 from
  22383. http://svn.asterisk.org/svn/asterisk/branches/11
  22384. 2012-09-10 19:22 +0000 [r372787] David M. Lee <dlee@digium.com>
  22385. * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Eliminate
  22386. "type-punned pointer" build warning. Removes
  22387. "res_rtp_asterisk.c:706: warning: dereferencing type-punned
  22388. pointer will break strict-aliasing rules" warning from the build
  22389. on 32-bit platforms. The problem is that 'size' was referenced
  22390. aliased to both (pj_size_t *) and (pj_ssize_t *). Now just make a
  22391. copy of size that is the right type so there isn't any pointer
  22392. aliasing happening. It also adds comments and asserts regarding
  22393. what looks like an inappropriate use of pj_sock_sendto, but is
  22394. actually totally fine. (closes issue ASTERISK-20368) Reported by:
  22395. Shaun Ruffell Tested by: Michael L. Young Patches:
  22396. 0001-res_rtp_asterisk-Eliminate-type-punned-pointer-build.patch
  22397. uploaded by Shaun Ruffell (license 5417) slightly modified by
  22398. David M. Lee. ........ Merged revisions 372777 from
  22399. http://svn.asterisk.org/svn/asterisk/branches/11
  22400. 2012-09-10 18:58 +0000 [r372755-372769] Jonathan Rose <jrose@digium.com>
  22401. * /, apps/app_meetme.c: app_meetme: Document that 'p' option will
  22402. continue in dialplan. (closes issue AST-991) Reported by John
  22403. Bigelow ........ Merged revisions 372765 from
  22404. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22405. revisions 372767 from
  22406. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22407. revisions 372768 from
  22408. http://svn.asterisk.org/svn/asterisk/branches/11
  22409. * /, main/channel.c: Masquerade: Retain parkinglot settings made by
  22410. CHANNEL function. Prior to this patch, the user would have a
  22411. parkinglot set on a channel that was parked and when the channel
  22412. was retrieved, any attempt by that channel to park would simply
  22413. use the default. This patch makes parkinglot values set in this
  22414. way be retained through the masquerade. (closes issue AST-990)
  22415. Reported by: Nick Huskinson Patches:
  22416. masquerade_parkinglot_patch.diff Uploaded by Jonathan Rose
  22417. (license 6182) ........ Merged revisions 372736 from
  22418. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22419. revisions 372737 from
  22420. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22421. revisions 372754 from
  22422. http://svn.asterisk.org/svn/asterisk/branches/11
  22423. 2012-09-09 01:28 +0000 [r372712] Matthew Jordan <mjordan@digium.com>
  22424. * channels/sip/sdp_crypto.c, /: Only re-create an SRTP session when
  22425. needed In r356604, SRTP handling was fixed to accomodate multiple
  22426. crypto keys in an SDP offer and the ability to re-create an SRTP
  22427. session when the crypto keys changed. In certain circumstances -
  22428. most notably when a phone is put on hold after having been
  22429. bridged for a significant amount of time - the act of re-creating
  22430. the SRTP session causes problems for certain models of phones.
  22431. The patch committed in r356604 always re-created the SRTP session
  22432. regardless of whether or not the cryptographic keys changed.
  22433. Since this is technically not necessary, this patch modifies the
  22434. behavior to only re-create the SRTP session if Asterisk detects
  22435. that the remote key has changed. This allows models of phones
  22436. that do not handle the SRTP session changing to continue to work,
  22437. while also providing the behavior needed for those phones that do
  22438. re-negotiate cryptographic keys. (issue ASTERISK-20194) Reported
  22439. by: Nicolo Mazzon Tested by: Nicolo Mazzon Review:
  22440. https://reviewboard.asterisk.org/r/2099 ........ Merged revisions
  22441. 372709 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  22442. ........ Merged revisions 372710 from
  22443. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22444. revisions 372711 from
  22445. http://svn.asterisk.org/svn/asterisk/branches/11
  22446. 2012-09-08 06:18 +0000 [r372699] David M. Lee <dlee@digium.com>
  22447. * /, main/Makefile: Add OPENSSL_INCLUDE to the CFLAGS for ssl.c and
  22448. tcptls.c. Without this flag, those files will compile with the
  22449. system installed OpenSSL headers (if they exist). This is a real
  22450. bummer if a different path was specified using --with-ssl=
  22451. (closes issue ASTERISK-20392) ........ Merged revisions 372682
  22452. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  22453. Recorded merge of revisions 372695 from
  22454. http://svn.asterisk.org/svn/asterisk/branches/10 ........
  22455. Recorded merge of revisions 372696 from
  22456. http://svn.asterisk.org/svn/asterisk/branches/11
  22457. 2012-09-07 23:10 +0000 [r372623-372658] Richard Mudgett <rmudgett@digium.com>
  22458. * /, main/astmm.c: Fix MALLOC_DEBUG version of ast_strndup().
  22459. (closes issue ASTERISK-20349) Reported by: Brent Eagles ........
  22460. Merged revisions 372655 from
  22461. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22462. revisions 372656 from
  22463. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22464. revisions 372657 from
  22465. http://svn.asterisk.org/svn/asterisk/branches/11
  22466. * /, funcs/func_math.c: Remove annoying unconditional debug message
  22467. from INC/DEC functions. (closes issue AST-1001) Reported by:
  22468. Guenther Kelleter ........ Merged revisions 372628 from
  22469. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22470. revisions 372629 from
  22471. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22472. revisions 372630 from
  22473. http://svn.asterisk.org/svn/asterisk/branches/11
  22474. * apps/app_queue.c, /: Fix exception path typo in app_queue.c
  22475. try_calling(). (closes issue ASTERISK-20380) Reported by: Jeremy
  22476. Pepper Patches: fix-local-channel-locking.patch (license #6350)
  22477. patch uploaded by Jeremy Pepper ........ Merged revisions 372624
  22478. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  22479. Merged revisions 372625 from
  22480. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22481. revisions 372626 from
  22482. http://svn.asterisk.org/svn/asterisk/branches/11
  22483. * apps/app_voicemail.c, /: Fix VoicemailUserEntry event headers
  22484. ServerEmail and MailCommand reported values. The AMI action
  22485. VoicemailUsersList VoicemailUserEntry event headers ServerEmail
  22486. and MailCommand did not report the global values if they were not
  22487. overridden. The VoicemailUserEntry event header ServerEmail was
  22488. not populated with the global value if the voicemail user did not
  22489. override it. The VoicemailUserEntry event header MailCommand was
  22490. never populated with a value. * Removed unused struct ast_vm_user
  22491. member mailcmd[]. (closes issue AST-973) Reported by: John
  22492. Bigelow Tested by: rmudgett ........ Merged revisions 372620 from
  22493. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22494. revisions 372621 from
  22495. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22496. revisions 372622 from
  22497. http://svn.asterisk.org/svn/asterisk/branches/11
  22498. 2012-09-07 21:04 +0000 [r372610-372612] David M. Lee <dlee@digium.com>
  22499. * res/pjproject/pjmedia/lib, codecs/ilbc,
  22500. res/pjproject/pjlib-util/lib, res/pjproject/pjmedia/bin,
  22501. res/pjproject/third_party/gsm/lib,
  22502. res/pjproject/third_party/gsm/bin, res/pjproject/pjnath/lib,
  22503. res/pjproject/pjsip/lib, res/pjproject/pjsip-apps/lib,
  22504. res/pjproject/pjsip/bin, res/pjproject/pjsip-apps/bin,
  22505. res/pjproject/third_party/lib, res/pjproject/third_party/bin,
  22506. res/pjproject/lib, res/pjproject/pjlib/lib, /: svn:ignore
  22507. cleanup. * pjproject bin and lib directories should pretty much
  22508. ignore everything * Ignore *.o in codecs/ilbc ........ Merged
  22509. revisions 372611 from
  22510. http://svn.asterisk.org/svn/asterisk/branches/11
  22511. * /, res/Makefile: Fix parallel make for res_asterisk_rtp. Fixes a
  22512. build regression introduced in r369517 "Add support for
  22513. ICE/STUN/TURN in res_rtp_asterisk and chan_sip." [1]. [1]
  22514. http://svnview.digium.com/svn/asterisk?view=revision&revision=369517
  22515. When compiling asterisk in parallel like: $ make -j 10 It's
  22516. possible to get errors like the following:
  22517. .pjlib-util-test-x86_64-unknown-linux-gnu.depend:120: *** missing
  22518. separator. Stop. make[4]: *** [depend] Error 2 make[3]: *** [dep]
  22519. Error 1 make[2]: ***
  22520. [/home/sruffell/asterisk-working/res/pjproject/pjnath/lib/libpjnath-x86_64-unknown-linux-gnu.a]
  22521. Error 2 make[3]: warning: jobserver unavailable: using -j1. Add
  22522. `+' to parent make rule. This is because the build system is
  22523. trying to build each of the libraries in pjproject in parallel.
  22524. Now the build will build pjproject in a single job and link the
  22525. results into res_asterisk_rtp. Parallel builds, on one test
  22526. system, saves ~1.5 minutes from a default Asterisk build: Single
  22527. job: $ git clean -fdx >/dev/null && time ( ./configure >/dev/null
  22528. 2>&1 && make >/dev/null 2>&1 ) real 2m34.529s user 1m41.810s sys
  22529. 0m15.970s Parallel make: $ git clean -fdx >/dev/null && time (
  22530. ./configure >/dev/null 2>&1 && make -j10 >/dev/null 2>&1 ) real
  22531. 1m2.353s user 2m39.120s sys 0m18.850s (closes issue
  22532. ASTERISK-20362) Reported by: Shaun Ruffel Patches:
  22533. 0001-res_asterisk_rtp-Fix-build-error-when-using-parallel.patch
  22534. uploaded by Shaun Ruffel (License #5417) ........ Merged
  22535. revisions 372609 from
  22536. http://svn.asterisk.org/svn/asterisk/branches/11
  22537. 2012-09-07 02:27 +0000 [r372538-372584] Matthew Jordan <mjordan@digium.com>
  22538. * /, apps/app_minivm.c: Free ast_str objects when temp file fails
  22539. to be created in MiniVM The previous commit (r372554) was from a
  22540. patch that was written before r366880, which ensured that ast_str
  22541. objects allocated in the sendmail routine were free'd in off
  22542. nominal paths. This commit frees the string objects in the off
  22543. nominal path introduced in r372554. (issue ASTERISK-17133)
  22544. Reported by: Tzafrir Cohen ........ Merged revisions 372581 from
  22545. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22546. revisions 372582 from
  22547. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22548. revisions 372583 from
  22549. http://svn.asterisk.org/svn/asterisk/branches/11
  22550. * /, apps/app_minivm.c: Fix file descriptor leak and pointer scope
  22551. issue in MiniVM when sending mail When MiniVM sends an e-mail and
  22552. it has the volgain option set, it will spawn sox in a separate
  22553. process to handle the manipulation of the sound file. In doing
  22554. so, it creates a temporary file. There are two problems here: 1)
  22555. The file descriptor returned from mkstemp is leaked 2) The
  22556. finalfilename character pointer points to a buffer that loses
  22557. scope once volgain processing is finished. Note that in r316265,
  22558. Russell fixed some gcc warnings by using the return value of the
  22559. mkstemp call. A warning was placed in minivm that the file
  22560. descriptor was going to be leaked. This patch reverts that
  22561. change, as it handles the leak and 'uses' the file descriptor
  22562. returned from mkstemp. (closes issue ASTERISK-17133) Reported by:
  22563. Tzafrir Cohen patches: minivm_18501_demo.diff uploaded by Tzafrir
  22564. Cohen (license #5035) ........ Merged revisions 372554 from
  22565. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22566. revisions 372555 from
  22567. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22568. revisions 372556 from
  22569. http://svn.asterisk.org/svn/asterisk/branches/11
  22570. * /, apps/app_queue.c: Update QueueMemberStatus event documentation
  22571. to include member status values The Status: header in a
  22572. QueueMemberStatus event (and other QueueMember* events) is the
  22573. numeric value of the device state corresponding to that Queue
  22574. Member. As those values are not exactly obvious, listing them in
  22575. the documentation is useful. Matt Riddell reported this
  22576. indirectly through the wiki page. (closes issue ASTERISK-20243)
  22577. Reported by: Matt Riddell ........ Merged revisions 372531 from
  22578. http://svn.asterisk.org/svn/asterisk/branches/11
  22579. 2012-09-06 22:14 +0000 [r372524] Richard Mudgett <rmudgett@digium.com>
  22580. * channels/sig_pri.c, /: Fix loss of MOH on an ISDN channel when
  22581. parking a call for the second time. Using the AMI redirect action
  22582. to take an ISDN call out of a parking lot causes the MOH state to
  22583. get confused. The redirect action does not take the call off of
  22584. hold. When the call is subsequently parked again, the call no
  22585. longer hears MOH. * Make chan_dahdi/sig_pri restart MOH on
  22586. repeated AST_CONTROL_HOLD frames if it is already in a state
  22587. where it is supposed to be sending MOH. The MOH may have been
  22588. stopped by other means. (Such as killing the generator.) This
  22589. simple fix is done rather than making the AMI redirect action
  22590. post an AST_CONTROL_UNHOLD unconditionally when it redirects a
  22591. channel and thus potentially breaking something with an
  22592. unexpected AST_CONTROL_UNHOLD. (closes issue ABE-2873) Patches:
  22593. jira_abe_2873_c.3_bier.patch (license #5621) patch uploaded by
  22594. rmudgett ........ Merged revisions 372521 from
  22595. https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
  22596. ........ Merged revisions 372522 from
  22597. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22598. revisions 372523 from
  22599. http://svn.asterisk.org/svn/asterisk/branches/11
  22600. 2012-09-06 21:43 +0000 [r372520] Kinsey Moore <kmoore@digium.com>
  22601. * /, apps/app_queue.c: Ensure listed queues are not offered for
  22602. completion When using tab-completion for the list of queues on
  22603. "queue reset stats" or "queue reload
  22604. {all|members|parameters|rules}", the tab-completion listing for
  22605. further queues erroneously listed queues that had already been
  22606. added to the list. The tab-completion listing now only displays
  22607. queues that are not already in the list. (closes issue AST-963)
  22608. Reported-by: John Bigelow ........ Merged revisions 372517 from
  22609. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22610. revisions 372518 from
  22611. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22612. revisions 372519 from
  22613. http://svn.asterisk.org/svn/asterisk/branches/11
  22614. 2012-09-06 15:57 +0000 [r372474] Jonathan Rose <jrose@digium.com>
  22615. * /, UPGRADE-1.8.txt: chan_sip: Note change in behavior to how
  22616. directmediapermit/deny ACL works r366547 introduced a change to
  22617. the directmedia ACL for chan_sip which modified the behavior
  22618. significantly. Prior to the patch, this option would bridge peers
  22619. with directmedia if a peer's IP address matched its own
  22620. directmedia ACL. After that patch, the peer would check the
  22621. bridged peer's ACL instead. This change has been present since
  22622. 1.8.14.0. That patched failed to document the change in
  22623. Upgrade.txt, so this patch adds mention of that change to
  22624. UPGRADE.txt (UPGRADE-1.8.txt in newer branches) (issue AST-876)
  22625. ........ Merged revisions 372471 from
  22626. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22627. revisions 372472 from
  22628. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22629. revisions 372473 from
  22630. http://svn.asterisk.org/svn/asterisk/branches/11
  22631. 2012-09-06 14:31 +0000 [r372447] Kinsey Moore <kmoore@digium.com>
  22632. * /, apps/app_queue.c: Ensure "rules" is tab-completable for "queue
  22633. show" Previously, tabbing at the end of "queue show" produced a
  22634. list of available queues about which information could be shown,
  22635. but did not include an alternative command, "rules", to access
  22636. information about queue rules. The "rules" item should now be
  22637. shown in the list of tab-completable items. (closes issue
  22638. AST-958) Reported-by: John Bigelow ........ Merged revisions
  22639. 372444 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  22640. ........ Merged revisions 372445 from
  22641. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22642. revisions 372446 from
  22643. http://svn.asterisk.org/svn/asterisk/branches/11
  22644. 2012-09-06 02:52 +0000 [r372393-372420] Matthew Jordan <mjordan@digium.com>
  22645. * /, pbx/pbx_dundi.c: Fix DUNDi message routing bug when
  22646. neighboring peer is unreachable Consider a scenario where DUNDi
  22647. peer PBX1 has two peers that are its neighbors, PBX2 and PBX3,
  22648. and where PBX2 and PBX3 are also neighbors. If the connection is
  22649. temporarily broken between PBX1 and PBX3, PBX1 should not include
  22650. PBX3 in the list of peers it sends to PBX2 in a DPDISCOVER
  22651. message, as it cannot send messages to PBX3. If it does, PBX2
  22652. will assume that PBX3 already received the message and fail to
  22653. forward the message on to PBX3 itself. This patch fixes this by
  22654. only including peers in a DPDISCOVER message that are reachable
  22655. by the sending node. This includes all peers with an empty
  22656. address (00:00:00:00:00:00) and that are have been reached by a
  22657. qualify message. This patch also prevents attempting to qualify a
  22658. dynamic peer with an empty address until that peer registers. The
  22659. patch uploaded by Peter was modified slightly for this commit.
  22660. (closes issue ASTERISK-19309) Reported by: Peter Racz patches:
  22661. dundi_routing.patch uploaded by Peter Racz (license 6290)
  22662. ........ Merged revisions 372417 from
  22663. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22664. revisions 372418 from
  22665. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22666. revisions 372419 from
  22667. http://svn.asterisk.org/svn/asterisk/branches/11
  22668. * /, apps/app_followme.c: Allow configured numbers for FollowMe to
  22669. be greater than 90 characters When parsing a 'number' defined in
  22670. followme.conf, FollowMe previously parsed the number in the
  22671. configuration file into a buffer with a length of 90 characters.
  22672. This can artificially limit some parallel dial scenarios. This
  22673. patch allows for numbers of any length to be defined in the
  22674. configuration file. Note that Clod Patry originally wrote a patch
  22675. to fix this problem and received a Ship It! on the JIRA issue.
  22676. The patch originally expanded the buffer to 256 characters.
  22677. Instead, the patch being committed duplicates the string in the
  22678. config file on the stack before parsing it for consumption by the
  22679. application. (closes issue ASTERISK-16879) Reported by: Clod
  22680. Patry Tested by: mjordan patches: followme_no_limit.diff uploaded
  22681. by Clod Patry (license #5138) Slightly modified for this commit.
  22682. ........ Merged revisions 372390 from
  22683. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22684. revisions 372391 from
  22685. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22686. revisions 372392 from
  22687. http://svn.asterisk.org/svn/asterisk/branches/11
  22688. 2012-09-05 19:44 +0000 [r372374] Richard Mudgett <rmudgett@digium.com>
  22689. * /: Recorded merge of revisions 372373 from
  22690. http://svn.asterisk.org/svn/asterisk/branches/11 ........ Fix
  22691. compile error. ........ Merged revisions 372372 from
  22692. http://svn.asterisk.org/svn/asterisk/branches/10
  22693. 2012-09-05 19:26 +0000 [r372344-372371] Kinsey Moore <kmoore@digium.com>
  22694. * main/manager.c, /: Correct documentation for ModuleLoad AMI
  22695. action The documentation incorrectly listed 'rtp' as a reloadable
  22696. subsystem and left out many other reloadable subsystems. It is
  22697. now also documented that subsystems may only be reloaded, not
  22698. loaded or unloaded. (closes issue AST-977) Reported-by: John
  22699. Bigelow ........ Merged revisions 372354 from
  22700. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22701. revisions 372358 from
  22702. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22703. revisions 372365 from
  22704. http://svn.asterisk.org/svn/asterisk/branches/11
  22705. * main/pbx.c, /: Ensure counts generated in
  22706. manager_show_dialplan_helper are correct When
  22707. manager_show_dialplan_helper was written, the counter increment
  22708. for the total number of contexts was placed with the extensions
  22709. increment instead of in the enclosing loop. This function should
  22710. now generate correct context counts. (closes issue AST-970)
  22711. Reported-by: John Bigelow ........ Merged revisions 372337 from
  22712. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22713. revisions 372338 from
  22714. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22715. revisions 372340 from
  22716. http://svn.asterisk.org/svn/asterisk/branches/11
  22717. 2012-09-05 18:56 +0000 [r372343] Alec L Davis <sivad.a@paradise.net.nz>
  22718. * /, main/dsp.c: dsp.c: in ast_mf_detect_init incorrectly sets
  22719. goertzel samples to 160, should be MF_GSIZE Remove unused
  22720. goertzel_state_t member 'samples'. Related
  22721. https://reviewboard.asterisk.org/r/2097/
  22722. 2012-09-05 17:38 +0000 [r372329] Richard Mudgett <rmudgett@digium.com>
  22723. * res/res_rtp_asterisk.c, /: Multiple revisions 372327-372328
  22724. ........ r372327 | rmudgett | 2012-09-05 12:33:11 -0500 (Wed, 05
  22725. Sep 2012) | 15 lines Fix RTP/RTCP read error message confusion.
  22726. The RTP/RTCP read error message can report "fail: success" when
  22727. the read failure is because of an ICE failure. * Changed
  22728. __rtp_recvfrom() to generate a PJ ICE message when ICE fails. *
  22729. Changed RTP/RTCP read error message to indicate an unspecified
  22730. error when errno is zero. (closes issue ASTERISK-20288) Reported
  22731. by: Joern Krebs Patches: jira_asterisk_20288_err_msg.patch
  22732. (license #5621) patch uploaded by rmudgett (modified) ........
  22733. r372328 | rmudgett | 2012-09-05 12:35:20 -0500 (Wed, 05 Sep 2012)
  22734. | 1 line Fix coding guidelines issue with a recent commit.
  22735. ........ Merged revisions 372327-372328 from
  22736. http://svn.asterisk.org/svn/asterisk/branches/11
  22737. 2012-09-05 16:24 +0000 [r372310-372319] Mark Michelson <mmichelson@digium.com>
  22738. * main/rtp_engine.c, /, include/asterisk/rtp_engine.h,
  22739. res/res_rtp_asterisk.c: Re-fix sending unnegotiated payloads
  22740. during a P2P RTP bridge. The previous fix still would look in the
  22741. static_RTP_PT table, which is inappropriate since we specifically
  22742. want to find a codec that has been negotiated. (closes issue
  22743. ASTERISK-20296) reported by NITESH BANSAL Patches:
  22744. codec_negotiation.patch Uploaded by NITESH BANSAL (License #6418)
  22745. ........ Merged revisions 372311 from
  22746. http://svn.asterisk.org/svn/asterisk/branches/11
  22747. * apps/app_alarmreceiver.c: Add fixes and cleanup to
  22748. app_alarmreceiver. This work comes courtesy of Pedro Kiefer
  22749. (License #6407) The work was posted to review board by Kaloyan
  22750. Kovachev (License #5506) (closes issue ASTERISK-16668) Reported
  22751. by Grant Crawshay (closes issue ASTERISK-16694) Reported by Fred
  22752. van Lieshout (closes issue ASTERISK-18417) Reported by Kostas
  22753. Liakakis (closes issue ASTERISK-19435) Reported by Deon George
  22754. (closes issue ASTERISK-20157) Reported by Pedro Kiefer (closes
  22755. issue ASTERISK-20158) Reported by Pedro Kiefer (closes issue
  22756. ASTERISK-20224) Reported by Pedro Kiefer Review:
  22757. https://reviewboard.asterisk.org/r/2075
  22758. 2012-09-05 14:44 +0000 [r372302] Matthew Jordan <mjordan@digium.com>
  22759. * /, apps/app_voicemail.c: Fix memory leaks in app_voicemail when
  22760. using IMAP storage or realtime config This patch fixes two memory
  22761. leaks: 1. When find_user is called with NULL as its first
  22762. parameter, the voicemail user returned is allocated on the heap.
  22763. The inboxcount2 function uses find_user in such a fashion when
  22764. counting new messages, and fails to free the resulting voicemail
  22765. user object. 2. When populate_defaults is called on a voicemail
  22766. user, it wipes whatever flags have been set on the object by
  22767. copying over the global flags object. If the VM_ALLOCED flag was
  22768. ste on the voicemail user prior to doing so, that flag is
  22769. removed. This leaks the voicemail user when free_user is later
  22770. called. (closes issue ASTERISK-19155) Reported by: Filip Jenicek
  22771. patches: asterisk.patch2 uploaded by Filip Jenicek (license 6277)
  22772. Patch slightly modified for this commit. Review:
  22773. https://reviewboard.asterisk.org/r/2096 ........ Merged revisions
  22774. 372268 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  22775. ........ Merged revisions 372288 from
  22776. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22777. revisions 372289 from
  22778. http://svn.asterisk.org/svn/asterisk/branches/11
  22779. 2012-09-05 14:12 +0000 [r372290] Darren Sessions <dmsessions@gmail.com>
  22780. * channels/chan_sip.c, configs/res_ldap.conf.sample: LDAP Realtime
  22781. Peers Cannot Register Prior to 1.8, it was not necessary for an
  22782. explicit "type" to be set for an asterisk LDAP realtime peer. Now
  22783. the routine find_peer actually checks the type field during
  22784. registration and fails to find the peer if it is not set. The
  22785. attached patch makes the realtime type equal whatever type is
  22786. being searched for if the type is 0 upon return from routine
  22787. build_peer. (closes issue ASTERISK-17222) Reported by: John
  22788. Covert Patch by: David Vossel Tested by: Darren Sessions Review:
  22789. https://reviewboard.asterisk.org/r/2095/
  22790. 2012-09-05 12:18 +0000 [r372267] Michael L. Young <elgueromexicano@gmail.com>
  22791. * res/res_rtp_asterisk.c, /: Fix breakage caused by last merge.
  22792. Missing a variable for 11 and trunk. ........ Merged revisions
  22793. 372266 from http://svn.asterisk.org/svn/asterisk/branches/11
  22794. 2012-09-05 07:43 +0000 [r372215-372242] Alec L Davis <sivad.a@paradise.net.nz>
  22795. * main/dsp.c, /: dsp.c: Fix multiple issues when no-interdigit
  22796. delay is present, and fast DTMF 50ms/50ms Revert DTMF hit/miss
  22797. detector to original -r349249 method with some changes, remove
  22798. unnecessary; 1. reseting of hits=0, when no signal, only need to
  22799. set it once. 2. incrementing of hits, when the hit is the same as
  22800. the current hit. 3. setting of lasthit, when it's the same as
  22801. before. Change HITS_TO_BEGIN to 2, MISSES_TO_END to 3 & 3
  22802. spelling mistakes (closes issue ASTERISK-19610) alecdavis
  22803. (license 585) Reported by: Jean-Philippe Lord Tested by:
  22804. alecdavis Review: https://reviewboard.asterisk.org/r/2085/
  22805. ........ Merged revisions 372239 from
  22806. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22807. revisions 372240 from
  22808. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22809. revisions 372241 from
  22810. http://svn.asterisk.org/svn/asterisk/branches/11
  22811. * /, main/dsp.c: dsp.c: optimize goerztzel sample loops, in
  22812. dtmf_detect, mf_detect and tone_detect use a temporary short int
  22813. when repeatedly used to call goertzel_sample. alecdavis (license
  22814. 585) Reported by: alecdavis Tested by: alecdavis Review:
  22815. https://reviewboard.asterisk.org/r/2093/ ........ Merged
  22816. revisions 372212 from
  22817. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22818. revisions 372213 from
  22819. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22820. revisions 372214 from
  22821. http://svn.asterisk.org/svn/asterisk/branches/11
  22822. 2012-09-05 04:55 +0000 [r372200] Michael L. Young <elgueromexicano@gmail.com>
  22823. * res/res_rtp_asterisk.c, /: Fix Incrementing Sequence Number For
  22824. Retransmitted DTMF End Packets In Asterisk 1.4+, a fix was put in
  22825. place to increment the sequence number for retransmitted DTMF end
  22826. packets. With the introduction of the RTP engine API in 1.8, the
  22827. sequence number was no longer being incremented. This patch fixes
  22828. this regression as well as cleans up a few lines that were not
  22829. doing anything. (closes issue ASTERISK-20295) Reported by: Nitesh
  22830. Bansal Tested by: Michael L. Young Patches:
  22831. 01_rtp_event_seq_num.patch uploaded by Nitesh Bansal (license
  22832. 6418) asterisk-20295-dtmf-fix-cleanup.diff uploaded by Michael L.
  22833. Young (license 5026) Review:
  22834. https://reviewboard.asterisk.org/r/2083/ ........ Merged
  22835. revisions 372185 from
  22836. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22837. revisions 372198 from
  22838. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22839. revisions 372199 from
  22840. http://svn.asterisk.org/svn/asterisk/branches/11
  22841. 2012-09-05 02:26 +0000 [r372176] Matthew Jordan <mjordan@digium.com>
  22842. * cel/cel_pgsql.c, /: Fix memory leak when CEL is successfully
  22843. written to PostgreSQL database PQClear is not called when the
  22844. result object of a call to PQExec has a status of
  22845. PGRES_COMMAND_OK. Interestingly enough, the off nominal case was
  22846. handled properly, so this memory leak only occurred when CEL
  22847. records were successfully written. This patch properly clears the
  22848. result in the nominal code path. (closes issue ASTERISK-19991)
  22849. Reported by: Etienne Lessard Tested by: Etienne Lessard patches:
  22850. mem_leak_cel_pgsql.patch uploaded by Etienne Lessard (license
  22851. #6394) ........ Merged revisions 372158 from
  22852. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22853. revisions 372165 from
  22854. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22855. revisions 372175 from
  22856. http://svn.asterisk.org/svn/asterisk/branches/11
  22857. 2012-09-04 19:30 +0000 [r372148-372149] Jonathan Rose <jrose@digium.com>
  22858. * UPGRADE.txt: app_queue: PAUSEALL/UNPAUSEALL logged only if
  22859. interface is a queue member Adding UPGRADE.txt entry for r372148
  22860. (issue AST-946) Reported by: John Bigelow
  22861. * CHANGES, apps/app_queue.c: app_queue: Only log
  22862. PAUSEALL/UNPAUSEALL when 1+ memebers changed. Prior to this
  22863. patch, if pause or unpause was issued on an interface without
  22864. specifying a specific queue, a PAUSEALL or UNPAUSEALL event would
  22865. be logged in the queue log even if that interface wasn't a member
  22866. of any queues. This patch changes it so that these events are
  22867. only logged when at least one member of any queue exists for that
  22868. interface. (closes issue AST-946) Reported by: John Bigelow
  22869. Review: https://reviewboard.asterisk.org/r/2079/
  22870. 2012-09-04 15:50 +0000 [r372136-372138] Mark Michelson <mmichelson@digium.com>
  22871. * /, channels/chan_sip.c: Fix issue where SIP devices were not
  22872. notified when custom devices changed to "ringing". The problem
  22873. had to do with logic used when checking for what the oldest
  22874. ringing channel was. The problem was that if no channel was
  22875. found, then no notification would be sent. For custom device
  22876. states, there is no associated channel, so no notification would
  22877. get sent. This fixes the issue by still sending the notification
  22878. even if no associated channel can be found for a ringing device
  22879. state change. (closes issue ASTERISK-20297) Reported by Noah
  22880. Engelberth ........ Merged revisions 372137 from
  22881. http://svn.asterisk.org/svn/asterisk/branches/11
  22882. * apps/app_confbridge.c, /, main/config_options.c: Prevent crash
  22883. from using app_page with no confbridge.conf file provided. Also
  22884. prevents other potential crashes when using aco API with
  22885. uninitialized aco_info structs. (closes issue ASTERISK-20305)
  22886. reported by Noah Engelberth Tested by Noah Engelberth Review:
  22887. https://reviewboard.asterisk.org/r/2086 ........ Merged revisions
  22888. 372135 from http://svn.asterisk.org/svn/asterisk/branches/11
  22889. 2012-08-31 21:15 +0000 [r372119] Mark Michelson <mmichelson@digium.com>
  22890. * res/res_rtp_asterisk.c, /: Prevent local RTP bridges from sending
  22891. inappropriate formats to participants. A change for Asterisk 11
  22892. caused a check for failure to incorrectly check the return value.
  22893. This resulted in the possibility of transmitting media that a
  22894. party had not negotiated. If this media happened to be G.729,
  22895. then this could potentially result in one-way audio if no G.729
  22896. translators are installed. (closes issue ASTERISK-20296) reported
  22897. by NITESH BANSAL ........ Merged revisions 372118 from
  22898. http://svn.asterisk.org/svn/asterisk/branches/11
  22899. 2012-08-30 20:54 +0000 [r372051-372092] Mark Michelson <mmichelson@digium.com>
  22900. * apps/app_queue.c, /: Prevent crash on shutdown due to refcount
  22901. error on queues container. When app_queue is unloaded, the queues
  22902. container has its refcount decremented, potentially to 0. Then
  22903. the taskprocessor responsible for handling device state changes
  22904. is unreferenced. If the taskprocessor happens to be just about to
  22905. run its task, then it will create and destroy an iterator on the
  22906. queues container. This can cause the refcount on the queues
  22907. container to increase to 1 and then back to 0. Going back to 0 a
  22908. second time results in double frees. This failure was seen
  22909. periodically in the testsuite when Asterisk would shut down.
  22910. ........ Merged revisions 372089 from
  22911. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22912. revisions 372090 from
  22913. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22914. revisions 372091 from
  22915. http://svn.asterisk.org/svn/asterisk/branches/11
  22916. * /, apps/app_queue.c: Help prevent ringing queue members from
  22917. being rung when ringinuse set to no. Queue member status would
  22918. not always get updated properly when the member was called, thus
  22919. resulting in the member getting multiple calls. With this change,
  22920. we update the member's status at the time of calling, and we also
  22921. check to make sure the member is still available to take the call
  22922. before placing an outbound call. (closes issue ASTERISK-16115)
  22923. reported by nik600 Patches: app_queue.c-svn-r370418.patch
  22924. uploaded by Italo Rossi (license #6409) ........ Merged revisions
  22925. 372048 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  22926. ........ Merged revisions 372049 from
  22927. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22928. revisions 372050 from
  22929. http://svn.asterisk.org/svn/asterisk/branches/11
  22930. 2012-08-30 16:25 +0000 [r371964-372029] Matthew Jordan <mjordan@digium.com>
  22931. * channels/chan_iax2.c, /: AST-2012-013: Resolve ACL rules being
  22932. ignored during calls by some IAX2 peers When an IAX2 call is made
  22933. using the credentials of a peer defined in a dynamic Asterisk
  22934. Realtime Architecture (ARA) backend, the ACL rules for that peer
  22935. are not applied to the call attempt. This allows for a remote
  22936. attacker who is aware of a peer's credentials to bypass the ACL
  22937. rules set for that peer. This patch ensures that the ACLs are
  22938. applied for all peers, regardless of their storage mechanism.
  22939. (closes issue ASTERISK-20186) Reported by: Alan Frisch Tested by:
  22940. mjordan, Alan Frisch ........ Merged revisions 372028 from
  22941. http://svn.asterisk.org/svn/asterisk/branches/11
  22942. * main/manager.c, /, README-SERIOUSLY.bestpractices.txt:
  22943. AST-2012-012: Resolve AMI User Unauthorized Shell Access through
  22944. ExternalIVR The AMI Originate action can allow a remote user to
  22945. specify information that can be used to execute shell commands on
  22946. the system hosting Asterisk. This can result in an unwanted
  22947. escalation of permissions, as the Originate action, which
  22948. requires the "originate" class authorization, can be used to
  22949. perform actions that would typically require the "system" class
  22950. authorization. Previous attempts to prevent this permission
  22951. escalation (AST-2011-006, AST-2012-004) have sought to do so by
  22952. inspecting the names of applications and functions passed in with
  22953. the Originate action and, if those applications/functions matched
  22954. a predefined set of values, rejecting the command if the user
  22955. lacked the "system" class authorization. As noted by IBM X-Force
  22956. Research, the "ExternalIVR" application is not listed in the
  22957. predefined set of values. The solution for this particular
  22958. vulnerability is to include the "ExternalIVR" application in the
  22959. set of defined applications/functions that require "system" class
  22960. authorization. Unfortunately, the approach of inspecting fields
  22961. in the Originate action against known applications/functions has
  22962. a significant flaw. The predefined set of values can be bypassed
  22963. by creative use of the Originate action or by certain dialplan
  22964. configurations, which is beyond the ability of Asterisk to
  22965. analyze at run-time. Attempting to work around these scenarios
  22966. would result in severely restricting the applications or
  22967. functions and prevent their usage for legitimate means. As such,
  22968. any additional security vulnerabilities, where an
  22969. application/function that would normally require the "system"
  22970. class authorization can be executed by users with the "originate"
  22971. class authorization, will not be addressed. Instead, the
  22972. README-SERIOUSLY.bestpractices.txt file has been updated to
  22973. reflect that the AMI Originate action can result in commands
  22974. requiring the "system" class authorization to be executed. Proper
  22975. system configuration can limit the impact of such scenarios.
  22976. (closes issue ASTERISK-20132) Reported by: Zubair Ashraf of IBM
  22977. X-Force Research ........ Merged revisions 371998 from
  22978. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  22979. revisions 371999 from
  22980. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  22981. revisions 372000 from
  22982. http://svn.asterisk.org/svn/asterisk/branches/11
  22983. * include/asterisk/bridging.h, include/asterisk/datastore.h,
  22984. main/file.c, include/asterisk/strings.h, include/asterisk/pbx.h,
  22985. channels/sip/include/srtp.h, main/audiohook.c,
  22986. include/asterisk/translate.h, main/cdr.c, main/channel.c,
  22987. include/asterisk/crypto.h, include/asterisk/config_options.h,
  22988. include/asterisk/bridging_technology.h,
  22989. include/asterisk/audiohook.h,
  22990. apps/confbridge/include/confbridge.h, include/asterisk/format.h,
  22991. include/asterisk/netsock2.h, include/asterisk/rtp_engine.h,
  22992. include/asterisk/ccss.h, main/pbx.c, include/asterisk/utils.h,
  22993. channels/sip/srtp.c, channels/chan_sip.c,
  22994. include/asterisk/format_pref.h, include/asterisk/astobj2.h,
  22995. include/asterisk/presencestate.h, channels/chan_agent.c,
  22996. include/asterisk/config.h, pbx/pbx_lua.c,
  22997. formats/format_ogg_vorbis.c, include/asterisk/channel.h,
  22998. main/named_acl.c, codecs/speex/speex_resampler.h,
  22999. include/asterisk/manager.h, include/asterisk/format_cap.h,
  23000. include/asterisk/framehook.h, include/asterisk/heap.h,
  23001. channels/sig_pri.h, Makefile, include/asterisk/message.h: Clean
  23002. up doxygen warnings This patch fixes numerous doxygen warnings
  23003. across Asterisk. It also updates the makefile to regenerate the
  23004. doxygen configuration on the local system before running doxygen
  23005. to help prevent warnings/errors on the local system. Much thanks
  23006. to Andrew for tackling one of the Asterisk janitor projects!
  23007. (issue ASTERISK-20259) Reported by: Andrew Latham Patches:
  23008. doxygen_partial.diff uploaded by Andrew Latham (license 5985)
  23009. make_progdocs.diff uploaded by Andrew Latham (license 5985)
  23010. * doc/CODING-GUIDELINES (added), /: Restore CODING-GUIDELINES to
  23011. doc folder In r294740, the CODING-GUIDELINES was removed from the
  23012. doc folder in favor of the content on the Asterisk wiki. Some
  23013. folks still look in the doc folder initially for coding guideline
  23014. suggestions; as such, this patch adds a CODING-GUIDELINES file
  23015. back into the doc folder. The content of the file merely points
  23016. to the correct page on the Asterisk wiki where the coding
  23017. guidelines currently live. (closes issue ASTERISK-20279) Reported
  23018. by: Andrew Latham Patches: CODING-GUIDELINES.diff uploaded by
  23019. Andrew Latham (license 5985) ........ Merged revisions 371961
  23020. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  23021. Merged revisions 371962 from
  23022. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23023. revisions 371963 from
  23024. http://svn.asterisk.org/svn/asterisk/branches/11
  23025. 2012-08-29 22:48 +0000 [r371951-371952] Richard Mudgett <rmudgett@digium.com>
  23026. * include/asterisk/md5.h: Ensure alignment of in[] field in
  23027. MD5Context struct. The struct MD5Context character buffer is cast
  23028. to an int32_t* without making sure that said buffer is aligned.
  23029. Since the buffer follows two uint32_t's, the chance of 'in' being
  23030. (32 bits) unaligned is nil in practice. But adding code to ensure
  23031. that 'in' stays aligned costs nothing and removes all doubts
  23032. about the casts being safe. (closes issue ASTERISK-20241)
  23033. Reported by: Walter Doekes Patches: tmp.diff (license #5674)
  23034. patch uploaded by Walter Doekes
  23035. * /, apps/app_meetme.c: Fix compile errors. ........ Merged
  23036. revisions 371950 from
  23037. http://svn.asterisk.org/svn/asterisk/branches/11
  23038. 2012-08-29 21:15 +0000 [r371922] Jonathan Rose <jrose@digium.com>
  23039. * /, apps/app_meetme.c: app_meetme: Adding test events for
  23040. following activity in MeetMe. ........ Merged revisions 371919
  23041. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  23042. Merged revisions 371920 from
  23043. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23044. revisions 371921 from
  23045. http://svn.asterisk.org/svn/asterisk/branches/11
  23046. 2012-08-29 19:57 +0000 [r371892-371894] Richard Mudgett <rmudgett@digium.com>
  23047. * main/channel.c, /: Fix theoretical compile error with HAVE_EPOLL.
  23048. Really shows how much epoll is used since it had not been
  23049. reported yet. ........ Merged revisions 371893 from
  23050. http://svn.asterisk.org/svn/asterisk/branches/11
  23051. * main/channel.c, /: Initialize file descriptors for dummy channels
  23052. to -1. Dummy channels usually aren't read from, but functions
  23053. like SHELL and CURL use autoservice on the channel. (closes issue
  23054. ASTERISK-20283) Reported by: Gareth Palmer Patches:
  23055. svn-371580.patch (license #5169) patch uploaded by Gareth Palmer
  23056. (modified) ........ Merged revisions 371888 from
  23057. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23058. revisions 371890 from
  23059. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23060. revisions 371891 from
  23061. http://svn.asterisk.org/svn/asterisk/branches/11
  23062. 2012-08-29 19:38 +0000 [r371889] Jonathan Rose <jrose@digium.com>
  23063. * channels/chan_sip.c, UPGRADE.txt: chan_sip: Change manager event
  23064. to confirm SIPqualifypeer into an ack Matt Jordan informed me
  23065. that it was more appropriate to use an astman_send_ack here
  23066. instead of making an event response. I've also used this
  23067. opportunity to update UPGRADE.txt to mention this change in
  23068. behavior. (issue AST-969) Reported by: John Bigelow
  23069. 2012-08-29 18:40 +0000 [r371863] Richard Mudgett <rmudgett@digium.com>
  23070. * apps/app_dial.c, /: Fix hangup cause passthrough regression. The
  23071. v1.8 -r369258 change to fix the F and F(x) action logic
  23072. introduced a regression in passing the hangup cause from the
  23073. called channel to the caller channel. (closes issue
  23074. ASTERISK-20287) Reported by: Konstantin Suvorov Patches:
  23075. app_dial_hangupcause.patch (license #6421) patch uploaded by
  23076. Konstantin Suvorov (modified) Tested by: rmudgett ........ Merged
  23077. revisions 371860 from
  23078. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23079. revisions 371861 from
  23080. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23081. revisions 371862 from
  23082. http://svn.asterisk.org/svn/asterisk/branches/11
  23083. 2012-08-29 17:35 +0000 [r371823-371851] Jonathan Rose <jrose@digium.com>
  23084. * /, channels/chan_sip.c: chan_sip: Send 408 on retransmit timeout
  23085. instead of 603 (closes issue ASTERISK-20124) Reported by: Walter
  23086. Doekes ........ Merged revisions 371824 from
  23087. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23088. revisions 371825 from
  23089. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23090. revisions 371845 from
  23091. http://svn.asterisk.org/svn/asterisk/branches/11
  23092. * channels/chan_sip.c: chan_sip: Send a manager event to confirm
  23093. SIPqualifypeer completes Prior to this patch, Issuing
  23094. SIPqualifypeer either resulted in an error or if it succeeded, a
  23095. few \r\ns. This patch adds a SIPqualifypeerComplete event issued
  23096. as a response when the command is successfully executed. (closes
  23097. issue AST-969) Reported by: John Bigelow
  23098. 2012-08-27 21:51 +0000 [r371785-371791] Mark Michelson <mmichelson@digium.com>
  23099. * configs/agents.conf.sample, /: Fix misleading documentation in
  23100. agents.conf.sample regarding ackcall usage. The documentation
  23101. made it sound as if the DTMF acknowledgment was needed at the
  23102. time the agent logs in, rather than when the agent is called.
  23103. This is likely a relic from the days when there were multiple
  23104. ways of logging in agents. (closes issue AST-962) reported by
  23105. Steve Pitts ........ Merged revisions 371787 from
  23106. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23107. revisions 371789 from
  23108. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23109. revisions 371790 from
  23110. http://svn.asterisk.org/svn/asterisk/branches/11
  23111. * main/manager.c, /: Fix incorrect documentation of the
  23112. MailboxStatus manager command. The "Waiting" field was
  23113. misdocumented as reporting the number of messages waiting. In
  23114. reality, it simply indicated the presence or absence of waiting
  23115. messages. ........ Merged revisions 371782 from
  23116. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23117. revisions 371783 from
  23118. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23119. revisions 371784 from
  23120. http://svn.asterisk.org/svn/asterisk/branches/11
  23121. 2012-08-27 18:16 +0000 [r371754] David M. Lee <dlee@digium.com>
  23122. * res/pjproject/pjlib-util/bin, res/pjproject/pjnath/build/output,
  23123. /, res/pjproject/pjlib/bin,
  23124. res/pjproject/pjlib-util/build/output, res/pjproject/pjnath/bin,
  23125. res/pjproject/pjlib/build/output: svn:ignore pjproject bin &
  23126. output for all platforms. ........ Merged revisions 371753 from
  23127. http://svn.asterisk.org/svn/asterisk/branches/11
  23128. 2012-08-27 17:52 +0000 [r371751] Mark Michelson <mmichelson@digium.com>
  23129. * /, configs/queues.conf.sample: Fix incorrectly documented option
  23130. in queues.conf sharedlastcall defaults to "no" not "yes" (closes
  23131. issue AST-979) reported by Steve Pitts ........ Merged revisions
  23132. 371747 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  23133. ........ Merged revisions 371748 from
  23134. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23135. revisions 371750 from
  23136. http://svn.asterisk.org/svn/asterisk/branches/11
  23137. 2012-08-27 16:56 +0000 [r371721] David M. Lee <dlee@digium.com>
  23138. * main/lock.c, /: Fixes ast_rwlock_timed[rd|wr]lock for BSD and
  23139. variants. The original implementations simply wrap pthread
  23140. functions, which take absolute time as an argument. The spinlock
  23141. version for systems without those functions treated the argument
  23142. as a delta. This patch fixes the spinlock version to be
  23143. consistent with the pthread version. (closes issue
  23144. ASTERISK-20240) Reported by: Egor Gorlin Patches: lock.c.patch
  23145. uploaded by Egor Gorlin (license 6416) ........ Merged revisions
  23146. 371718 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  23147. ........ Merged revisions 371720 from
  23148. http://svn.asterisk.org/svn/asterisk/branches/11
  23149. 2012-08-27 14:13 +0000 [r371693] Kinsey Moore <kmoore@digium.com>
  23150. * /, main/utils.c: Implement workaround for BETTER_BACKTRACES crash
  23151. When compiling with BETTER_BACKTRACES enabled, Asterisk will
  23152. sometimes crash when "core show locks" is run. This happens
  23153. regularly in the testsuite since several tests run "core show
  23154. locks" to help with debugging. This seems to be a fault with
  23155. libraries on certain operating systems (notably CentOS 6.2/6.3)
  23156. running on virtual machines and utilizing gcc 4.4.6. (closes
  23157. issue ASTERISK-20090) ........ Merged revisions 371690 from
  23158. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23159. revisions 371691 from
  23160. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23161. revisions 371692 from
  23162. http://svn.asterisk.org/svn/asterisk/branches/11
  23163. 2012-08-26 23:10 +0000 [r371665] Alec L Davis <sivad.a@paradise.net.nz>
  23164. * /, main/dsp.c: mf_detect: incorrectly used DTMF_GSIZE instead of
  23165. MF_GSIZE ........ Merged revisions 371662 from
  23166. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23167. revisions 371663 from
  23168. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23169. revisions 371664 from
  23170. http://svn.asterisk.org/svn/asterisk/branches/11
  23171. 2012-08-23 04:12 +0000 [r371633] Mark Michelson <mmichelson@digium.com>
  23172. * tests/test_scoped_lock.c (added): I forgot to add the unit tests
  23173. for scoped locks earlier today.
  23174. 2012-08-22 15:55 +0000 [r371620] Joshua Colp <jcolp@digium.com>
  23175. * /, channels/chan_motif.c: Add support for call-id logging to
  23176. chan_motif. Review: https://reviewboard.asterisk.org/r/2077/
  23177. ........ Merged revisions 371619 from
  23178. http://svn.asterisk.org/svn/asterisk/branches/11
  23179. 2012-08-21 21:01 +0000 [r371572-371593] Mark Michelson <mmichelson@digium.com>
  23180. * cdr/cdr_tds.c, main/xmldoc.c, apps/app_dial.c,
  23181. channels/chan_dahdi.c, /, channels/chan_sip.c, funcs/func_odbc.c,
  23182. main/file.c, main/utils.c, apps/app_queue.c, pbx/pbx_config.c,
  23183. res/res_jabber.c, apps/app_stack.c, channels/chan_oss.c,
  23184. res/res_config_sqlite.c: Fix misuses of asprintf throughout the
  23185. code. This fixes three main issues * Change asprintf() uses to
  23186. ast_asprintf() so that it pairs properly with ast_free() and no
  23187. longer causes MALLOC_DEBUG to freak out. * When ast_asprintf()
  23188. fails, set the pointer NULL if it will be referenced later. * Fix
  23189. some memory leaks that were spotted while taking care of the
  23190. first two points. (Closes issue ASTERISK-20135) reported by
  23191. Richard Mudgett Review: https://reviewboard.asterisk.org/r/2071
  23192. ........ Merged revisions 371590 from
  23193. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23194. revisions 371591 from
  23195. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23196. revisions 371592 from
  23197. http://svn.asterisk.org/svn/asterisk/branches/11
  23198. * main/config.c, include/asterisk/lock.h: Add scoped locks to
  23199. Asterisk. With the SCOPED_LOCK macro, you can create a variable
  23200. that locks a specific lock and unlocks the lock when the variable
  23201. goes out of scope. This is useful for situations where many
  23202. breaks, continues, returns, or other interruptions would require
  23203. separate unlock statements. With a scoped lock, these aren't
  23204. necessary. There are specializations for mutexes, read locks,
  23205. write locks, ao2 locks, ao2 read locks, ao2 write locks, and
  23206. channel locks. Each of these is a SCOPED_LOCK at heart though.
  23207. Review: https://reviewboard.asterisk.org/r/2060
  23208. * /, res/res_rtp_asterisk.c: Use thread-local storage to store
  23209. pj_thread_descs. pj_thread_register() takes a parameter of type
  23210. pj_thread_desc. It was assumed that pj_thread_register either
  23211. used this item temporarily or made a copy of it. Unfortunately,
  23212. all it does is keep a pointer to the structure in thread-local
  23213. storage. This means that if our pj_thread_desc goes out of scope,
  23214. then pjlib will be referencing bogus data quite often, most
  23215. commonly on operations involving a pj_mutex_t. In our case, our
  23216. pj_thread_desc was on the stack and went out of scope very
  23217. shortly after registering our thread with pjlib. With this
  23218. change, the pj_thread_desc is stored in thread-local storage so
  23219. the pointer that pjlib keeps in thread-local storage will
  23220. reference legitimate memory. (closes issue ASTERISK-20237)
  23221. reported by Jeremy Pepper Patches: ASTERISK-20237.patch uploaded
  23222. by Mark Michelson (license #5049) Tested by Jeremy Pepper
  23223. ........ Merged revisions 371571 from
  23224. http://svn.asterisk.org/svn/asterisk/branches/11
  23225. 2012-08-20 15:39 +0000 [r371535-371547] Kinsey Moore <kmoore@digium.com>
  23226. * main/udptl.c, /: Ignore recovered zero-length secondary UDPTL
  23227. packets In some cases, recovering lost packets using the
  23228. secondary packet recovery mechanism with UDPTL/T.38 can result in
  23229. the recovery of zero-length packets. These must be ignored or the
  23230. frame generated from them can cause segfaults and allocation
  23231. failures. (closes issue ASTERISK-19762) (closes issue
  23232. ASTERISK-19373) Reported-by: Benjamin (bulkorok) Reported-by: Rob
  23233. Gagnon (rgagnon) ........ Merged revisions 371544 from
  23234. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23235. revisions 371545 from
  23236. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23237. revisions 371546 from
  23238. http://svn.asterisk.org/svn/asterisk/branches/11
  23239. * main/utils.c: Fix for commit r371535
  23240. * main/utils.c: Apply work-around for BETTER_BACKTRACES crash When
  23241. compiling with BETTER_BACKTRACES enabled, Asterisk will sometimes
  23242. crash when "core show locks" is run. This happens regularly in
  23243. the testsuite since several tests run "core show locks" to help
  23244. with debugging. This seems to be a fault with libraries on
  23245. certain operating systems (notably CentOS 6.2/6.3) running on
  23246. virtual machines and utilizing gcc 4.4.6. (issue ASTERISK-20090)
  23247. 2012-08-18 02:09 +0000 [r371493-371521] Matthew Jordan <mjordan@digium.com>
  23248. * main/http.c, /: Remove old debug code from http configuration
  23249. loading (closes issue ASTERISK-20254) Reported by: Andrew Latham
  23250. Patches: http.diff uploaded by Andrew Latham (license #5985)
  23251. ........ Merged revisions 371520 from
  23252. http://svn.asterisk.org/svn/asterisk/branches/11
  23253. * res/res_xmpp.c, /: Fix typo in JabberSend that looked for '2'
  23254. instead of '@' in recipient argument The summary says about all
  23255. there is to say. (closes issue ASTERISK-20239) Reported by:
  23256. Gregory Porras ........ Merged revisions 371518 from
  23257. http://svn.asterisk.org/svn/asterisk/branches/11
  23258. * funcs/func_hangupcause.c, /: Make the name of the
  23259. "HangupCauseClear" application consistent The name of the
  23260. "HangupCauseClear" application is "HangupCauseClear", not
  23261. "HangupcauseClear". The incorrect case of 'cause' caused the XML
  23262. documentation to not register properly. As an aside, this commit
  23263. message felt very awkward, but I'm not sure how else to note that
  23264. "X", which has to be "X", was referred to as "x". (closes issue
  23265. ASTERISK-20253) Reported by: Andrew Latham Patches:
  23266. hangupcause.diff uploaded by Andrew Latham (license #5985)
  23267. ........ Merged revisions 371516 from
  23268. http://svn.asterisk.org/svn/asterisk/branches/11
  23269. * sounds/sounds.xml, res/res_curl.c, build_tools/cflags.xml,
  23270. utils/utils.xml, /, res/res_fax.c: Update module support level on
  23271. a variety of modules and compiler options Some core support
  23272. modules and compiler options were no longer tagged with a module
  23273. support level. This patch adds 'core' back to those options. Note
  23274. that this patch modifies a few of the patches provided by Andrew
  23275. Latham slightly. res_curl and res_fax are both 'core' supported
  23276. modules. (closes issue ASTERISK-20215) Reported by: Andrew Latham
  23277. Tested by: mjordan Patches: astcanary.diff (license #5985)
  23278. uploaded by Andrew Latham cflagsxml.diff (license #5985) uploaded
  23279. by Andrew Latham curl_fax.diff (license #5985) uploaded by Andrew
  23280. Latham soundsxml.diff (license #5985) uploaded by Andrew Latham
  23281. ........ Merged revisions 371507 from
  23282. http://svn.asterisk.org/svn/asterisk/branches/11
  23283. * /, main/xmldoc.c: Fix memory leak in XML documentation When
  23284. formatting documentation fields, the XML documentation parser
  23285. calls xmldoc_get_formatted. This function allocates a string
  23286. buffer at the beginning of its routine. Unfortunately, on certain
  23287. code paths, it also calls xmldoc_string_cleanup, which assumes
  23288. that it will create the string buffer. The previously allocated
  23289. string buffer is then leaked by the xmldoc_string_cleanup
  23290. routine. Now: we don't do that. (closes issue AST-932) Reported
  23291. by: Alexander Homig ........ Merged revisions 371469 from
  23292. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23293. revisions 371491 from
  23294. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23295. revisions 371492 from
  23296. http://svn.asterisk.org/svn/asterisk/branches/11
  23297. 2012-08-17 19:50 +0000 [r371483] Joshua Colp <jcolp@digium.com>
  23298. * /, channels/chan_sip.c: When a peer registers using WebSocket do
  23299. not resolve the Contact provided. (closes issue ASTERISK-20238)
  23300. Reported by: james.mortensen ........ Merged revisions 371482
  23301. from http://svn.asterisk.org/svn/asterisk/branches/11
  23302. 2012-08-17 16:01 +0000 [r371439] Kinsey Moore <kmoore@digium.com>
  23303. * main/loader.c, /: Add instrumentation to subsystem reloads When
  23304. Asterisk is built with TEST_FRAMEWORK defined, Asterisk will now
  23305. generate TestEvent AMI events on subsystem reloads such as cdr,
  23306. dnsmgr, extconfig, etc. (issue PQ-1126) ........ Merged revisions
  23307. 371436 from http://svn.asterisk.org/svn/asterisk/branches/1.8
  23308. ........ Merged revisions 371437 from
  23309. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23310. revisions 371438 from
  23311. http://svn.asterisk.org/svn/asterisk/branches/11
  23312. 2012-08-17 12:42 +0000 [r371428] Russell Bryant <russell@russellbryant.com>
  23313. * res/res_rtp_asterisk.c, /: rtp: Ensure defaults are set without
  23314. rtp.conf. While building up a new install to test chan_motif, I
  23315. ran into a failure due to icesupport being disabled. This was due
  23316. to me not having an rtp.conf. It was intended in the code for it
  23317. to be enabled by default, but it was only applied if rtp.conf
  23318. existed. This patch updates res_rtp_asterisk to be consistent in
  23319. how it handles defaults. A few options didn't have their default
  23320. values set globally, including icesupport. They are now set and
  23321. icesupport is enabled by default, even if you do not have an
  23322. rtp.conf. ........ Merged revisions 371425 from
  23323. http://svn.asterisk.org/svn/asterisk/branches/11
  23324. 2012-08-17 12:25 +0000 [r371427] Joshua Colp <jcolp@digium.com>
  23325. * res/res_format_attr_h264.c, /: Add some additional H.264
  23326. attributes, "max-smbps" and "max-fps", for passthrough. (closes
  23327. issue ASTERISK-20206) Reported by: ddkprog Patches:
  23328. res_format_attr_h264.c.diff uploaded by ddkprog (license 6008)
  23329. ........ Merged revisions 371426 from
  23330. http://svn.asterisk.org/svn/asterisk/branches/11
  23331. 2012-08-16 23:08 +0000 [r371400] Terry Wilson <twilson@digium.com>
  23332. * /, main/config.c: Handle integer over/under-flow in
  23333. ast_parse_args The strtol family of functions will return
  23334. *_MIN/*_MAX on overflow. To detect when an overflow has happened,
  23335. errno must be set to 0 before calling the function, then checked
  23336. afterward. (closes issue ASTERISK-20120) Reported by: Matt Jordan
  23337. Review: https://reviewboard.asterisk.org/r/2073/ ........ Merged
  23338. revisions 371392 from
  23339. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23340. revisions 371398 from
  23341. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23342. revisions 371399 from
  23343. http://svn.asterisk.org/svn/asterisk/branches/11
  23344. 2012-08-16 22:45 +0000 [r371396] Kinsey Moore <kmoore@digium.com>
  23345. * /, main/loader.c: Add module reload instrumentation for
  23346. TEST_FRAMEWORK This adds AMI events for module reloads when
  23347. Asterisk is built with TEST_FRAMEWORK enabled and corrects
  23348. generation of the module load AMI event. (issue PQ-1126) ........
  23349. Merged revisions 371393 from
  23350. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23351. revisions 371394 from
  23352. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23353. revisions 371395 from
  23354. http://svn.asterisk.org/svn/asterisk/branches/11
  23355. 2012-08-16 19:52 +0000 [r371356-371383] Jonathan Rose <jrose@digium.com>
  23356. * /, channels/chan_sip.c: chan_sip: Use pvt outgoing_call variable
  23357. to set Remote-Party-ID Header Previously the pvt SIP_OUTGOING
  23358. flag was used instead, which will frequently flip during
  23359. reinvites. (closes issue AST-897) Reported by: Thomas Arimont
  23360. ........ Merged revisions 371357 from
  23361. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23362. revisions 371358 from
  23363. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23364. revisions 371382 from
  23365. http://svn.asterisk.org/svn/asterisk/branches/11
  23366. * /, channels/chan_sip.c: chan_sip: Trigger reinvite if the SDP
  23367. answer is included in the SIP ACK Under certain conditions, a SIP
  23368. transaction involving directmedia wouldn't trigger a re-invite
  23369. because the SDP answer was included in an ACK instead of in a
  23370. message that we would have triggered the invite with. This patch
  23371. just queues a source change control frame if the dialog is using
  23372. directmedia when we find sdp for an ACK. (closes issue AST-913)
  23373. Reported by: Thomas Arimont ........ Merged revisions 371337 from
  23374. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23375. revisions 371338 from
  23376. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23377. revisions 371355 from
  23378. http://svn.asterisk.org/svn/asterisk/branches/11
  23379. 2012-08-15 23:35 +0000 [r371325] Mark Michelson <mmichelson@digium.com>
  23380. * /, apps/app_queue.c: Fix bug where final queue member would not
  23381. be removed from memory. If a static queue had realtime members,
  23382. then there could be a potential for those realtime members not to
  23383. be properly deleted from memory. If the queue's members were
  23384. loaded from realtime and then all the members were deleted from
  23385. the backend, then the queue would still think these members
  23386. existed. The reason was that there was a short- circuit in code
  23387. such that if there were no members found in the backend, then the
  23388. queue would not be updated to reflect this. Note that this only
  23389. affected static queues with realtime members. Realtime queues
  23390. with realtime members were unaffected by this issue. (closes
  23391. issue ASTERISK-19793) reported by Marcus Haas ........ Merged
  23392. revisions 371306 from
  23393. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23394. revisions 371313 from
  23395. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23396. revisions 371324 from
  23397. http://svn.asterisk.org/svn/asterisk/branches/11
  23398. 2012-08-15 20:43 +0000 [r371296] Michael L. Young <elgueromexicano@gmail.com>
  23399. * /, channels/chan_sip.c: Fix Segfault When Registering SIP Over
  23400. WebSockets The helper function, get_address_family_filter, in
  23401. chan_sip for dns resolution by address family was not recognizing
  23402. the websockets transport and resulting in a null pointer being
  23403. sent to functions in netsock2, in an attempt to determine if we
  23404. are bound to ANY address ([::]) or not. This patch fixes this
  23405. issue by handling the transport types SIP_TRANSPORT_WS and
  23406. SIP_TRANSPORT_WSS which results in a sock address being set
  23407. properly for use in determining the address family. (closes issue
  23408. ASTERISK-20221) Reported by: Sven Beisiegel Tested by: Sven
  23409. Beisiegel, James Mortensen Patches:
  23410. asterisk-20221-ws-family-filter.diff uploaded by Michael L. Young
  23411. (license 5026) ........ Merged revisions 371295 from
  23412. http://svn.asterisk.org/svn/asterisk/branches/11
  23413. 2012-08-15 20:18 +0000 [r371259-371277] Kinsey Moore <kmoore@digium.com>
  23414. * /, channels/chan_sip.c: Avoid unconditional NULLing of mwipvt on
  23415. relatedpeer on SIP dialog destruction The other instance of this
  23416. bug was fixed by jcolp/file in r121496. If we are destroying a
  23417. dialog only set the MWI dialog pointer on the related peer to
  23418. NULL if it is the dialog currently being destroyed. (closes issue
  23419. ASTERISK-20119) Patch-by: Misha Vodsedalek ........ Merged
  23420. revisions 371270 from
  23421. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23422. revisions 371271 from
  23423. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23424. revisions 371272 from
  23425. http://svn.asterisk.org/svn/asterisk/branches/11
  23426. * channels/chan_iax2.c, channels/sig_pri.c, channels/sig_ss7.c,
  23427. channels/chan_dahdi.c, channels/sig_analog.c, /,
  23428. channels/chan_sip.c: Add HANGUPCAUSE information to callee
  23429. channels This adds HANGUPCAUSE information to called channels so
  23430. that hangup handlers can, in conjunction with predial dialplan
  23431. execution, access the hangupcause information when the dialed
  23432. channel hangs up on a one-to-one basis instead of a many-to-one
  23433. basis as with HANGUPCAUSE usage on the caller channel. Review:
  23434. https://reviewboard.asterisk.org/r/2069/ (closes issue
  23435. ASTERISK-20198) ........ Merged revisions 371258 from
  23436. http://svn.asterisk.org/svn/asterisk/branches/11
  23437. 2012-08-13 20:36 +0000 [r371228] Kinsey Moore <kmoore@digium.com>
  23438. * main/loader.c, /, apps/app_meetme.c: Add test instrumentation
  23439. This adds test instrumentation for loading and unloading of
  23440. modules and for certain actions in MeetMe to be used in the
  23441. testsuite or any other consumer of AMI events. These will only be
  23442. generated when Asterisk is built with TEST_FRAMEWORK enabled.
  23443. (issue PQ-1131) (issue PQ-1133) ........ Merged revisions 371201
  23444. from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
  23445. Merged revisions 371203 from
  23446. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23447. revisions 371227 from
  23448. http://svn.asterisk.org/svn/asterisk/branches/11
  23449. 2012-08-13 20:02 +0000 [r371202] Mark Michelson <mmichelson@digium.com>
  23450. * /, channels/chan_sip.c: Fix problem where incorrect pointer was
  23451. checked for nullity. ........ Merged revisions 371198 from
  23452. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23453. revisions 371199 from
  23454. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23455. revisions 371200 from
  23456. http://svn.asterisk.org/svn/asterisk/branches/11
  23457. 2012-08-11 19:13 +0000 [r371170] Matthew Jordan <mjordan@digium.com>
  23458. * UPGRADE-11.txt (added), UPGRADE.txt: Add UPGRADE-11.txt file;
  23459. update UPGRADE.txt to reflect Asterisk 12
  23460. 2012-08-10 22:04 +0000 [r371147] Richard Mudgett <rmudgett@digium.com>
  23461. * /, CHANGES: Update CHANGES for private party ID. ........ Merged
  23462. revisions 371146 from
  23463. http://svn.asterisk.org/svn/asterisk/branches/11
  23464. 2012-08-10 21:35 +0000 [r371144] Mark Michelson <mmichelson@digium.com>
  23465. * apps/app_queue.c, /: Fix a couple of documentation problems in
  23466. app_queue.c * The RemoveQueueMember app made mention of options
  23467. that could be passed in, but no options are supported. I have
  23468. removed the listing of options from the documentation. * The
  23469. RQMSTATUS variable did not list "NOTDYNAMIC" as a possible value
  23470. that could be set. (closes issue AST-949) reported by Steve Pitts
  23471. (closes issue AST-954) reported by Steve Pitts ........ Merged
  23472. revisions 371141 from
  23473. http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
  23474. revisions 371142 from
  23475. http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
  23476. revisions 371143 from
  23477. http://svn.asterisk.org/svn/asterisk/branches/11
  23478. 2012-08-10 21:09 +0000 [r371134] Matthew Jordan <mjordan@digium.com>
  23479. * /: Remove 10 properties, add 11 properties
  23480. 2012-08-10 19:54 +0000 [r371120] Richard Mudgett <rmudgett@digium.com>
  23481. * include/asterisk/channel.h, channels/sig_pri.c,
  23482. funcs/func_callerid.c, main/cli.c, main/channel.c,
  23483. channels/chan_misdn.c, channels/chan_sip.c,
  23484. main/channel_internal_api.c, main/features.c: Add private
  23485. representation of caller, connected and redirecting party ids.
  23486. This patch adds the feature "Private representation of caller,
  23487. connected and redirecting party ids", as previously discussed
  23488. with us (DATUS) and Digium. 1. Feature motivation Until now it is
  23489. quite difficult to modify a party number or name which can only
  23490. be seen by exactly one particular instantiated technology channel
  23491. subscriber. One example where a modified party number or name on
  23492. one channel is spread over several channels are supplementary
  23493. services like call transfer or pickup. To implement these
  23494. features Asterisk internally copies caller and connected ids from
  23495. one channel to another. Another example are extension
  23496. subscriptions. The monitoring entities (watchers) are notified of
  23497. state changes and - if desired - of party numbers or names which
  23498. represent the involving call parties. One major feature where a
  23499. private representation of party names is essentially needed, i.e.
  23500. where a party name shall be exclusively signaled to only one
  23501. particular user, is a private user-specific name resolution for
  23502. party numbers. A lookup in a private destination-dependent
  23503. telephone book shall provide party names which cannot be seen by
  23504. any other user at any time. 2. Feature Description This feature
  23505. comes along with the implementation of additional private party
  23506. id elements for caller id, connected id and redirecting ids
  23507. inside Asterisk channels. The private party id elements can be
  23508. read or set by the user using Asterisk dialplan functions. When a
  23509. technology channel is initiating a call, receives an internal
  23510. connected-line update event, or receives an internal redirecting
  23511. update event, it merges the corresponding public id with the
  23512. private id to create an effective party id. The effective party
  23513. id is then used for protocol signaling. The channel technologies
  23514. which initially support the private id representation with this
  23515. patch are SIP (chan_sip), mISDN (chan_misdn) and PRI
  23516. (chan_dahdi). Once a private name or number on a channel is set
  23517. and (implicitly) made valid, it is generally used for any further
  23518. protocol signaling until it is rewritten or invalidated. To
  23519. simplify the invalidation of private ids all internally generated
  23520. connected/redirecting update events and also all
  23521. connected/redirecting update events which are generated by
  23522. technology channels -- receiving regarding protocol information -
  23523. automatically trigger the invalidation of private ids. If not
  23524. using the private party id representation feature at all, i.e. if
  23525. using only the 'regular' caller-id, connected and redirecting
  23526. related functions, the current characteristic of Asterisk is not
  23527. affected by the new extended functionality. 3. User interface
  23528. Description To grant access to the private name and number
  23529. representation from the Asterisk dialplan, the CALLERID,
  23530. CONNECTEDLINE and REDIRECTING dialplan functions are extended by
  23531. the following data types. The formats of these data types are
  23532. equal to the corresponding regular 'non-private' already existing
  23533. data types: CALLERID: priv-all priv-name priv-name-valid
  23534. priv-name-charset priv-name-pres priv-num priv-num-valid
  23535. priv-num-plan priv-num-pres priv-subaddr priv-subaddr-valid
  23536. priv-subaddr-type priv-subaddr-odd priv-tag CONNECTEDLINE:
  23537. priv-name priv-name-valid priv-name-pres priv-name-charset
  23538. priv-num priv-num-valid priv-num-pres priv-num-plan priv-subaddr
  23539. priv-subaddr-valid priv-subaddr-type priv-subaddr-odd priv-tag
  23540. REDIRECTING: priv-orig-name priv-orig-name-valid
  23541. priv-orig-name-pres priv-orig-name-charset priv-orig-num
  23542. priv-orig-num-valid priv-orig-num-pres priv-orig-num-plan
  23543. priv-orig-subaddr priv-orig-subaddr-valid priv-orig-subaddr-type
  23544. priv-orig-subaddr-odd priv-orig-tag priv-from-name
  23545. priv-from-name-valid priv-from-name-pres priv-from-name-charset
  23546. priv-from-num priv-from-num-valid priv-from-num-pres
  23547. priv-from-num-plan priv-from-subaddr priv-from-subaddr-valid
  23548. priv-from-subaddr-type priv-from-subaddr-odd priv-from-tag
  23549. priv-to-name priv-to-name-valid priv-to-name-pres
  23550. priv-to-name-charset priv-to-num priv-to-num-valid
  23551. priv-to-num-pres priv-to-num-plan priv-to-subaddr
  23552. priv-to-subaddr-valid priv-to-subaddr-type priv-to-subaddr-odd
  23553. priv-to-tag Reported by: Thomas Arimont Review:
  23554. https://reviewboard.asterisk.org/r/2030/