1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021 |
- 2014-04-14 Asterisk Development Team <asteriskteam@digium.com>
- * Asterisk 12.2.0-rc2 Released.
- * autoservice: fix reference leak of logger callid.
- autoservice acquires a local reference to the logger callid of each
- channel in a loop. This local reference was not released, causing the
- callid of every channel in autoservice to leak. This change moves the
- callid unref inside the loop.
- ASTERISK-23616 #close
- Reported by: ibercom
- * res_hep_pjsip: Use the channel name instead of the call ID when it is
- available
- During discussions with Alexandr Dubovikov at Kamailio World, it
- became apparent that while the SIP call ID is a useful identifier
- prior to an Asterisk channel being created, it is far more preferable
- to use the channel name (or some channel based identifier) when the
- channel is available. Homer is smart enough to tie the various
- messages together. This patch opts to use the channel name when it
- is available, falling back to the call ID otherwise.
- * res_pjsip_pubsub: Set the body generation result to 0 for a valid
- path
- The result of the "ast_sip_pubsub_generate_body_content" was not
- set/initialized. Consequently, the nominal path potentially returned
- an invalid value, thus not sending mwi notifications.
- * Stasis: Fix Stasis() bridge refcount issue
- The Stasis() dialplan application monitors what bridge a channel is
- in and so necessarily holds on to a bridge pointer. This change
- ensures that it also holds on to a reference for that bridge to
- prevent the bridge pointer from becoming a dangling pointer.
- * http: Fix spurious ERROR message in responses with no content
- When a response has a content length of 0, fwrite would be called
- to write a buffer with no data in it. This resulted in the following
- classic error message:
- [Apr 3 11:49:17] ERROR[26421] http.c: fwrite() failed: Success
- This patch makes it so that we only attempt to write out the content
- if the calculated content_length is non-zero.
- * res_hep: Fix crash when hep.conf not available
- Parts of res_hep properly checked for a valid configuration object
- before attempting to access the configuration. A check, however,
- was missed when a packet is sent. This patch fixes the crash caused
- by not checking if the configuration object is valid.
- 2014-03-28 Asterisk Development Team <asteriskteam@digium.com>
- * Asterisk 12.2.0-rc1 Released.
- 2014-03-28 18:09 +0000 [r411534] Matthew Jordan <mjordan@digium.com>
- * include/asterisk/res_hep.h (added), res/res_hep_pjsip.c (added),
- res/res_hep.exports.in (added), CHANGES, configs/hep.conf.sample
- (added), res/res_hep.c (added): res_hep/res_hep_pjsip: Add a
- HEPv3 capture agent module and a logger for PJSIP This patch adds
- the following: (1) A new module, res_hep, which implements a
- generic packet capture agent for the Homer Encapsulation Protocol
- (HEP) version 3. Note that this code is based on a patch provided
- by Alexandr Dubovikov; I basically just wrapped it up, added
- configuration via the configuration framework, and threw in a
- taskprocessor. (2) A new module, res_hep_pjsip, which forwards
- all SIP message traffic that passes through the res_pjsip stack
- over to res_hep for encapsulation and transmission to a HEPv3
- capture server. Much thanks to Alexandr for his Asterisk patch
- for this code and for a *lot* of patience waiting for me to port
- it to 12/trunk. Due to some dithering on my part, this has taken
- the better part of a year to port forward (I still blame CDRs for
- the delay). ASTERISK-23557 #close Review:
- https://reviewboard.asterisk.org/r/3207/
- 2014-03-28 17:52 +0000 [r411532] Alexandr Anikin <may@telecom-service.ru>
- * addons/ooh323c/src/oochannels.c,
- addons/ooh323c/src/ooCmdChannel.c, addons/ooh323c/src/ooq931.c,
- addons/ooh323c/src/ooh323.c, addons/ooh323c/src/ooGkClient.c,
- addons/chan_ooh323.c, /: process stack command even if gatekeeper
- client isn't register don't destroy gatekeeper client if it is
- not started don't destroy gatekeeper client in some sort of
- gatekeeper errors signal rtp create condition when call cleared
- before rtp structure created (closes issue ASTERISK-23460)
- Reported by: Dmitry Melekhov Patches: ASTERISK-23460-2.patch
- Tested by: Dmitry Melekhov ........ Merged revisions 411531 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-28 17:35 +0000 [r411529] Matthew Jordan <mjordan@digium.com>
- * rest-api/api-docs/applications.json,
- rest-api/api-docs/playbacks.json, UPGRADE.txt,
- rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
- rest-api/resources.json, CHANGES, include/asterisk/manager.h,
- rest-api/api-docs/bridges.json,
- rest-api/api-docs/recordings.json,
- rest-api/api-docs/deviceStates.json,
- rest-api/api-docs/endpoints.json,
- rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
- rest-api/api-docs/asterisk.json: Update API versions and
- UPGRADE/CHANGES for 12.2.0 This patch does the following: * It
- updates the AMI version to 2.2.0 to indicate backwards compatible
- changes have been made since the last release * It updates the
- ARI version to 1.2.0 to indicate backwards compatible changes
- have been made since the last release * It updates the
- UPGRADE/CHANGES files with changes that were not mentioned
- 2014-03-28 17:08 +0000 [r411514] Mark Michelson <mmichelson@digium.com>
- * contrib/ast-db-manage/config/versions/3855ee4e5f85_add_missing_pjsip_options.py
- (added): Add alembic script that adds contact user_agent and
- endpoint message_context.
- 2014-03-28 16:48 +0000 [r411512] Matthew Jordan <mjordan@digium.com>
- * /, res/res_odbc.exports.in, UPGRADE.txt, res/res_odbc.c,
- configs/res_odbc.conf.sample, include/asterisk/res_odbc.h,
- res/res_config_odbc.c: res_config_odbc/res_odbc: Fix handling of
- non-text columns updates with empty values. This patch fixes
- setting nullable integer columns to NULL instead of an empty
- string, which fails for PostgreSQL, for example. The current code
- is supposed to do so, but the check is broken. The patch also
- allows the first column in the list to be a nullable integer.
- This patch also adds a compatibility setting in res_odbc.conf,
- allow_empty_string_in_nontext. It is enabled by default. It
- should be disabled for database backends (such as PostgreSQL)
- that require NULL instead of an empty string for Integer columns.
- Review: https://reviewboard.asterisk.org/r/3375 (issue
- ASTERISK-23459) Reported by: zvision patches:
- res_config_odbc.diff uploaded by zvision (License 5755) ........
- Merged revisions 411399 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 411408 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-28 16:17 +0000 [r411465] Scott Griepentrog <sgriepentrog@digium.com>
- * main/tcptls.c, main/manager.c, /, main/http.c: http: response
- body often missing after specific request This patch works around
- a problem with the HTTP body being dropped from the response to a
- specific client and under specific circumstances: a) Client
- request comes from node.js user agent "Shred" via use of
- swagger-client library. b) Asterisk and Client are *not* on the
- same host or TCP/IP stack In testing this problem, it has been
- determined that the write of the HTTP body is lost, even if the
- data is written using low level write function. The only solution
- found is to instruct the TCP stack with the shutdown function to
- flush the last write and finish the transmission. See review for
- more details. ASTERISK-23548 #close (closes issue ASTERISK-23548)
- Reported by: Sam Galarneau Review:
- https://reviewboard.asterisk.org/r/3402/ ........ Merged
- revisions 411462 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 411463 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-28 16:00 +0000 [r411374-411461] Matthew Jordan <mjordan@digium.com>
- * /: Remove block on 411408
- * /, UPGRADE.txt: UPGRADE: Note IAX2 compatibility issue between
- 1.4 and 1.8+ systems. ........ Merged revisions 411457 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 411458 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * contrib/realtime/mysql/voicemail_messages.sql (removed),
- contrib/realtime/postgresql/realtime.sql (removed),
- contrib/realtime/mysql/voicemail_data.sql (removed),
- contrib/realtime/mysql/musiconhold.sql (removed),
- contrib/realtime/mysql/queue_log.sql (removed),
- contrib/realtime/mysql/voicemail.sql (removed),
- contrib/realtime/mysql/sippeers.sql (removed),
- contrib/realtime/mysql/iaxfriends.sql (removed),
- contrib/realtime/mysql/meetme.sql (removed): contrib/realtime:
- Remove empty SQL script files Since the relatime scripts are now
- managed by Alembic, the previous realtime scripts were previously
- removed. However, the removal process messed up, as the files
- were still in the repository. The contents were just empty. This
- removes the files from the tree.
- * channels/sip/include/sip.h, /: chan_sip: Add MESSAGE request to
- allowed methods The allowed methods advertised by chan_sip did
- not previously note the MESSAGE request. Even in Asterisk 1.8, we
- do accept in-dialog MESSAGE requests; we should advertise that we
- support MESSAGE requests. ASTERISK-23504 #close ASTERISK-23504
- #comment Reported by: Martin Kontsek ASTERISK-23504 #comment
- Patch sip.h_patch.diff uploaded by Martin Kontsek (license 6587)
- Review: https://reviewboard.asterisk.org/r/3396/ ........ Merged
- revisions 411372 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 411373 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-27 19:15 +0000 [r411311-411315] Corey Farrell <git@cfware.com>
- * main/message.c, apps/app_jack.c, funcs/func_dialplan.c,
- channels/chan_sip.c, funcs/func_math.c,
- funcs/func_jitterbuffer.c, res/res_mutestream.c,
- funcs/func_global.c, apps/app_speech_utils.c,
- res/res_pjsip_header_funcs.c, funcs/func_callcompletion.c,
- funcs/func_blacklist.c, funcs/func_cdr.c, funcs/func_channel.c,
- apps/app_stack.c, funcs/func_callerid.c, res/res_calendar.c,
- apps/app_voicemail.c, funcs/func_speex.c, /,
- funcs/func_strings.c, res/res_xmpp.c, res/res_jabber.c,
- main/features_config.c, channels/chan_iax2.c,
- apps/confbridge/conf_config_parser.c,
- channels/pjsip/dialplan_functions.c, funcs/func_groupcount.c,
- funcs/func_pitchshift.c, funcs/func_odbc.c, funcs/func_volume.c,
- funcs/func_frame_trace.c: Fix dialplan function NULL channel
- safety issues (closes issue ASTERISK-23391) Reported by: Corey
- Farrell Review: https://reviewboard.asterisk.org/r/3386/ ........
- Merged revisions 411313 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 411314 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * include/asterisk.h, /, main/format.c: main/formats: Fix crash in
- ast_format_cmp during non-clean shutdown. * Update asterisk.h to
- reflect availability of ast_register_cleanup in 11.9. * Use
- ast_register_cleanup for format_attr_shutdown. (closes issue
- ASTERISK-23103) Reported by: JoshE ........ Merged revisions
- 411310 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-27 14:20 +0000 [r411295] Mark Michelson <mmichelson@digium.com>
- * main/sorcery.c: Give sorcery instances a reference to their
- wizards. On graceful shutdown, sorcery wizards are all killed
- off, but it is possible for sorcery instances to still have
- dangling pointers after this, possibly causing a crash. Giving
- the sorcery instances a reference to their wizards ensures that
- the wizard reference will remain valid for the lifetime of the
- sorcery instance. Review: https://reviewboard.asterisk.org/r/3401
- 2014-03-26 22:44 +0000 [r411245] Joshua Colp <jcolp@digium.com>
- * /, main/say.c: say: Fix a bug where SayNumber in Polish tries to
- play incorrect sound. This change fixes a bug where calling
- SayNumber with a number divisible by 100 using the Polish
- language would cause the code to attempt to play a sound file
- with an empty name. (closes issue ASTERISK-23509) Reported by:
- zvision Review: https://reviewboard.asterisk.org/r/3378/ ........
- Merged revisions 411243 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 411244 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-26 16:07 +0000 [r411193] Jonathan Rose <jrose@digium.com>
- * configs/sip.conf.sample, /, channels/chan_sip.c: chan_sip: Send
- real CallerID information with P-Assserted-Identity (RFC-3325)
- Prior too this patch, the P-Asserted-Identity header would
- include anonymous caller id information which seems to go against
- the point of the P-Asserted-Identity header. Now the real caller
- ID information will be included in this header. Also, no privacy
- header would be included. This patch adds 'Privacy: id' to
- outgoing SIP messages that include the P-Asserted-Identity
- header. (closes issue AST-1301) ........ Merged revisions 411189
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 411190 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-26 16:03 +0000 [r411191] Richard Mudgett <rmudgett@digium.com>
- * contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py:
- Fix 'alembic branches' merge conflict as described by the web
- page.
- 2014-03-25 18:43 +0000 [r411173] Sean Bright <sean@malleable.com>
- * res/ari/config.c: ARI: Don't complain about missing ARI users
- when we aren't enabled Currently, if ARI is not enabled it will
- still complain that there are no configured users. This patch
- checks to see if ARI is enabled before logging and error or
- iterating the container to validate the users. Review:
- https://reviewboard.asterisk.org/r/3391/
- 2014-03-25 17:52 +0000 [r411157-411159] Mark Michelson <mmichelson@digium.com>
- * tests/test_sorcery.c, tests/test_sorcery_realtime.c,
- main/sorcery.c, res/res_mwi_external.c,
- res/res_pjsip/config_system.c, configs/sorcery.conf.sample,
- main/bucket.c, include/asterisk/sorcery.h,
- res/res_pjsip/pjsip_configuration.c, tests/test_sorcery_astdb.c:
- Prevent duplicate sorcery wizards from being applied to sorcery
- object types. This commit contains several changes to sorcery: 1)
- Application of sorcery configuration based on module name is
- automatically performed when sorcery is opened for a module. 2)
- Sorcery will not attempt to apply the same wizard to an object
- type more than once. 3) Sorcery gives more exact results when
- attempting to apply a wizard, whether as the default or based on
- configuration. Sorcery unit tests still pass for me after making
- these changes. Review: https://reviewboard.asterisk.org/r/3326
- * res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
- res/res_pjsip_messaging.c, res/res_pjsip.c,
- include/asterisk/res_pjsip.h: Add a "message_context" option for
- PJSIP endpoints.
- 2014-03-25 16:55 +0000 [r411141] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/res_pjsip.h, res/res_pjsip/pjsip_options.c,
- res/res_pjsip.c: res_pjsip: Fix contact authenticate_qualify
- endpoint lookup when qualifing a contact. * Fixed bad use of
- ao2_find() in on_endpoint(). * Replaced use of find_endpoints()
- with find_an_endpoint() since only the first found endpoint is
- ever needed. * Fixed qualify_contact_cb() to update the contact
- with the aor authenticate_qualify setting. Otherwise, permanent
- contacts in the aor type sections would have a config line order
- dependancy. * Fixed off nominal path contact ref leak in
- qualify_contact(). The comment saying the unref is not needed was
- wrong. * Fixed off nominal path use of the endpoint parameter if
- it is NULL in send_out_of_dialog_request(). * Added missing off
- nominal path unref of pjsip tdata in
- send_out_of_dialog_request(). * Fixed off nominal path failing to
- call the callback in send_request_cb() when the request is
- challenged for authentication. * Eliminated silly RAII_VAR() use
- in qualify_contact_cb(). * Updated ast_sip_send_request() doxygen
- to better reflect reality. (closes issue ASTERISK-23254) Reported
- by: rmudgett Review: https://reviewboard.asterisk.org/r/3381/
- 2014-03-25 16:04 +0000 [r411091] Kinsey Moore <kmoore@digium.com>
- * /, channels/chan_sip.c: chan_sip: Fix incorrect use of timers If
- update_provisional_keepalive() is called while
- send_provisional_keepalive_full() is waiting on the PVT lock,
- then pvt->provisional_keepalive_sched_id will be changed to a new
- sched_id value by update_provisional_keepalive(), but that new
- sched_id then may be overwritten with -1 by
- send_provisional_keepalive_full(), killing the pvt's reference to
- a schedule and "leaking" the reference. (closes issue
- ASTERISK-22079) Review: https://reviewboard.asterisk.org/r/3368/
- Reported by: Jamuel Starkey, Matteo, Leif Madsen, Steve Davies
- Patches: provisional_keepalive_fix.diff uploaded by Steve Davies
- (license 5012) ........ Merged revisions 411088 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 411089 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-25 15:44 +0000 [r411086] Jonathan Rose <jrose@digium.com>
- * res/res_stasis.c: ARI: Resolve a subscription leak against
- implicit bridge subscriptions When a channel in a stasis
- application is joined to a bridge, a subscription for that bridge
- is created implicitly for the stasis application serving the
- channel. Prior to this patch, subsequent removals of the channel
- from the bridge would leave the subscription open. Review:
- https://reviewboard.asterisk.org/r/3380/
- 2014-03-24 21:38 +0000 [r411023] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_sip.c: chan_sip: Always use fromdomain if set
- for domain, even if callerid is set to restricted. (closes issue
- ASTERISK-20841) Reported by: Kelly Goedert ........ Merged
- revisions 411021 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 411022 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-21 16:01 +0000 [r410995] Richard Mudgett <rmudgett@digium.com>
- * res/res_pjsip_registrar.c: res_pjsip_registrar.c: Miscellaneous
- cleanup in rx_task(). * Fix variable shadowing of 'updated' by
- renaming it to 'contact_update'. * Checked 'contact_update' for
- ast_sorcery_copy() failure. * Removed silly use of RAII_VAR() for
- 'contact_update'.
- 2014-03-20 22:54 +0000 [r410966] Jonathan Rose <jrose@digium.com>
- * /, apps/app_confbridge.c: app_confbridge: Fix bug - users with
- startmuted set don't start muted (closes issue ASTERISK-23461)
- Reported by: Chico Manobela Review:
- https://reviewboard.asterisk.org/r/3373/ ........ Merged
- revisions 410965 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-20 16:27 +0000 [r410949] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/channel.h, res/ari/resource_channels.c,
- res/res_stasis_snoop.c, include/asterisk/rtp_engine.h,
- main/dial.c, main/manager.c, main/channel_internal_api.c,
- main/core_unreal.c: assigned-uniqueids: Miscellaneous cleanup and
- fixes. * Fix memory leak in ast_unreal_new_channels(). Made it
- generate the ;2 uniqueid on a stack variable instead of mallocing
- it. * Made send error response to ARI and AMI requests instead of
- just logging excessive uniqueid length and allowing truncation.
- action_originate() and ari_channels_handle_originate_with_id(). *
- Fixed minor truncating uniqueid hole when generating the ;2
- uniqueid string length. Created public and internal lengths of
- uniqueid. The internal length can handle a max public uniqueid
- plus an appended ;2. * free() and ast_free() are NULL tolerant so
- they don't need a NULL test before calling. * Made use better
- struct initialization format instead of the position dependent
- initialization format. Also anything not explicitly initialized
- in the struct is initialized to zero by the compiler. * Made
- ast_channel_internal_set_fake_ids() use the safer
- ast_copy_string() instead of strncpy(). Review:
- https://reviewboard.asterisk.org/r/3371/
- 2014-03-19 17:26 +0000 [r410933] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_endpoint_identifier_ip.c: PJSIP: Allow for identify
- sections to be specified in sorcery.conf. "identify" is a special
- type of configuration object in PJSIP because unlike the other
- objects, it is not provided by the base res_pjsip module.
- Instead, it is provided by the res_pjsip_endpoint_identifier_ip
- module. If using the default sorcery wizard
- (config,criteria=type=identify) then things work because the
- module that applies the default wizard is the correct module.
- However, if attempting to use sorcery.conf to apply an alternate
- wizard, it was not possible. If you attempted to specify the
- identify object type in the res_pjsip section, then the object
- could not be registered since the object was undocumented for the
- res_pjsip module. There was no alternate configuration section
- defined for it, so you were out of luck if you wanted to override
- the default wizard. With this change, the identify section will
- properly have a sorcery.conf-based wizard applied when the
- identify definition is within the
- res_pjsip_endpoint_identifier_ip section.
- 2014-03-19 14:24 +0000 [r410904-410918] Joshua Colp <jcolp@digium.com>
- * res/res_stasis.c: res_stasis: Fix a bug where the default bridge
- type was not set.
- * CHANGES, res/res_stasis.c, rest-api/api-docs/bridges.json,
- res/ari/resource_bridges.h: res_stasis: Extend bridge type to be
- a comma separated list of bridge attributes. This change turns
- the bridge type field into a comma separated list of attributes.
- These attributes include: mixing, holding, dtmf_events, and
- proxy_media. By setting the various attributes a user can control
- the type of bridge created with the behavior they need for their
- application. (closes issue ASTERISK-23437) Reported by: Matt
- Jordan Review: https://reviewboard.asterisk.org/r/3359/
- 2014-03-19 02:29 +0000 [r410890] Matthew Jordan <mjordan@digium.com>
- * res/res_ari.c: res_ari: Fix documentation schema error
- 2014-03-18 23:31 +0000 [r410876] Rusty Newton <rnewton@digium.com>
- * res/res_ari.c: res_ari: Add notes about Asterisk HTTP server to
- the "enabled" config option for the res_ari general section Added
- note and see-also reminding user to enable the HTTP server.
- (closes issue ASTERISK-22499) Reported by: Rusty Newton
- 2014-03-18 15:28 +0000 [r410861] Matthew Jordan <mjordan@digium.com>
- * main/cdr.c: cdr: Add asserts for when we don't know about a CDR
- for a channel In the CDR core, every channel should either be
- filtered out (due to being an 'internal' channel used as an
- implementation detail, such as playing media back into a bridge)
- or it should get a CDR. Even if that CDR ends up being discarded,
- we still give the channel a CDR in case we end up needing it. If
- we hit a situation where a channel does not have a CDR, we should
- blow up in -dev-mode. Asserts are appropriate for that. This
- patch adds those asserts, as they would have quickly caught the
- error fixed by r410814.
- 2014-03-18 14:51 +0000 [r410858] Scott Griepentrog <sgriepentrog@digium.com>
- * main/http.c: ARI: allow json content type with zero length body
- When a request was received with a Content-type of json, the body
- was sent for json parsing - even if it was zero length. This
- resulted in ARI requests failing that were valid, such as a
- channel DELETE with no parameters. The code has now been changed
- to skip json parsing with zero content length. (closes issue
- SWP-6748) Reported by: Samuel Galarneau Review:
- https://reviewboard.asterisk.org/r/3360/
- 2014-03-18 12:45 +0000 [r410844] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip/config_system.c: res_pjsip: Fix memory leak of
- nameservers in off-nominal resolver creation failure. Thanks
- Walter Doekes!
- 2014-03-18 11:51 +0000 [r410830] Sean Bright <sean@malleable.com>
- * res/res_fax_spandsp.c, /: res_fax_spandsp: Use g711_free() when
- available. Per Johann Steinwendtner on the asterisk-dev mailing
- list:
- http://lists.digium.com/pipermail/asterisk-dev/2014-March/066102.html
- g711_free() was introduced in spandsp 0.0.6pre4 and
- g711_release() became a noop. I opted not to remove the call to
- g711_release() since it is harmless and to call g711_free() if we
- have a sufficiently recent version of spandsp. (issue
- ASTERISK-20149) Reported by: Alexandr Gordeev ........ Merged
- revisions 410829 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-18 02:02 +0000 [r410813] Richard Mudgett <rmudgett@digium.com>
- * main/stasis_cache.c: stasis_cache: Use the right variable in the
- cache entry ao2 cmp function.
- 2014-03-17 22:53 +0000 [r410793-410795] Joshua Colp <jcolp@digium.com>
- * CHANGES, res/res_pjsip/include/res_pjsip_private.h,
- res/res_pjsip.c, main/dns.c, res/res_pjsip/config_system.c,
- include/asterisk/dns.h: res_pjsip: Enable PJSIP DNS client
- support. This change enables DNS client support within PJSIP.
- System nameservers are automatically discovered using res_init or
- res_ninit. If this fails then PJSIP will resort to using
- gethostbyname for resolution. By enabling this support we gain
- SRV support, failover, and weight support. (closes issue
- ASTERISK-23435) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/3343/
- * res/res_pjsip_multihomed.c: res_pjsip_multihomed: Make address
- replacement less aggressive. This change makes the
- res_pjsip_multihomed module less aggressive when changing the
- address in messages. It will now only occur if the transport in
- use is bound to the any address OR if the system determined
- source address matches the bound address of the transport in use.
- Review: https://reviewboard.asterisk.org/r/3369/
- 2014-03-17 21:56 +0000 [r410747-410750] Russ Meyerriecks <rmeyerreicks@digium.com>
- * /, main/callerid.c: !fixup: callerid: Logic error in checksum
- processing Fixes syntax error in previous commit :-( ........
- Merged revisions 410748 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 410749 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/callerid.c, /: callerid: Logic error in checksum processing
- Callerid checksum-ing was being handled incorrectly here. When
- the checksum is calculated to be 0x00, it will perform 0x100-0x00
- which results in 0x100. This value will then fail the otherwise
- correct callerid message. This patch changes the logic to simply
- add the calculated checksum to the transmitted 2's compliment
- checksum. Review: https://reviewboard.asterisk.org/r/3356/
- (closes issue ASTERISK-23488) ........ Merged revisions 410710
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 410717 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-17 18:36 +0000 [r410673-410696] Mark Michelson <mmichelson@digium.com>
- * res/res_mwi_external.c, res/res_pjsip/config_system.c,
- configs/sorcery.conf.sample, include/asterisk/sorcery.h,
- res/res_pjsip/pjsip_configuration.c, tests/test_sorcery_astdb.c,
- tests/test_sorcery.c, tests/test_sorcery_realtime.c,
- main/sorcery.c: Revert changes to sorcery that accidentally got
- committed. These changes were still up for review and have not
- been approved yet. I must have had the changes in my working copy
- when making a different change.
- * tests/test_sorcery.c, main/channel.c,
- res/res_pjsip/config_system.c, res/res_mwi_external.c,
- include/asterisk/bridge_channel.h, funcs/func_frame_trace.c,
- configs/sorcery.conf.sample, res/res_pjsip/pjsip_configuration.c,
- include/asterisk/sorcery.h, tests/test_sorcery_astdb.c,
- include/asterisk/frame.h, main/bridge_channel.c,
- tests/test_sorcery_realtime.c, main/sorcery.c,
- res/res_stasis_playback.c, main/frame.c,
- bridges/bridge_softmix.c: Fix stuck channel in ARI through the
- introduction of synchronous bridge actions. Playing back a file
- to a channel in an ARI bridge would attempt to wait until the
- playback concluded before returning. The method used involved
- signaling the waiting thread in the ARI custom playback function.
- The problem with this is that there were some corner cases that
- were not accounted for: * If a bridge channel could not be found,
- then we never would attempt the playback but would still attempt
- to wait for the playback to complete. * If the bridge playfile
- action failed to queue, we would still attempt to wait for the
- playback to complete. * If the bridge playfile action were queued
- but some circumstance caused the playback not to occur (the
- bridge dies, the channel is removed from the bridge), then we
- would never be notified. The solution to this is to move the
- waiting logic into the bridge code. A new bridge API function is
- added to queue a synchronous action on a bridge. The waiting
- thread is notified when the queued frame has been freed, either
- due to an error occurring or due to successful playback. As a
- failsafe, the waiting thread has a 10 minute timeout just in case
- there is a frame leak somewhere. Review:
- https://reviewboard.asterisk.org/r/3338
- 2014-03-17 16:42 +0000 [r410671] Richard Mudgett <rmudgett@digium.com>
- * apps/confbridge/conf_chan_announce.c: app_confbridge: Add missing
- destructor call to announcer channel destructor.
- 2014-03-16 20:20 +0000 [r410650] Matthew Jordan <mjordan@digium.com>
- * res/stasis/app.c: stasis/app.c: Add some extra debugging for
- subscription counts Events are sent to a connected ARI
- application based on the things that ARI application cares about.
- These subscriptions can be set up implicitly - such as when that
- ARI application creates a new object - or explicitly, via the
- application resource's subscription operations. Debugging *why*
- something was being sent to an application - or why something was
- not being sent to an application - was a bit tricky, as there was
- no debug information for the subscriptions. This patch adds some
- debug level 3 statements that show the subscription counts for
- applications. (Level 3 was chosen as it matches the verbose level
- 3 statements elsewhere)
- 2014-03-14 21:55 +0000 [r410625] Mark Michelson <mmichelson@digium.com>
- * tests/test_sorcery_realtime.c: Fix failing realtime sorcery
- tests. The store realtime callback needs to return a positive
- value for sorcery to treat the store as a success.
- 2014-03-14 21:28 +0000 [r410623] Jonathan Rose <jrose@digium.com>
- * main/manager.c, /: manager: fix memory leak in manager_add_filter
- function (closes issue ASTERISK-23420) Reported by: Etienne
- Lessard Patches: manager_eventfilter_leak uploaded by Etienne
- Lessard (license 6394) ........ Merged revisions 410609 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-14 20:53 +0000 [r410590-410607] Mark Michelson <mmichelson@digium.com>
- * main/db.c, /: Remove an extra ast_cond_wait() that slipped
- through the patch. ........ Merged revisions 410606 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/config.c, res/res_sorcery_realtime.c: Handle the return
- values of realtime updates and stores more accurately. Realtime
- backends' update and store callbacks return the number of rows
- affected, or -1 if there was a failure. There were a couple of
- issues: * The config API was treating 0 as a successful return,
- and positive values as a failure. Now the config API treats
- anything >= 0 as a success. * res_sorcery_realtime was treating 0
- as a successful return from the store procedure, and any positive
- values as a failure. Now sorcery treats anything > 0 as a
- success. It still considers 0 a "failure" since there is no
- change to report to observers. Review:
- https://reviewboard.asterisk.org/r/3341
- * res/res_pjsip_mwi.c: Prevent conflicts regarding unsolicited and
- solicited MWI to an endpoint. If an endpoint is receiving
- unsolicited MWI for a mailbox and then attempts to subscribe to
- an AOR that provides MWI for the same mailbox, then the SUBSCRIBE
- is rejected with a 500 response. Review:
- https://reviewboard.asterisk.org/r/3345
- 2014-03-14 17:56 +0000 [r410588] Scott Griepentrog <sgriepentrog@digium.com>
- * CHANGES: uniqueid: Update CHANGES to reflect new features Note
- the new features provided by uniqueid in the CHANGES file. (issue
- ASTERISK-23120) Review: https://reviewboard.asterisk.org/r/3316/
- 2014-03-14 16:26 +0000 [r410574] Jonathan Rose <jrose@digium.com>
- * CHANGES, res/res_pjsip/config_transport.c,
- include/asterisk/acl.h, main/acl.c,
- res/res_pjsip/pjsip_configuration.c: PJSIP: TOS values should be
- represented as decimals in sorcery objects (closes issue
- ASTERISK-23235) Reported by: George Joseph Review:
- https://reviewboard.asterisk.org/r/3324/
- 2014-03-14 16:11 +0000 [r410559] Mark Michelson <mmichelson@digium.com>
- * main/db.c, /: Prevent delayed astdb syncs. The syncing thread
- sleeps for a second before waiting to be told to attempt to sync
- again. If a signal were sent during this sleeping period, we
- would end up having to wait until the next sync signal occurred
- in order to sync up the astdb. This code rearrangement also
- ensures that any pending transactions will be synced prior to
- Asterisk shutting down. Patches: db_sync.patch by John Hardin
- (License #6512) ........ Merged revisions 410556 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-14 16:05 +0000 [r410558] Jonathan Rose <jrose@digium.com>
- * res/ari/resource_bridges.c: ARI/bridges: Forward
- Playback/Recording Started/Finished to bridge topic (closes issue
- ASTERISK-23444) Reported by: Ben Merrills Review:
- https://reviewboard.asterisk.org/r/3340/
- 2014-03-14 15:55 +0000 [r410541-410555] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/app.h, res/res_mwi_external.c, main/app.c:
- res_mwi_external: Clear the stasis cache entry when the external
- MWI is deleted. One of the things missing when external MWI
- support was added was the ability to clear the stasis cache entry
- of deleted external MWI mailboxes. Review:
- https://reviewboard.asterisk.org/r/3325/
- * main/cdr.c: cdr.c: Add missing aow_unlock(cdr) in off nominal
- path of handle_dial_message(). * Trivial common code hoisting in
- handle_bridge_leave_message(). * Some whitespace fixing.
- 2014-03-13 19:30 +0000 [r410527] Kinsey Moore <kmoore@digium.com>
- * res/stasis/control.c, res/stasis/control.h, res/res_stasis.c:
- ARI: Ensure managing application receives ChannelEnteredBridge
- messages This fixes an issue where a Stasis application running
- over ARI and subscribed to ari/events could miss the
- ChannelEnteredBridge event because it did not subscribe to the
- new bridge fast enough. To accomplish this, it subscribes the
- application controlling the channel to the new bridge before
- adding it to that bridge which required the stasis_app_control
- structure to maintain a reference to the stasis_app. (closes
- issue ASTERISK-23295) Review:
- https://reviewboard.asterisk.org/r/3336/
- 2014-03-13 13:24 +0000 [r410509-410510] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_multihomed.c: res_pjsip_multihomed: Remove change
- for testing fix.
- * res/res_pjsip_multihomed.c: res_pjsip_multihomed: Fix a bug where
- the 200 OK for a REGISTER would contain the wrong contact.
- 2014-03-12 19:05 +0000 [r410491-410493] Richard Mudgett <rmudgett@digium.com>
- * res/res_musiconhold.c, main/channel.c: res_musiconhold.c:
- Generate MOH start/stop events whenever the MOH stream is
- started/stopped. * Made res_musiconhold.c always post the
- MusicOnHoldStart/MusicOnHoldStop events when it actually
- starts/stops the music streams. This allows the events to always
- happen when MOH starts/stops. The event posting code was moved to
- the MOH alloc/release routines. * Made channel_do_masquerade()
- stop any MOH on the original channel before masquerading so the
- original channel will get a stop event with correct information.
- * Cleaned up a couple odd codings in moh_files_alloc() and
- moh_alloc() dealing with the music state variable. (issue
- ASTERISK-23311) Reported by: Benjamin Keith Ford Review:
- https://reviewboard.asterisk.org/r/3306/
- * apps/confbridge/conf_state.c,
- apps/confbridge/conf_state_single.c,
- apps/confbridge/conf_state_inactive.c,
- apps/confbridge/conf_state_single_marked.c, /: app_confbridge:
- Make explicitly stop MOH if a user is kicked or hangs up while
- MOH is playing. When MOH is playing to a user in a conference and
- the user is kicked or hangs up from the conference then the AMI
- MusicOnHoldStop events didn't happen. (Asterisk v11 AMI event:
- MusicOnHold, state:Stop) (closes issue ASTERISK-23311) Reported
- by: Benjamin Keith Ford Review:
- https://reviewboard.asterisk.org/r/3306/ ........ Merged
- revisions 410490 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-12 12:50 +0000 [r410451-410471] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_multihomed.c: res_pjsip_multihomed: Fix a bug where
- outgoing messages for TCP would go out using UDP. This change
- fixes a bug where the code which changes the transport did not
- check whether the message is going out over UDP or not before
- changing it. For TCP and TLS transports we don't need to change
- the transport as the correct one is already chosen.
- * res/res_pjsip_multihomed.c (added): res_pjsip_multihomed: Add
- module which places the correct address within messages. Due to
- how messages are handled within PJSIP it is not until a message
- is actually sent that the destination is reliably known. This
- means that the addresses placed within the message may not be of
- the interface the message is being sent out on. This module
- determines what interface a message is being sent on and updates
- the message to contain the correct address if applicable. This
- module was tested by myself in a virtualized environment with
- multiple interfaces and also by Kinsey Moore in the following
- configuration: Networks: * 10.24.16.0/21 ** hard phone ** default
- gateway * 10.24.64.0/21 ** softphone with pjsip-based stack
- Transport details: bind address: 0.0.0.0 protocol: UDP All
- endpoints were tested with explicitly configured transports and
- unconfigured transports. This was tested with inbound and
- outbound calls, both of which were experiencing detrimental
- effects from incorrect IP addresses in SIP messages. These
- effects were only experienced by the soft phone on the 10.24.64.0
- network since the messages to the hard phone on the 10.24.16.0
- network had the correct IP address. (closes issue ASTERISK-23020)
- Reported by: xrobau Review:
- https://reviewboard.asterisk.org/r/3102/
- 2014-03-10 17:16 +0000 [r410383] Richard Mudgett <rmudgett@digium.com>
- * main/http.c, /: AST-2014-001: Stack overflow in HTTP processing
- of Cookie headers. Sending a HTTP request that is handled by
- Asterisk with a large number of Cookie headers could overflow the
- stack. Another vulnerability along similar lines is any HTTP
- request with a ridiculous number of headers in the request could
- exhaust system memory. (closes issue ASTERISK-23340) Reported by:
- Lucas Molas, researcher at Programa STIC, Fundacion; and Dr.
- Manuel Sadosky, Buenos Aires, Argentina ........ Merged revisions
- 410380 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 410381 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-10 16:32 +0000 [r410368] Scott Griepentrog <sgriepentrog@digium.com>
- * main/manager.c, res/ari/resource_channels.c: unqiueid: correct
- max uniqueid length test This patch adds null string test prior
- to checking for a max uniqueid value that was added in r410157.
- 2014-03-10 13:25 +0000 [r410329] Kinsey Moore <kmoore@digium.com>
- * /, channels/chan_sip.c: AST-2014-002: chan_sip: Exit early on bad
- session timers request This change allows chan_sip to avoid
- creation of the channel and consumption of associated file
- descriptors altogether if the inbound request is going to be
- rejected anyway. (closes issue ASTERISK-23373) Reported by: Corey
- Farrell Patches: chan_sip-earlier-st-1.8.patch uploaded by Corey
- Farrell (license 5909) chan_sip-earlier-st-11.patch uploaded by
- Corey Farrell (license 5909) ........ Merged revisions 410308
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 410311 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-10 12:52 +0000 [r410306] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip/pjsip_options.c, res/res_pjsip.c: AST-2014-003:
- res_pjsip: When handling 401/407 responses don't assume a request
- will have an endpoint. This change removes the assumption that an
- outgoing request will always have an endpoint and makes the
- authenticate_qualify option work once again. (closes issue
- ASTERISK-23210) Reported by: Joshua Colp
- 2014-03-08 16:41 +0000 [r410287] George Joseph <george.joseph@fairview5.com>
- * res/res_pjsip/config_transport.c, main/sorcery.c,
- include/asterisk/res_pjsip.h, res/res_pjsip/config_auth.c,
- res/res_pjsip/location.c, res/res_pjsip_outbound_registration.c,
- res/res_pjsip_endpoint_identifier_ip.c,
- include/asterisk/res_pjsip_cli.h, include/asterisk/sorcery.h,
- res/res_pjsip/pjsip_cli.c, res/res_pjsip/pjsip_configuration.c:
- pjsip_cli: Create pjsip show channel and contact, and general cli
- code cleanup. Created the 'pjsip show channel' and 'pjsip show
- contact' commands. Refactored out the hated ast_hashtab. Replaced
- with ao2_container. Cleaned up function naming. Internal only, no
- public name changes. Cleaned up whitespace and brace formatting
- in cli code. Changed some NULL checking from "if"s to
- ast_asserts. Fixed some register/unregister ordering to reduce
- deadlock potential. Fixed ast_sip_location_add_contact where the
- 'name' buffer was too short. Fixed some self-assignment issues in
- res_pjsip_outbound_registration. (closes issue ASTERISK-23276)
- Review: http://reviewboard.asterisk.org/r/3283/
- 2014-03-08 15:43 +0000 [r410274] Matthew Jordan <mjordan@digium.com>
- * res/ari/resource_channels.c: resource_channels: Check if a passed
- in ID is NULL before checking its length Calling strlen on a NULL
- string is explosive. This patch checks whether or not the passed
- in string is NULL or zero length before checking to see if the
- string is too long.
- 2014-03-07 22:53 +0000 [r410226] Corey Farrell <git@cfware.com>
- * /, channels/chan_sip.c: chan_sip: Fix deadlock of monlock between
- unload_module and do_monitor Release monlock before calling
- pthread_join. This ensures do_monitor cannot freeze by locking
- monlock during module unload. (closes issue ASTERISK-21406)
- Reported by: Corey Farrell Review:
- https://reviewboard.asterisk.org/r/3284/ ........ Merged
- revisions 410224 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 410225 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-07 22:07 +0000 [r410211] Scott Griepentrog <sgriepentrog@digium.com>
- * include/asterisk/sorcery.h: sorcery: correct field register
- argument list This fixes mistakes I previously made in merging
- gtjoseph's changes with mine.
- 2014-03-07 21:53 +0000 [r410194-410209] Matthew Jordan <mjordan@digium.com>
- * main/config_options.c: config_options: Display the see-also
- information for CLI config option help The config option help
- information has always parsed the <see-also> tags in the XML
- documentation. Unfortunately, it just never bothered displaying
- them on the CLI. With this patch, when you execute 'config show
- help [module] [obj] [option]', it will display what other options
- are useful to you. (closes issue ASTERISK-22008) Reported by:
- Richard Mudgett
- * res/res_pjsip.c: res_pjsip: Fix documentation for one touch
- recording see-also links The one touch recording options have
- several see-also links between the various configuration options.
- These were 'broken' by the snake casing of those options. This
- patch corrects the see-also links such that they reference the
- correct option names.
- 2014-03-07 21:10 +0000 [r410190] Scott Griepentrog <sgriepentrog@digium.com>
- * main/sorcery.c, include/asterisk/sorcery.h,
- res/res_pjsip/pjsip_configuration.c: pjsip: allow and disallow
- show same codecs In order to prevent confusion over the allow and
- disallow list of codecs being the same an option for registering
- a field as an alias is added. The alias field will be read from
- the configuration file, but afterwards is not listed as a known
- field. With disallow set as an alias, the CLI command pjsip show
- endpoint # will list the allow= field, but not the disallow
- field. (closes issue ASTERISK-23092) Review:
- https://reviewboard.asterisk.org/r/3193/
- 2014-03-07 21:03 +0000 [r410187] Mark Michelson <mmichelson@digium.com>
- * tests/test_sorcery_realtime.c, main/sorcery.c,
- res/res_sorcery_realtime.c, include/asterisk/sorcery.h: Make
- res_sorcery_realtime filter unknown retrieved results. When
- retrieving data from a database or other realtime backend, it's
- quite possible to retrieve variables that Asterisk does not care
- about but that are legitimate to exist. Asterisk does not need to
- throw a hissy fit when these variables are encountered but rather
- just filter them out. Review:
- https://reviewboard.asterisk.org/r/3305
- 2014-03-07 20:28 +0000 [r410171-410184] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/devicestate.h, main/stasis_cache.c,
- main/stasis_message.c, tests/test_devicestate.c,
- include/asterisk/stasis.h, main/app.c, main/devicestate.c,
- tests/test_stasis.c: stasis cache: Enhance to keep track of an
- item from different entities. A stasis cache entry now contains
- more than a single message/snapshot. It contains
- messages/snapshots for the local entity as well as any remote
- entities that post to the cached item. In addition callbacks can
- be supplied when the cache is created to compute and post the
- aggregate message/snapshot representing all entities stored in
- the cache entry. * All stasis messages now have an eid to
- indicate what entity posted it. * The stasis cache enhancements
- allow device state to cache and aggregate the device states from
- local and remote entities in a single operation. The cached
- aggregate device state is available immediately after it is
- posted to the stasis bus. This improves performance by
- eliminating a cache dump and associated ao2 container traversals
- to calculate the aggregate state. (closes issue ASTERISK-23204)
- Reported by: Mark Michelson Review:
- https://reviewboard.asterisk.org/r/3281/
- * tests/test_cel.c, channels/sig_pri.c, channels/sig_ss7.c,
- include/asterisk/bridge.h, tests/test_cdr.c, channels/sig_pri.h,
- channels/chan_dahdi.c, channels/sig_ss7.h: uniqueid: Fix
- chan_dahdi, sig_pri, sig_ss7, test_cdr, and test_cel compiler
- errors. (issue ASTERISK-23120)
- 2014-03-07 15:46 +0000 [r410157] Scott Griepentrog <sgriepentrog@digium.com>
- * addons/chan_mobile.c, main/bridge_channel.c,
- channels/chan_pjsip.c, channels/chan_mgcp.c,
- channels/chan_unistim.c, res/res_calendar_icalendar.c,
- main/pbx.c, channels/chan_bridge_media.c, main/ccss.c,
- main/bridge.c, tests/test_stasis_channels.c,
- apps/app_originate.c, apps/app_bridgewait.c,
- res/parking/parking_applications.c, include/asterisk/channel.h,
- res/res_calendar_caldav.c, apps/app_queue.c, apps/app_followme.c,
- main/cel.c, res/res_ari_channels.c,
- rest-api/api-docs/bridges.json, res/res_calendar_ews.c,
- main/dial.c, channels/chan_dahdi.c, channels/chan_h323.c,
- tests/test_cel.c, rest-api/api-docs/channels.json,
- include/asterisk/bridge_internal.h,
- apps/confbridge/conf_chan_announce.c,
- include/asterisk/core_unreal.h, res/res_calendar.c,
- addons/chan_ooh323.c, channels/chan_sip.c, res/stasis/control.c,
- main/channel_internal_api.c, include/asterisk/stasis_app.h,
- channels/chan_console.c, res/res_stasis_snoop.c,
- channels/chan_iax2.c, channels/chan_oss.c, apps/app_agent_pool.c,
- main/channel.c, main/manager.c, channels/chan_misdn.c,
- tests/test_voicemail_api.c, channels/chan_alsa.c,
- channels/chan_nbs.c, main/message.c, tests/test_cdr.c,
- res/res_clioriginate.c, res/res_ari_bridges.c,
- tests/test_substitution.c, channels/chan_multicast_rtp.c,
- res/res_stasis_playback.c, apps/app_meetme.c,
- apps/confbridge/conf_chan_record.c, tests/test_app.c,
- include/asterisk/channel_internal.h, main/bridge_basic.c,
- main/core_unreal.c, channels/chan_gtalk.c,
- include/asterisk/stasis_app_playback.h,
- res/ari/resource_bridges.c, channels/chan_jingle.c,
- channels/chan_phone.c, pbx/pbx_spool.c,
- res/ari/resource_bridges.h, res/parking/parking_tests.c,
- channels/chan_motif.c, apps/app_confbridge.c,
- include/asterisk/pbx.h, res/ari/resource_channels.c,
- res/res_stasis.c, include/asterisk/bridge.h,
- res/ari/resource_channels.h, apps/app_voicemail.c,
- apps/app_dial.c, res/res_calendar_exchange.c,
- channels/chan_vpb.cc, apps/app_page.c, apps/app_chanisavail.c,
- main/core_local.c, include/asterisk/dial.h,
- res/parking/parking_bridge_features.c,
- tests/test_stasis_endpoints.c, res/parking/parking_bridge.c,
- channels/chan_skinny.c, include/asterisk/stasis_app_snoop.h:
- uniqueid: channel linkedid, ami, ari object creation with id's
- Much needed was a way to assign id to objects on creation, and
- much change was necessary to accomplish it. Channel uniqueids and
- linkedids are split into separate string and creation time
- components without breaking linkedid propgation. This allowed the
- uniqueid to be specified by the user interface - and those values
- are now carried through to channel creation, adding the
- assignedids value to every function in the chain including the
- channel drivers. For local channels, the second channel can be
- specified or left to default to a ;2 suffix of first. In ARI,
- bridge, playback, and snoop objects can also be created with a
- specified uniqueid. Along the way, the args order to allocating
- channels was fixed in chan_mgcp and chan_gtalk, and linkedid is
- no longer lost as masquerade occurs. (closes issue
- ASTERISK-23120) Review: https://reviewboard.asterisk.org/r/3191/
- 2014-03-07 04:51 +0000 [r410107] Matthew Jordan <mjordan@digium.com>
- * /, channels/chan_sip.c: chan_sip: Allow static realtime members
- to be qualified during module load. When a static realtime peer
- with qualify=yes is loaded, Asterisk will fail to send an OPTIONS
- request due to the lastms being equal to 0. This results in the
- peer being unable to receive calls from Asterisk because the
- status is permanently UNKNOWN. This patch allows an OPTIONS
- request to be sent during module load by ignoring the lastms
- value on startup only. Review:
- https://reviewboard.asterisk.org/r/3294/ (closes issue
- ASTERISK-17523) Reported by: Maciej Krajewski Tested by:
- wushumasters patches: realtime_fix_11.7.0.txt uploaded by Trevor
- Peirce (license 6112) ........ Merged revisions 410105 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 410106 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-06 23:40 +0000 [r410090] Russell Bryant <russell@russellbryant.com>
- * res/res_musiconhold.c, /: moh: fix a refcount error with realtime
- MOH I observed a crash in res_musiconhold on an Asterisk 11
- system using realtime MOH. Investigation of the backtrace showed
- a corrupt mohclass, implying that it got destroyed before the
- code expected it to. I went looking for reference counting errors
- that could have caused this crash and this patch this result. It
- contains 2 changes. 1) Remove a usless block of code that was
- impossible to reach. There was even a comment indicating that it
- was impossible to reach. The conditional includes
- "!ast_test_flag(global_flags, MOH_CACHERTCLASSES)" and it's
- inside of an if block with the opposite check
- "ast_test_flag(global_flags, MOH_CACHERTCLASSES)". There's no
- good reason to keep it around. 2) A similar block to #1 contained
- a reference counting error. It stores state->class in the local
- variable mohclass without increasing its reference count. The
- reference count on mohclass is decremented at the end of the
- function. This block of code probably very rarely runs, which
- would help explain why this system was working fine for many
- months before experiencing a crash. Review:
- https://reviewboard.asterisk.org/r/3282/ ........ Merged
- revisions 410043 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 410044 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-06 23:35 +0000 [r410089] Richard Mudgett <rmudgett@digium.com>
- * main/sorcery.c: sorcery.c: Fix off-nominal path ref and memory
- leak in ast_sorcery_objectset_json_create(). * Made exit a loop
- early on error in ast_sorcery_objectset_json_create(). * Removed
- some dead code in ast_sorcery_objectset_create2().
- 2014-03-06 18:50 +0000 [r410028] Jonathan Rose <jrose@digium.com>
- * main/acl.c, res/res_pjsip/pjsip_configuration.c, UPGRADE.txt,
- contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py
- (added), res/res_pjsip/config_transport.c,
- include/asterisk/acl.h: pjsip configuration: Make transport TOS
- values consistent with endpoints Transport TOS values were
- interpreted as DSCP values without being documented as such.
- Endpoint TOS values (tos_audio/tos_video) behaved normally as TOS
- values have historically. This patch makes the transport TOS
- values behave as TOS values and makes all TOS values readable as
- string values (e.g. AF11). In addition, alembic scripts have been
- updated to use the proper field types for all TOS/COS values.
- (issue ASTERISK-23235) Reported by: George Joseph Review:
- https://reviewboard.asterisk.org/r/3304/
- 2014-03-06 18:18 +0000 [r410025] Joshua Colp <jcolp@digium.com>
- * res/res_stasis_recording.c, res/ari/resource_channels.c, CHANGES,
- res/ari/ari_model_validators.c,
- rest-api/api-docs/recordings.json, res/ari/resource_bridges.c,
- res/ari/ari_model_validators.h,
- include/asterisk/stasis_app_recording.h: res_stasis_recording:
- Add a "target_uri" field to recording events. This change adds a
- target_uri field to the live recording object. It contains the
- URI of what is being recorded. (closes issue ASTERISK-23258)
- Reported by: Ben Merrills Review:
- https://reviewboard.asterisk.org/r/3299/
- 2014-03-06 15:43 +0000 [r410011] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_mwi.c: Don't attempt to link in an aggregate MWI
- subscription if an endpoint does not aggregate MWI. Attempting to
- link a NULL object into an ao2 container had been benign
- previously, but since enabling DO_CRASH in the testsuite, this is
- now causing a crash. It's better to be right here anyway.
- 2014-03-06 15:13 +0000 [r410006] George Joseph <george.joseph@fairview5.com>
- * res/res_pjsip_outbound_registration.c, main/bucket.c,
- res/res_pjsip_endpoint_identifier_ip.c,
- include/asterisk/config.h, include/asterisk/sorcery.h,
- res/res_pjsip/pjsip_configuration.c, res/res_pjsip_acl.c,
- CHANGES, tests/test_sorcery.c, res/res_pjsip/config_transport.c,
- main/config.c, main/sorcery.c, res/res_pjsip/config_auth.c,
- funcs/func_sorcery.c (added), res/res_pjsip/location.c: sorcery:
- Create AST_SORCERY dialplan function. This patch creates the
- AST_SORCERY dialplan function which allows someone to retrieve
- any value from a sorcery-based config file. It's similar to
- AST_CONFIG. The creation of the function itself was fairly
- straightforward but it required changes to the underlying sorcery
- infrastructure that rippled into individual sorcery objects. The
- changes stemmed from inconsistencies in how sorcery created
- ast_variable objectsets from sorcery objects and the
- inconsistency in how individual objects used that feature
- especially when it came to parameters that can be specified
- multiple times like contact in aor and match in identify. You can
- read more here...
- http://lists.digium.com/pipermail/asterisk-dev/2014-February/065202.html
- So, what this patch does, besides actually creating the
- AST_SORCERY function, is the following... * Creates
- ast_variable_list_append which is a helper to append one
- ast_variable list to another. * Modifies the
- ast_sorcery_object_field_register functions to accept the
- already-defined sorcery_fields_handler callback. * Modifies
- ast_sorcery_objectset_create to accept a parameter indicating
- return type preference...a single ast_variable with all values
- concatenated or an ast_variable list with multiple entries. Also
- fixed a few bugs. * Modifies individual sorcery object
- implementations to use the new function definition of the
- ast_sorcery_object_field_register functions. * Modifies
- location.c and res_pjsip_endpoint_identifier_ip.c to implement
- sorcery_fields_handler handlers so they return multiple
- occurrences as an ast_variable_list. * Added a whole bunch of
- tests to test_sorcery. (closes issue ASTERISK-22537) Review:
- http://reviewboard.asterisk.org/r/3254/
- 2014-03-06 02:05 +0000 [r409991] Matthew Jordan <mjordan@digium.com>
- * res/res_fax_spandsp.c, /: res_fax_spandsp: Fix crash when passing
- ulaw/alaw data to spandsp When acting as a T.38 fax gateway,
- res_fax_spandsp would at times cause a crash in libspandsp. This
- would occur when, during fax tone detection, a ulaw/alaw frame
- would be passed to modem_connect_tones_rx. That particular
- routine expects the data to be in slin format. This patch looks
- at the frame type and, if the data is ulaw/alaw, converts the
- format to slin before passing it to modem_connect_tones_rx.
- Review: https://reviewboard.asterisk.org/r/3296 (closes issue
- ASTERISK-20149) Reported by: Alexandr Gordeev Tested by: Michal
- Rybarik patches: spandsp_g711decode.diff uploaded by Michal
- Rybarik (license 6578) ........ Merged revisions 409990 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-06 00:32 +0000 [r409967-409976] Richard Mudgett <rmudgett@digium.com>
- * apps/confbridge/conf_state_inactive.c,
- apps/confbridge/conf_state_multi.c: app_confbridge: Remove some
- noop code.
- * res/res_musiconhold.c: res_musiconhold.c: Remove some unnecessary
- RAII_VAR() usage. * Made the moh_register() define use useful
- parameter names.
- 2014-03-05 20:40 +0000 [r409900-409918] Kinsey Moore <kmoore@digium.com>
- * main/config.c, /: config: Fix inverted test The test of the
- result of the stat() call was inverted such that its output was
- only used if the call failed. This inverts the test so that the
- output of stat() is used correctly. This was causing full reloads
- on unchanged files. (closes issue ASTERISK-23383) Reported by:
- David Woolley ........ Merged revisions 409916 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 409917 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * bridges/bridge_native_rtp.c: bridge_native_rtp: Fix crash
- involving masquerade It is possible for a channel to be
- masqueraded out of a bridge which means it may no longer have RTP
- glue to check upon leaving said bridge. If this situation
- occurred (it's possible at least during dial and call pickup)
- then Asterisk would crash. This change makes sure the glue is
- checked before use. (closes issue AST-1290) Reported by: John
- Bigelow
- 2014-03-05 18:46 +0000 [r409887] Mark Michelson <mmichelson@digium.com>
- * funcs/func_presencestate.c, /: Fix documentation for
- PRESENCE_STATE to properly illustrate how to create a presence
- hint. There was a missing comma. This was discovered by Dan
- Kaplan. ........ Merged revisions 409886 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-05 18:40 +0000 [r409885] Richard Mudgett <rmudgett@digium.com>
- * contrib/ast-db-manage/cdr/versions (added),
- contrib/ast-db-manage/cdr/versions/210693f3123d_create_cdr_table.py
- (added),
- contrib/ast-db-manage/config/versions/28887f25a46f_create_queue_tables.py
- (added), contrib/ast-db-manage/cdr.ini.sample (added),
- contrib/ast-db-manage/cdr/env.py (added),
- contrib/ast-db-manage/cdr (added),
- contrib/ast-db-manage/cdr/script.py.mako (added): alembic: Add
- missing queue and CDR table creation scripts. * Added the queues
- and queue_members tables to the config alembic scripts. * Added
- the CDR table alembic creation script. The CDR table is more of
- an example for new setups since the actual table can be fully
- customized in cdr_adaptive_odbc.conf. (closes issue
- ASTERISK-23233) Reported by: jmls Review:
- https://reviewboard.asterisk.org/r/3227/
- 2014-03-05 16:57 +0000 [r409835] David M. Lee <dlee@digium.com>
- * /, configure, include/asterisk/autoconfig.h.in, configure.ac,
- main/config.c: Corrected cross-platform stat nanosecond code When
- nanosecond time resolution was added for identifying config file
- changes, it didn't cover all of the myriad of ways that one might
- obtain nanosecond time resolution off of struct stat. Rather than
- complicate the #if even further figuring out one system from the
- next, this patch directly tests for the three struct members I
- know about today, and #ifdef's accordingly. Review:
- https://reviewboard.asterisk.org/r/3273/ ........ Merged
- revisions 409833 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 409834 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-05 12:05 +0000 [r409779] Sean Bright <sean@malleable.com>
- * /, contrib/scripts/astgenkey, contrib/scripts/astgenkey.8: Fix
- references to 'keys' CLI commands in astgenkey ........ Merged
- revisions 409777 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 409778 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-05 06:30 +0000 [r409746-409762] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
- * channels/chan_unistim.c, /: Correct RTP handling in chan_unistim
- and fix transfer process broken in previous fix: - Fixed too
- early RTP setup with phone, that cause no ringback tone on caller
- side - Handle call transfer cancel only in STATE_CALL case
- (related to ASTERISK-23073) (Reported by: Németh Tamás, niurkin
- sil) ........ Merged revisions 409761 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_unistim.c, /: Add update_peer function to
- unistim_rtp_glue, improve other unistim_rtp_glue functions
- conforming to other channel drivers. Do not forget auto-detected
- and user-selected phone settings on 'unistim reload' ........
- Merged revisions 409705 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 409745 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-05 04:59 +0000 [r409697-409704] Moises Silva <moises.silva@gmail.com>
- * /, res/res_http_websocket.c: Fix res/res_http_websocket.c build
- failure in 32bit due to incorrect print format for uint64_t
- ........ Merged revisions 409703 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_http_websocket.c, /: Fix WebRTC over WSS not working
- Several fixes for the WebSockets implementation in
- res/res_http_websocket.c * Flush the websocket session FILE* as
- fwrite() may not actually guarantee sending the data to the
- network. If we do not flush, it seems that buffering on the SSL
- socket for outbound messages causes issues * Refactored
- ast_websocket_read to take into account that SSL file descriptors
- may be ready to read via fread() but poll() will not actually say
- so because the data was already read from the network buffers and
- is now in the libc buffers (closes issue ASTERISK-23099) (closes
- issue ASTERISK-21930) Review:
- https://reviewboard.asterisk.org/r/3248/ ........ Merged
- revisions 409681 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-05 00:55 +0000 [r409682] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/stasis_internal.h: stasis: Made
- internal_stasis_subscribe() prototype and definition match
- exactly.
- 2014-03-04 19:34 +0000 [r409626] Michael L. Young <elgueromexicano@gmail.com>
- * funcs/func_audiohookinherit.c, /: func_audiohookinheritance:
- Check If A Channel Was Specified This patch prevents a crash when
- using the function audiohookinheritance without setting the
- channel. (closes issue ASTERISK-23104) Reported by: Joel Vandal
- Tested by: Joel Vandal Patches:
- asterisk-23104_audiohook_inherit_no_channel-11.diff uploaded by
- Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/3272/ ........ Merged
- revisions 409623 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 409625 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-04 17:07 +0000 [r409570] Jonathan Rose <jrose@digium.com>
- * /, res/res_rtp_asterisk.c: res_rtp_asterisk: Fix one way audio
- problems with hold/unhold when using ICE ICE sessions will now be
- restarted if sessions are changed to use new sets of remote
- candidates. (closes issue ASTERISK-22911) Reported by: Vytis
- Valentinavičius Review: https://reviewboard.asterisk.org/r/3275/
- ........ Merged revisions 409565 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-04 16:53 +0000 [r409568] Kinsey Moore <kmoore@digium.com>
- * /, main/astobj2.c: AO2: Add an assert for bad objects This adds
- an assert that will only be active if Asterisk is compiled with
- DO_CRASH and allows the testsuite to fail tests that would
- otherwise require log file parsing. ........ Merged revisions
- 409566 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 409567 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-04 14:54 +0000 [r409474] Sean Bright <sean@malleable.com>
- * /, channels/chan_sip.c: Minor whitespace change to 'sip show
- peers' output. (closes issue ASTERISK-23406) Reported by: ibercom
- Tested by: ibercom Patches: asterisk-11.patch uploaded by ibercom
- ........ Merged revisions 409472 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 409473 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-03 19:44 +0000 [r409422] Joshua Colp <jcolp@digium.com>
- * res/res_stasis_recording.c: res_stasis_recording: Fix memory leak
- of the absolute name.
- 2014-03-03 02:08 +0000 [r409363] Matthew Jordan <mjordan@digium.com>
- * main/asterisk.c, /: doxygen: Tweak the link back to ye olde
- Digium website ........ Merged revisions 409361 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 409362 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-02 15:14 +0000 [r409346] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
- * /, Makefile.rules: Makefile: replace -O6 with -O3 -O6 is not a
- legal option of gcc. Unofficially gcc considers it to be
- equivalent of -O3. clang chalks on it, though. This commit sets
- the default optimization flag to be -O3, like gcc actually
- considered it. Review: https://reviewboard.asterisk.org/r/3280/
- ........ Merged revisions 409308 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 409344 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-01 20:27 +0000 [r409287] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_session.c: res_pjsip_session: Set options (100rel,
- timers) on incoming sessions. This change passes options to the
- UAS creation function. This in turn sets up 100rel and session
- timer properties on the incoming session. Reported by Julian
- Russell on asterisk-users mailing list.
- 2014-03-01 00:04 +0000 [r409256-409274] Richard Mudgett <rmudgett@digium.com>
- * main/devicestate.c: devicestate.c: Simplified some logic in
- _ast_device_state().
- * main/stasis_cache.c: stasis_cache.c: Remove some unnecessary
- RAII_VAR() usage.
- * main/stasis.c: stasis.c: Misc code cleanups. * Remove some
- unnecessary RAII_VAR() usage. * Made the struct
- stasis_subscription ao2 object use the ao2 lock instead of a
- redundant join_lock in the struct for ast_cond_wait(). * Removed
- locks on some ao2 objects that don't need the lock. * Made the
- topic pool entries container use the ao2 template functions. *
- Add some missing allocation failure checks. * Add missing cleanup
- in off nominal path of dispatch_message().
- * /, channels/chan_sip.c: chan_sip: Add precautionary p->owner
- checks. * Add precautionary p->owner checks in sip_hangup(),
- get_refer_info(), get_also_info(), and
- interpret_t38_parameters(). * Simplify some tangled logic in
- get_refer_info(), get_also_info(), and add_rpid(). * Removed some
- dead code in handle_request_invite(). (closes issue
- ASTERISK-23323) Reported by: Walter Doekes Patches:
- issueA23323-more_p_owner_checks-1.8.x.patch (license #5674)
- uploaded by wdoekes (modified)
- issueA23323-more_p_owner_checks-11.x.patch (license #5674)
- uploaded by wdoekes (modified)
- issueA23323-more_p_owner_checks-12.x.patch (license #5674)
- uploaded by wdoekes (modified)
- issueA23323-more_p_owner_checks-trunk.patch (license #5674)
- uploaded by wdoekes (modified) ........ Merged revisions 409207
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 409255 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-28 21:24 +0000 [r409234] Kinsey Moore <kmoore@digium.com>
- * apps/app_queue.c: app_queue: Fix documented AMI event name During
- the rewrite of AMI events to use the Stasis bus, the name of the
- QueueMemberPaused event was changed to QueueMemberPause. This
- corrects documentation to reflect that.
- 2014-02-28 18:02 +0000 [r409158] Richard Mudgett <rmudgett@digium.com>
- * /, channels/chan_sip.c: chan_sip: Fix crash in
- ast_channel_hangupcause_set(). * Fix crash in
- ast_channel_hangupcause_set() because p->owner not checked before
- calling. Regression introduced by the fix for ASTERISK-22621.
- (closes issue ASTERISK-23135) Reported by: OK (issue
- ASTERISK-23323) Reported by: Walter Doekes ........ Merged
- revisions 409156 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 409157 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-27 19:42 +0000 [r409131] Jonathan Rose <jrose@digium.com>
- * /, res/res_rtp_asterisk.c: Multiple revisions 409129-409130
- ........ r409129 | jrose | 2014-02-27 13:19:02 -0600 (Thu, 27 Feb
- 2014) | 15 lines res_rtp_asterisk: Fix checklist creating
- problems in ICE sessions Prior to this patch, local candidate
- lists including SRFLX would fail to start properly when building
- ICE candidate check lists. This patch fixes that problem by
- making sure that each SRFLX candidate is associated with the
- proper base address so that the check list can create matches
- properly. This patch was written by jcolp. The issue will be left
- open to await testing by the issue participants. (issue
- ASTERISK-23213) Reported by: Andrea Suisani Review:
- https://reviewboard.asterisk.org/r/3256/ ........ r409130 | jrose
- | 2014-02-27 13:38:10 -0600 (Thu, 27 Feb 2014) | 8 lines
- res_rtp_asterisk: correct build error from r409129 Accidentally
- placed a declaration below functional code (issue ASTERISK-23213)
- Reported by: Andrea Suisani Review:
- https://reviewboard.asterisk.org/r/3256/ ........ Merged
- revisions 409129-409130 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-27 16:25 +0000 [r409087] David M. Lee <dlee@digium.com>
- * /, utils/astman.c: Fix memory stomping bug in astman. This memset
- complained in dev mod on my Ubuntu box. The memset is both
- unnecessary and dangerous. At this point, m hasn't been
- initialized yet, so the memset will write off to whatever address
- happens to be on the stack at the time. ........ Merged revisions
- 409077 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 409083 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-27 16:05 +0000 [r409054] Corey Farrell <git@cfware.com>
- * res/res_fax.c, configs/res_fax.conf.sample, /: res_fax: Warn that
- minrate=2400 is not valid for V.27 instead of failing load.
- Change minrate from 2400 to 4800 on config reload in response to
- changes from ASTERISK-22790 only. Any config with minrate of 2400
- that would fail before r405693 will still fail. Comment out many
- settings in res_fax.conf.sample. The defaults are set in
- res_fax.c, so setting the same value in sample config does
- nothing but make the sample config more fragile. (closes issue
- ASTERISK-23231) Reported by: David Brillert Review:
- https://reviewboard.asterisk.org/r/3261/ ........ Merged
- revisions 409052 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 409053 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-27 12:28 +0000 [r408999] Matthew Jordan <mjordan@digium.com>
- * res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Apply packetization
- rules on inbound SDP handling The setting 'use_ptime' is supposed
- to tell Asterisk to honour the ptime attribute in an offer,
- preferring it to whatever packetization preferences have been set
- internally. Currently, however, something rather quirky will
- happen: (1) The SDP answer will be constructed in
- create_outgoing_sdp_stream. This will use the preferences from
- the endpoint, such that the 200 OK response will add the
- packetization preferences from the endpoint, and not what was
- offered. (2) When the 200 response is issued,
- apply_negotiated_sdp_stream is called. This will call
- apply_packetization, which will use the ptime attribute from the
- offer internally. We end up telling the offerer to use the
- internal ptime attribute, but we end up using the offered ptime
- attribute. Hilarity ensues. This patch modifies the behaviour by
- calling apply_packetization from negotiate_incoming_sdp_stream,
- which is called prior to create_outgoing_sdp_stream. This causes
- the format preferences on the session's media object to be set to
- the inbound ptime value (if 'use_ptime' is enabled), such that
- the construction of the answer gets the right value immediately.
- Review: https://reviewboard.asterisk.org/r/3244/
- 2014-02-26 23:33 +0000 [r408983] Richard Mudgett <rmudgett@digium.com>
- * tests/test_stasis.c: test_stasis.c: Misc cleanups. * Make the
- consumer ao2 object use the ao2 lock instead of a redundant lock
- in the struct for ast_cond_wait(). * Fixed some curly brace
- placements. * Fixed use of malloc(0). malloc(0) has variant
- behavior. It is up to the implementation to determine if it
- returns NULL or a valid pointer that can be later passed to
- free().
- 2014-02-26 19:00 +0000 [r408970] Scott Griepentrog <sgriepentrog@digium.com>
- * channels/chan_pjsip.c: pjsip: avoid edge case potential crash in
- answer() When accidentally compiling against a wrong version of
- pjsip headers with a different pjsip_inv_session size, the
- invite_tsx structure could be null in the answer() function. This
- led to a crash because it attempted to send the session response
- with an uninitialized packet pointer. This patch presets packet
- to null and adds a diagnostic log message to explain why the call
- fails. Review: https://reviewboard.asterisk.org/r/3267/
- 2014-02-26 17:03 +0000 [r408957] Joshua Colp <jcolp@digium.com>
- * res/res_ari.c: res_ari: Make some additional error responses
- consistent with the rest of the system. This change makes some
- error cases use ast_ari_response_error to construct their error
- responses instead of manually doing it. This ensures they are
- consistent with the other error responses. Based on the original
- patch as done by Paul Belanger on the associated review. Review:
- https://reviewboard.asterisk.org/r/2904/
- 2014-02-26 13:46 +0000 [r408941-408943] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/res_pjsip_session.h: PJSIP: Fix some bad spacing
- * res/res_pjsip_refer.c: PJSIP: Prevent crash if channel has gone
- away It is currently possible for an ast_sip_session to exist
- without an associated channel as is the case when a new invite is
- coming in or just after a hangup is issued on a chan_pjsip
- channel. Part of the attended transfer code assumed the channel
- would be non-NULL and used it as such causing a crash. This bug
- was exposed thanks to the attended transfer ARI test in the test
- suite. (closes issue ASTERISK-23287) Reported by: Matt Jordan
- 2014-02-25 17:50 +0000 [r408880-408882] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_exten_state.c,
- res/res_pjsip_pidf_digium_body_supplement.c (added),
- include/asterisk/res_pjsip_body_generator_types.h:
- res_pjsip_exten_state: Presence for digium phones Added presence
- support for digium phones. Review:
- https://reviewboard.asterisk.org/r/3239/
- * res/res_pjsip_send_to_voicemail.c (added),
- res/res_pjsip_header_funcs.c: res_pjsip_send_to_voicemail:
- transferring to voicemail for digium phones Added the ability for
- transferring directly to voicemail on digium phones. Added a new
- module that checks for the presence of a custom header and/or
- diversion header within a sip REFER. If either is found and they
- specify a sending to voicemail action then variables are added to
- the channel allowing the user access to them in the dialplan.
- Dialplan can then be written that branches based upon these
- values allowing, for instace, for a single number to be used for
- dialing and/or accessing voicemail directly. Also fixed a problem
- where the PJSIP_HEADER function was allowing non pjsip channels
- through (checked to make sure it has the correct channel type
- before proceeding). Review:
- https://reviewboard.asterisk.org/r/3245/
- 2014-02-25 17:43 +0000 [r408878] Rusty Newton <rnewton@digium.com>
- * configs/voicemail.conf.sample, /: configs/voicemail.conf.sample -
- Make mailcmd sample text more explicit Made the wording a bit
- more explicit. Didn't really change the meaning. ........ Merged
- revisions 408876 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 408877 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-22 19:56 +0000 [r408855] Matthew Jordan <mjordan@digium.com>
- * main/asterisk.c: main: Initialize dialplan providing core
- components prior to module pre-load It is possible to pre-load
- pbx_config. As a result, pbx_config - which will load and parse
- the dialplan - will attempt to use various dialplan components,
- such as device state providers and presence state providers,
- prior to them being initialized by the core. This would lead to a
- crash, as the components had not created their Stasis cache
- entries. This patch moves a number of core component
- initializations before the module pre-load. This guarantees that
- if someone does pre-load pbx_config - or other pbx modules - that
- the Stasis caches for the various core components are created.
- (closes issue ASTERISK-23320) Reported by: xrobau (closes issue
- ASTERISK-23265) Reported by: Andrew Nagy Tested by: Andrew Nagy,
- Rusty Newton
- 2014-02-22 17:57 +0000 [r408839] Alexandr Anikin <may@telecom-service.ru>
- * addons/chan_ooh323.c, /: ignore AST_CONTROL_PVT_CAUSE_CODE
- without any messages (closes issue ASTERISK-23336) Reported by:
- Alexander Semych ........ Merged revisions 408838 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-22 02:29 +0000 [r408787] Corey Farrell <git@cfware.com>
- * /, utils/extconf.c, utils/conf2ael.c, res/ael/pval.c, main/pbx.c:
- Remove extra defines of AST_PBX_MAX_STACK. * Ensure
- AST_PBX_MAX_STACK is only defined in extconf.h and pbx.h. * Fix
- incorrect function parameters in utils/extconf.c. (closes issue
- ASTERISK-23141) Reported by: Maxim Review:
- https://reviewboard.asterisk.org/r/3241/ ........ Merged
- revisions 408785 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 408786 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-21 18:34 +0000 [r408730] Kevin Harwell <kharwell@digium.com>
- * main/rtp_engine.c, /: rtp_engine: Dynamic payload change in rtp
- mapping not supported Asterisk didn't support the dynamic payload
- change in rtp mapping in the 200 OK response. Scenario: Asterisk
- sends the INVITE proposing alaw and telephone-event, it proposes
- rtpmap:101 for telephone-event. Peer responds with 2xx, it
- answers with alaw and telephone-event also, but it proposes a
- different rtpmap number (rtpmap:103) for telephone-event.
- Expected Behaviour: Asterisk should honour the rtpmapping in the
- response and send DTMF packets using 103 as payload type for
- DTMF. Actual Behaviour: Asterisk sends DTMF packets using payload
- type 101. With this patch asterisk now supports changes that can
- occur in the rtp mapping in the response. (closes issue
- ASTERISK-23279) Reported by: NITESH BANSAL Review:
- https://reviewboard.asterisk.org/r/3225/ Patches:
- dynamic_payload_change.patch uploaded by nbansal (license 6418)
- ........ Merged revisions 408729 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-21 18:17 +0000 [r408711-408715] Richard Mudgett <rmudgett@digium.com>
- * main/manager.c: manager: Fix AMI Status action of a single
- channel. Fixed use of uninitialized ao2 container iterator in an
- off-nominal condition. Either a memory allocation error or the
- requested channel is an internal channel not exposed to the
- outside.
- * res/res_stasis_recording.c, main/stasis_channels.c,
- res/res_sorcery_astdb.c, include/asterisk/json.h, main/sorcery.c,
- res/ari/resource_endpoints.c, apps/app_meetme.c, res/res_fax.c:
- json: Fix off-nominal json ref counting issues. * Fixed
- off-nominal json ref counting issue with using the following API
- calls: ast_json_object_set() and ast_json_array_append(). * Fixed
- off-nominal error reporting in ast_ari_endpoints_list(). * Fixed
- some miscellaneous off-nominal json ref counting issues in
- report_receive_fax_status() and dial_to_json().
- * main/json.c: json: Fix json API wrapper code for json library
- versions earlier than 2.3.0. * Fixed json ref counting issue with
- json API wrapper code for ast_json_object_update_existing() and
- ast_json_object_update_missing() when the json library is earlier
- than version 2.3.0.
- 2014-02-21 16:20 +0000 [r408644-408649] Kevin Harwell <kharwell@digium.com>
- * main/rtp_engine.c, /: rtp_engine: Output mixup in
- ${CHANNEL(rtpqos,audio,all)} Fixed the output of
- CHANNEL(rtpqos,audio,all) to use txjitter instead of rxjitter.
- (closes issue ASTERISK-23261) Reported by: rsw686 Patches:
- rtpqos.patch uploaded by rsw686 (license 5887) ........ Merged
- revisions 408646 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 408647 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/channel.c, /: channel.c: MOH is not working for transferee
- after attended transfer Updated the code to check to see if MOH
- is playing on the transferor and if so then start it on the
- channel that replaces it during a masquerade. Example scenario of
- the problem: Alice calls Bob and then Bob begins the attended
- transfer process into a queue. Upon going on hold Alice hears
- music and so does Bob once he is in the queue. Bob then transfers
- Alice into the queue and then music for Alice stops even though
- she should be hearing it since has now replaced Bob in the queue.
- The problem that was occurring is that once the channel was
- masqueraded the app (queues, confbridge, etc...) had no way of
- knowing that the channel had just been swapped out thus it did
- not start music for the present channel. Credit to Olle Johansson
- for pointing me in the right direction on this issue. (closes
- issue ASTERISK-19499) Reported by: Timo Teräs Review:
- https://reviewboard.asterisk.org/r/3226/ ........ Merged
- revisions 408642 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 408643 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-21 10:42 +0000 [r408591] Alexandr Anikin <may@telecom-service.ru>
- * /, addons/ooh323c/src/ooCalls.h: Fix type of roundTripDelay
- variables ........ Merged revisions 408589 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 408590 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-21 00:49 +0000 [r408538] Michael L. Young <elgueromexicano@gmail.com>
- * /, apps/app_chanspy.c: app_chanspy: Documentation Update To
- Clarify "x" Option When using the "x" option (specify a DTMF
- digit to exit the application), it is not obvious in the
- documentation that this only works when spying on a channel. If a
- channel being used to spy on other channels is waiting to connect
- to a channel or is no longer attached to a channel, the DTMF is
- ignored. As noted on the issue tracker, since there are
- workarounds available and this is a rarely used option we are
- opting for a documentation change here. (closes issue
- ASTERISK-22661) Reported by: Chris Hillman Patches:
- asterisk-22661-doc-clarify-chan_spy.diff uploaded by Michael L.
- Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2990/ ........ Merged
- revisions 408536 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 408537 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-20 21:09 +0000 [r408518-408522] George Joseph <george.joseph@fairview5.com>
- * res/res_pjsip/location.c, res/res_pjsip_outbound_registration.c:
- pjsip_cli: Add pjsip commands 'show registrations' and 'show
- contacts'. Added 'show registrations' and 'show contacts' to
- pjsip cli to make things a little more consistent. The output is
- exactly the same as the list command. Just needed to add entries
- to their respective ast_cli_entry structures. (closes issue
- ASTERISK-23275) Review: http://reviewboard.asterisk.org/r/3210/
- * res/res_pjsip/pjsip_cli.c, main/config.c: pjsip_cli: Fix memory
- leak in ast_sip_cli_print_sorcery_objectset. Fixed memory leaks
- in ast_sip_cli_print_sorcery_objectset and
- ast_variable_list_sort. (closes issue ASTERISK-23266) Review:
- http://reviewboard.asterisk.org/r/3200/
- * res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
- tests/test_sorcery.c, main/sorcery.c,
- res/res_pjsip/config_system.c, include/asterisk/sorcery.h:
- sorcery: Create sorcery instance registry. In order to retrieve
- an arbitrary sorcery instance from a dialplan function (or any
- place else) there needs to be a registry of sorcery instances.
- ast_sorcery_init now creates a hashtab as a registry.
- ast_sorcery_open now checks the hashtab for an existing sorcery
- instance matching the caller's module name. If it finds one, it
- bumps the refcount and returns it. If not, it creates a new
- sorcery instance, adds it to the hashtab, then returns it.
- ast_sorcery_retrieve_by_module_name is a new function that does a
- hashtab lookup by module name. It can be called by the future
- dialplan function. res_pjsip/config_system needed a small change
- to share the main res_pjsip sorcery instance. tests/test_sorcery
- was updated to include a test for the registry. (closes issue
- ASTERISK-22537) Review: http://reviewboard.asterisk.org/r/3184/
- 2014-02-20 19:02 +0000 [r408502] Matthew Jordan <mjordan@digium.com>
- * res/res_pjsip.c: res_pjsip: Update documentation for 'use_avpf'
- option When 'use_avpf' is set to True, inbound offers must use
- the AVPF/SAVPF RTP profile. However, when 'use_avpf' is set to
- False, Asterisk will accept both AVP/SAVP or AVPF/SAVPF RTP
- profiles in inbound offers. The documentation previously implied
- that Asterisk would reject AVPF/SAVPF if 'use_avpf' was set to
- False and a UA offered said profile in an INVITE request.
- 2014-02-20 02:43 +0000 [r408449] Rusty Newton <rnewton@digium.com>
- * apps/app_queue.c, /: apps/app_queue - Fix incorrect Macro
- parameter documentation Macro is executed on the called channel,
- not the calling channel. (closes issue ASTERISK-23069) Reported
- By: Bryan Anderson ........ Merged revisions 408447 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 408448 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-19 19:07 +0000 [r408385-408389] Richard Mudgett <rmudgett@digium.com>
- * /, main/config.c: config: Add file size and nanosecond resolution
- fields to the cached modified config file information. Repeatedly
- modifying config files and reloading too fast sometimes fails to
- reload the configuration because the cached modification
- timestamp has one second resolution. * Added file size and
- nanosecond resolution fields to the cached config file
- modification timestamp information. Now if the file size changes
- or the file system supports nanosecond resolution the modified
- file has a better chance of being detected for reload. * Added a
- missing unlock in an off-nominal code path. (closes issue
- AST-1303) Review: https://reviewboard.asterisk.org/r/3235/
- ........ Merged revisions 408387 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 408388 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_sorcery_astdb.c: res_sorcery_astdb.c: Fix regex handling
- and keep simple prefix matching performance. The sorcery astDB
- wizzard does not handle regex correctly if the pattern begins
- with an anchor character. This patch attempts to convert the
- anchored regex pattern to a prefix pattern supported by astDB for
- performance reasons. If it is not able to convert the pattern it
- falls back to getting all astDB members of the family and doing a
- normal regex pattern matching on the retrieved records. Review:
- https://reviewboard.asterisk.org/r/3161/
- 2014-02-19 12:00 +0000 [r408314-408331] Alexandr Anikin <may@telecom-service.ru>
- * addons/ooh323c/src/ooCapability.c, /,
- addons/ooh323c/src/ooh245.c: process receiveAndTransmit user
- input remote caps instead of receive only send receiveAndTransmit
- user input our caps instead of receive only ........ Merged
- revisions 408328 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 408330 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * addons/ooh323c/src/ooh323.c, /: Allow different socket and
- signalling ip on h.323 connection if gk mode is active Reported
- by: Gabriele Odone Patches: ASTERISK-22738-1.patch Tested by:
- Gabriele Odone (closes issue ASTERISK-22738) ........ Merged
- revisions 408312 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-18 19:18 +0000 [r408297] Richard Mudgett <rmudgett@digium.com>
- * contrib/ast-db-manage/config/versions/21e526ad3040_add_pjsip_debug_option.py,
- contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py,
- contrib/ast-db-manage/voicemail/versions, contrib/ast-db-manage,
- contrib/ast-db-manage/config/env.py,
- contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
- contrib/ast-db-manage/config,
- contrib/ast-db-manage/voicemail/env.py,
- contrib/ast-db-manage/voicemail,
- contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py,
- contrib/ast-db-manage/config/versions: alembic: Add svn:ignore
- *.pyc to directories and svn:executable to *.py files.
- 2014-02-17 15:21 +0000 [r408270] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip/location.c, UPGRADE.txt, res/res_pjsip.c,
- res/res_pjsip_registrar.c, include/asterisk/res_pjsip.h: Store
- SIP User-Agent information in contacts. When an endpoint sends a
- REGISTER request to Asterisk, we now will associate the
- User-Agent header with all contacts that were bound in that
- REGISTER request.
- 2014-02-16 03:23 +0000 [r408194-408220] Matthew Jordan <mjordan@digium.com>
- * main/pbx.c, /: pbx: Handle a completely empty dialplan during a
- context merge It is highly unlikely, but - at least in Asterisk
- 12 - theoretically possible to load Asterisk with no dialplan
- whatsoever. If that occurs, and some other module (that is not a
- pbx module) attempts to merge its contexts into the dialplan, the
- existing merge routine will crash. This is because it is not
- insane, and rightly believes that you provided some sort of
- dialplan, somewhere. This patch will gracefully merge the
- contexts in such a case. Note that this is highly unlikely to
- occur in 1.8/11, as features will most likely provide some
- dialplan via parking. However, in Asterisk 12, parking is now
- provided by res_parking, and hence may create its dialplan later.
- (closes issue ASTERISK-23297) Reported by: CJ Oster Review:
- https://reviewboard.asterisk.org/r/3222 ........ Merged revisions
- 408200 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 408201 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * Makefile, /: buildsystem: Unbreak the build (infloop) on Asterisk
- 11+ Apparently r408084 ( https://reviewboard.asterisk.org/r/3212/
- ) broke the build. This patch fixes it by ignoring the .lastclean
- dependencies if the MENUSELECT_EMBED variable is not defined.
- patches: tmp.diff uploaded by wdoekes (License 5674) Review:
- https://reviewboard.asterisk.org/r/3228/ ........ Merged
- revisions 408193 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-14 21:44 +0000 [r408138-408140] Scott Griepentrog <sgriepentrog@digium.com>
- * main/stasis_endpoints.c: ARI: correct upper/lower case URI
- discrepancies URI's are supposed to be case sensitive and all
- lower case. In practice some portions of URI's in ARI are case
- insensitive and others are not, such as TECH, which in one
- instance would match a lower case name and in another would not.
- In this patch, the ast_endpoint_lastest_snapshot() function is
- modified to change the TECH portion to full upper case before
- lookup. This resolves the discrepancy noted by the reporter.
- However I chose to avoid forcing the /ari prefix of the URI's to
- be lower case for now. Except for the two cases here, all URI's
- should be lower case, unless they are part of a resource name or
- id. Review: https://reviewboard.asterisk.org/r/3211/ Reported by:
- Zane Conkle (closes issue ASTERISK-23125)
- * main/format.c, /: format.c: correct possible null pointer
- dereference In ast_format_sdp_parse and ast_format_sdp_generate
- the check checks for a valid interface and function were
- potentially confusing, and hid an error in the test of the
- presence of the function that is called later. This patch clears
- up and corrects the test. Review:
- https://reviewboard.asterisk.org/r/3208/ (closes issue
- ASTERISK-23098) Reported by: marcelloceschia Patches:
- main_format.patch uploaded by marcelloceschia (license 6036)
- ASTERISK-23098.patch uploaded by coreyfarrell (license 5909)
- ........ Merged revisions 408137 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-14 13:29 +0000 [r408085] Walter Doekes <walter+asterisk@wjd.nu>
- * Makefile, /: buildsystem: Don't force main to depend on
- everything else. Directory 'main' only needs to depend on
- embedded modules. If no module embedding is selected, the
- dependency is dropped. Review:
- https://reviewboard.asterisk.org/r/3212/ ........ Merged
- revisions 408083 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 408084 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-14 12:39 +0000 [r408069] Matthew Jordan <mjordan@digium.com>
- * channels/chan_sip.c: chnan_sip: Set SIP_DEFER_BYE_ON_TRANSFER
- prior to calling bridge blind transfer This patch moves setting
- SIP_DEFER_BY_ON_TRANSFER prior to calling
- ast_bridge_transfer_blind. This prevents a BYE from being sent
- prior to the NOTIFY request that informs the transferor if the
- transfer succeeded or failed. This patch also clears said flag
- from the off nominal NOTIFY paths in the local_attended_transfer
- code, as once we've sent the NOTIFY request it is safe to send by
- the BYE request. This was caught by the
- blind-transfer-accountcode test in the Asterisk Test Suite.
- (closes issue ASTERISK-23290) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/3214/
- 2014-02-13 18:50 +0000 [r407988-408005] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_mwi.c, res/res_pjsip_pubsub.c: Remove all PJSIP
- MWI-specific use from our MWI code. PJSIP has built-in MWI code
- that could be useful to some degree, but our utilization of the
- API actually made our code a bit more cluttered since we had to
- have special cases peppered throughout. With this change, we move
- to using the pjsip_evsub API instead, which streamlines the code
- by removing special cases. Review:
- https://reviewboard.asterisk.org/r/3205
- * res/res_pjsip/location.c: Fix crash in AMI PJSIPShowEndpoint
- action. If an AOR has no permanent contacts, then the
- permanent_contacts container is never allocated. This makes the
- code safe in the face of NULLs. I also changed the variable that
- counts contacts from "num" to "total_contacts" since there are
- now two variables that are indicate numbers of things.
- 2014-02-12 08:18 +0000 [r407968] Walter Doekes <walter+asterisk@wjd.nu>
- * main/config.c: realtime: Fix ast_update2_realtime() on raspberry
- pi. The old code depended on undefined va_arg behaviour: calling
- a function twice with the same va_list parameter and expecting it
- to continue where it left off. The changed code behaves like the
- manpage says it should. Also added a bunch of early returns to
- trap errors (e.g. OOM) instead of crashing. The problem was found
- by Julian Lyndon-Smith. The deviant behaviour on the raspberry PI
- also uncovered another bug (fixed in r407875) in the
- res_config_pgsql.so driver. Reported by: jmls Tested by: jmls
- Review: https://reviewboard.asterisk.org/r/3201/
- 2014-02-11 03:16 +0000 [r407937] Matthew Jordan <mjordan@digium.com>
- * res/ari/resource_channels.c: ari/resource_channels: Add channel
- variables earlier in the creation process This patch tweaks the
- behaviour of POST /channels with channel variables such that the
- variables are passed into the pbx.c routines that perform the
- origination. This allows the variables to be assigned to the
- newly created channels immediately upon their construction, as
- opposed to be assigned after the originate has completed. The
- upshot of this is that the variables are available on the
- channels if they execute in the dialplan, as opposed to only
- being available once the channels are answered. Review:
- https://reviewboard.asterisk.org/r/3183/
- 2014-02-10 16:43 +0000 [r407875] Walter Doekes <walter+asterisk@wjd.nu>
- * res/res_config_pgsql.c, /: res_config_pgsql: Fix
- ast_update2_realtime calls. Fix so multiple updates from a single
- call works (add missing ','). Remove bogus ast_free's that
- weren't supposed to be there. Moved a few spaces for readability.
- Review: https://reviewboard.asterisk.org/r/3194/ ........ Merged
- revisions 407873 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 407874 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-10 15:54 +0000 [r407858] Kinsey Moore <kmoore@digium.com>
- * apps/confbridge/conf_state_multi_marked.c,
- apps/confbridge/conf_state_empty.c,
- apps/confbridge/conf_config_parser.c,
- configs/confbridge.conf.sample, /,
- apps/confbridge/include/confbridge.h, UPGRADE.txt,
- apps/app_confbridge.c: ConfBridge: Correct prompt playback target
- Currently, when the first marked user enters the conference that
- contains waitmarked users, a prompt is played indicating that the
- user is being placed into the conference. Unfortunately, this
- prompt is played to the marked user and not the waitmarked users
- which is not very helpful. This patch changes that behavior to
- play a prompt stating "The conference will now begin" to the
- entire conference after adding and unmuting the waitmarked users
- since the design of confbridge is not conducive to playing a
- prompt to a subset of users in a conference in an asynchronous
- manner. (closes issue PQ-1396) Review:
- https://reviewboard.asterisk.org/r/3155/ Reported by: Steve Pitts
- ........ Merged revisions 407857 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-07 20:48 +0000 [r407766] Richard Mudgett <rmudgett@digium.com>
- * /, channels/chan_iax2.c: chan_iax2: Add some more iaxs[] NULL
- checks to a routine already full of them. ........ Merged
- revisions 407764 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 407765 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-07 20:09 +0000 [r407747-407750] Matthew Jordan <mjordan@digium.com>
- * main/security_events.c: security_events: Fix assertion failure in
- dev-mode on optional IE parsing When formatting an optional IE,
- the value is, of course, optional. As such, it is entirely
- appropriate for ast_json_object_get to return NULL. If that
- occurs, we now simply skip the IE that was requested, as it was
- not provided by the entity that raised the event. Thanks to
- George Joseph (gtjoseph) for catching this and reporting it in
- #asterisk-dev
- * funcs/func_cdr.c: funcs/func_cdr: Handle empty time values when
- extracting parsed values When extracting timestamps that are
- parsed, time stamp values that are not set (time values of
- 0.000000) should not actually result in a parsed string. The
- value should be skipped, and the result of the CDR function
- should be an empty string. Prior to this patch, the result was
- fed to the time formatting, which would result in an output of a
- date/time in 1969.
- 2014-02-07 18:18 +0000 [r407729] Richard Mudgett <rmudgett@digium.com>
- * configs/iax.conf.sample, /, channels/chan_iax2.c,
- include/asterisk/frame.h: chan_iax2: Block unnecessary control
- frames to/from the wire. Establishing an IAX2 call between
- Asterisk v1.4 and v1.8 (or later) results in an unexpected call
- disconnect. The problem happens because newer values in the enum
- ast_control_frame_type are not consistent between the branch
- versions of Asterisk. For example: 1) v1.4 calls v1.8 (or later)
- using IAX2 2) v1.8 answers and sends a connected line update
- control frame. (on v1.8 AST_CONTROL_CONNECTED_LINE = 22) 3) v1.4
- receives the control frame as an end-of-q (on v1.4
- AST_CONTROL_END_OF_Q = 22) 4) v1.4 disconnects the call once the
- receive queue becomes empty. Several things are done by this
- patch to fix the problem and attempt to prevent it from happening
- again in the future: * Added a warning at the definition of enum
- ast_control_frame_type about how to add new control frame values.
- * Made block sending and receiving control frames that have no
- reason to go over the wire. * Extended the connectedline iax.conf
- parameter to also include the redirecting information updates. *
- Updated the connectedline iax.conf parameter documentation to
- include a notice that the parameter must be "no" when the peer is
- an Asterisk v1.4 instance. (closes issue AST-1302) Review:
- https://reviewboard.asterisk.org/r/3174/ ........ Merged
- revisions 407678 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 407727 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-07 16:46 +0000 [r407676] Matthew Jordan <mjordan@digium.com>
- * main/security_events.c: security_events: Fix error caused by DTD
- validation error The appdocsxml.dtd specifies that a "required"
- attribute in a parameter may have a value of yes, no, true, or
- false. On some systems, specifying "False" instead of "false"
- would cause a validation error. This patch fixes the casing to
- explicitly match the DTD.
- 2014-02-07 13:13 +0000 [r407624] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
- * /, configs/indications.conf.sample: indications.conf: add stutter
- tone; end properly * If the "stutter" (voicemail indication) tone
- is indeed a stutter tone, and it ends with a constant tone, make
- sure that it is the dial tone. This was done for India (in),
- Mexico (mx) and the Philippines (ph). * If no "stutter" tone
- exists for a country, provide one. This was done for Spain (es),
- Malaysia (my) and Venezuela (ve). Review:
- https://reviewboard.asterisk.org/r/3158/ ........ Merged
- revisions 407622 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 407623 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-03-03 Asterisk Development Team <asteriskteam@digium.com>
- * Asterisk 12.1.0 Released.
- 2014-03-01 Asterisk Development Team <asteriskteam@digium.com>
- * Asterisk 12.1.0-rc3 Released.
- * chan_sip: Fix crash in ast_channel_hangupcause_set().
- Fix crash in ast_channel_hangupcause_set() because p->owner not
- checked before calling. Regression introduced by the fix for
- ASTERISK-22621.
- (closes issue ASTERISK-23135)
- Reported by: OK
- (issue ASTERISK-23323)
- Reported by: Walter Doekes
- 2013-02-27 Asterisk Development Team <asteriskteam@digium.com>
- * Asterisk 12.1.0-rc2 Released.
- * res_rtp_asterisk: Fix checklist creating problems in ICE sessions
-
- Prior to this patch, local candidate lists including SRFLX would
- fail to start properly when building ICE candidate check lists. This
- patch fixes that problem by making sure that each SRFLX candidate is
- associated with the proper base address so that the check list can
- create matches properly.
- This patch was written by jcolp. The issue will be left open to await
- testing by the issue participants.
- (issue ASTERISK-23213)
- Reported by: Andrea Suisani
- Review: https://reviewboard.asterisk.org/r/3256/
- * res_fax: Warn that minrate=2400 is not valid for V.27 instead of
- failing load.
- Change minrate from 2400 to 4800 on config reload in response to
- changes from ASTERISK-22790 only. Any config with minrate of
- 2400 that would fail before r405693 will still fail.
- Comment out many settings in res_fax.conf.sample. The defaults are
- set in res_fax.c, so setting the same value in sample config does
- nothing but make the sample config more fragile.
- (closes issue ASTERISK-23231)
- Reported by: David Brillert
- Review: https://reviewboard.asterisk.org/r/3261/
- * main: Initialize dialplan providing core components prior to module
- pre-load
- It is possible to pre-load pbx_config. As a result, pbx_config -
- which will load and parse the dialplan - will attempt to use various
- dialplan components, such as device state providers and presence
- state providers, prior to them being initialized by the core. This
- would lead to a crash, as the components had not created their Stasis
- cache entries.
- This patch moves a number of core component initializations before
- the module pre-load. This guarantees that if someone does pre-load
- pbx_config - or other pbx modules - that the Stasis caches for the
- various core components are created.
- (closes issue ASTERISK-23320)
- Reported by: xrobau
- (closes issue ASTERISK-23265)
- Reported by: Andrew Nagy
- Tested by: Andrew Nagy, Rusty Newton
- * ari/resource_channels: Add channel variables earlier in the creation
- process
- This patch tweaks the behaviour of POST /channels with channel
- variables such that the variables are passed into the pbx.c routines
- that perform the origination. This allows the variables to be
- assigned to the newly created channels immediately upon their
- construction, as opposed to be assigned after the originate has
- completed.
- The upshot of this is that the variables are available on the
- channels if they execute in the dialplan, as opposed to only being
- available once the channels are answered.
- * security_events: Fix assertion failure in dev-mode on optional IE
- parsing
- When formatting an optional IE, the value is, of course, optional. As
- such, it is entirely appropriate for ast_json_object_get to return
- NULL. If that occurs, we now simply skip the IE that was requested,
- as it was not provided by the entity that raised the event.
- Thanks to George Joseph (gtjoseph) for catching this and reporting it
- in #asterisk-dev
- * funcs/func_cdr: Handle empty time values when extracting parsed
- values
- When extracting timestamps that are parsed, time stamp values that
- are not set (time values of 0.000000) should not actually result in
- a parsed string. The value should be skipped, and the result of the
- CDR function should be an empty string.
- Prior to this patch, the result was fed to the time formatting, which
- would result in an output of a date/time in 1969.
- * security_events: Fix error caused by DTD validation error
- The appdocsxml.dtd specifies that a "required" attribute in a
- parameter may have a value of yes, no, true, or false. On some
- systems, specifying "False" instead of "false" would cause a
- validation error. This patch fixes the casing to explicitly match
- the DTD.
- 2013-02-06 Asterisk Development Team <asteriskteam@digium.com>
- * Asterisk 12.1.0-rc1 Released.
- 2014-02-06 20:06 +0000 [r407589] Matthew Jordan <mjordan@digium.com>
- * main/security_events.c, UPGRADE.txt, CHANGES: security_events:
- Add AMI documentation; output optional fields This patch adds
- documentation for the Security Events that are emited over AMI.
- It also notes these events in the UPGRADE/CHANGES file.
- 2014-02-06 19:57 +0000 [r407587] Rusty Newton <rnewton@digium.com>
- * configs/pjsip.conf.sample: configs/pjsip.conf.sample:
- Configuration section naming in pjsip.conf.sample needs a little
- clarification There is a bit of nuance to how you name things in
- pjsip.conf. This is a documentation patch to at least clear it up
- a little for users. Review:
- https://reviewboard.asterisk.org/r/3180/
- 2014-02-06 17:54 +0000 [r407572] Kevin Harwell <kharwell@digium.com>
- * contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py:
- pjsip realtime: already created enum failure for postgresql If an
- enum had been previously created the alembic script would attempt
- to re-create it and an error would be generated while running
- migrations for a postgresql server. The work around for this is
- to use the ENUM object type for postgres as opposed to the
- generic enum type used by sqlalchemy. Using this type in the
- script seems to work properly for both postgres and mysql.
- 2014-02-06 17:06 +0000 [r407568] Richard Mudgett <rmudgett@digium.com>
- * res/res_pjsip_logger.c,
- res/res_pjsip/include/res_pjsip_private.h,
- res/res_pjsip/pjsip_options.c, res/res_pjsip/config_transport.c,
- include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c,
- res/res_pjsip/config_auth.c, res/res_pjsip/location.c,
- res/res_pjsip_outbound_registration.c,
- res/res_pjsip_endpoint_identifier_ip.c,
- include/asterisk/res_pjsip_cli.h, res/res_pjsip/pjsip_cli.c,
- res/res_pjsip/pjsip_configuration.c,
- res/res_pjsip/config_domain_aliases.c: res_pjsip: Updates and
- adds more PJSIP CLI commands. * Adds identify, transport, and
- registration support to the PJSIP CLI. * Creates three additional
- callbacks, one for an iterator, one for a comparator, and one for
- a container. This eliminates the link dependency from higher
- level modules to lower level ones. * Eliminates duplicate sorting
- in PJSIP CLI commands. * Cleans up PJSIP CLI output formatting. *
- Pushes CLI command registration down to the implementing source
- file. * Adds several ast_sip_destroy_sorcery functions to
- complement existing ast_sip_sorcery_initialize functions. The
- destroy functions unregister PJSIP CLI commands and PJSIP CLI
- formatters. Reported by: George Joseph Review:
- https://reviewboard.asterisk.org/r/3104/
- 2014-02-06 16:53 +0000 [r407567] Mark Michelson <mmichelson@digium.com>
- * contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py:
- Fix alembic script to work properly in offline mode. When run in
- offline mode, this would attempt to check the database for the
- presence of a type it was going to try to create. I now check the
- context to see if we're running in offline mode and change a
- parameter accordingly.
- 2014-02-05 23:03 +0000 [r407513] Rusty Newton <rnewton@digium.com>
- * /, formats/format_wav.c: formats/format_wav: enhancing log
- message "Not a wav file" to be clear on what is supported
- Modifying the log message to be more specific as to what is
- supported. Specifically it seems format_wav supports only PCM
- encoded versions with a lower-case '.wav' extension. (closes
- issues ASTERISK-22310) Reported by: Jim Credland Review:
- https://reviewboard.asterisk.org/r/3188/ ........ Merged
- revisions 407511 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 407512 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-05 20:55 +0000 [r407461] Jonathan Rose <jrose@digium.com>
- * CHANGES: CHANGES: Improved description of Name/Creator changes to
- bridge ARI, adds AMI The changes log was written with language
- that was a little too internal Asterisk specific, so it's been
- changed to be more in the frame of reference of an ARI user.
- Also, previously the AMI event changes were omitted from the
- change log as well as the ability to include a bridge name in the
- ARI post bridges command.
- 2014-02-05 20:43 +0000 [r407458] Kinsey Moore <kmoore@digium.com>
- * main/logger.c, /: Logger: Fix handling of absolute paths This
- fixes path handling for log files so that an extra / is not
- appended to the file path when the path is absolute (begins with
- /). This would previously result in different but functionally
- equivalent paths in the output of 'logger show channels'.
- ........ Merged revisions 407455 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 407456 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-05 19:41 +0000 [r407442] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip/config_global.c: res_pjsip: When no global type the
- debug option defaults to "yes" If the global section was not
- specified in pjsip.conf then the configuration object does not
- exist in sorcery so when retrieving "debug" option it would
- return NULL. Then the NULL result was passed to ast_false utils
- function which would return false because it wasn't set to some
- representation of false, thus enabling sip debug logging. Made it
- so if the global config object does not exist then it will return
- a default of "no" for sip debugging. (issue ASTERISK-23038)
- Reported by: Rusty Newton
- 2014-02-05 17:27 +0000 [r407423] Kinsey Moore <kmoore@digium.com>
- * UPGRADE.txt: UPGRADE: Note change in behavior for device state
- subscriptions
- 2014-02-05 17:12 +0000 [r407419] Jonathan Rose <jrose@digium.com>
- * CHANGES: CHANGES: Update changes log to include new bridge fields
- added in r404042
- 2014-02-05 14:22 +0000 [r407389-407402] Matthew Jordan <mjordan@digium.com>
- * UPGRADE.txt, rest-api/api-docs/channels.json,
- rest-api/api-docs/sounds.json, rest-api/resources.json, CHANGES,
- include/asterisk/manager.h, rest-api/api-docs/bridges.json,
- rest-api/api-docs/recordings.json,
- rest-api/api-docs/deviceStates.json,
- rest-api/api-docs/endpoints.json,
- rest-api/api-docs/mailboxes.json, rest-api/api-docs/events.json,
- rest-api/api-docs/asterisk.json,
- rest-api/api-docs/applications.json,
- rest-api/api-docs/playbacks.json: ARI/AMI: Update versions;
- update UPGRADE/CHANGES notes for 12.1.0 changes Due to backwards
- compatible changes made to AMI/ARI, the version needs to be
- bumped to 1.1.0/2.1.0, respectively.
- * rest-api-templates/api.wiki.mustache,
- rest-api-templates/swagger_model.py: api.wiki.mustache: Update
- wiki template to support body parameters This patch updates the
- api.wiki.mustache template and the swagger_model python script to
- understand if an operation has a body parameter. If an operation
- does have a body parameter, it will now be displayed in the
- corresponding wiki entry.
- 2014-02-04 20:08 +0000 [r407274-407339] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/devicestate.h, /, main/devicestate.c:
- devicestate: Make ast_devstate_changed_literal() return value and
- doxygen consistent. Nothing actually cares about the value
- anyway. (closes issue ASTERISK-23178) Reported by: Jonathan Rose
- ........ Merged revisions 407337 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 407338 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_pjsip/pjsip_configuration.c: res_pjsip: Fix assertion for
- pjsip.conf authorization list options. (closes issue
- ASTERISK-23168) Reported by: George Joseph Review:
- https://reviewboard.asterisk.org/r/3143/
- * configs/sip.conf.sample, main/tcptls.c, /: tcptls.c: Made TLS
- handle a certificate chain file. Thanks to Guillaume Martres for
- doing the necessary research to validate the change. (closes
- issue ASTERISK-17727) Reported by: LN Patches:
- use_certificate_chain.patch (license #5864) patch uploaded by st
- documente_certificate_chain.patch (license #6576) patch uploaded
- by Guillaume Martres ........ Merged revisions 407272 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 407273 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-04 16:54 +0000 [r407259] Matthew Jordan <mjordan@digium.com>
- * funcs/func_cdr.c: funcs/func_cdr: Fix non-epoch timestamps broken
- by improper char array deref Thanks to snuffy for pointing this
- issue out and fixing it. (closes issue ASTERISK-23250) Reported
- by: snuffy patches: func_cdr-fix.diff uploaded by snuffy (License
- 5024)
- 2014-02-04 02:21 +0000 [r407213] Joshua Colp <jcolp@digium.com>
- * /, res/res_clialiases.c: res_clialiases: Fix crash when reloading
- and re-aliasing an alias that is in use. The code assumed that
- unregistering the alias would always succeed while in practice
- this is not actually true. A common case is the "reload" command
- itself. If the cli_aliases.conf configuration file was changed
- and reload executed the command would fail to unregister and
- ultimately point to freed memory. The reload process now checks
- whether unregistering succeeded or not and if not the old CLI
- alias is retained. (closes issue ASTERISK-19773) Reported by:
- Joel Vandal (closes issue ASTERISK-22757) Reported by: Gareth
- Blades ........ Merged revisions 407205 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 407210 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-02-04 02:04 +0000 [r407197] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Skinny - Fix deadlock when pickup of no
- call. Locking issues in skinny when picking up a call that
- doesn't exist. Cleaned up sub locking by fully removing and using
- the chan lock instead. Also changed ast_call_pickup to check
- whether chan was masq'd. (closes issue ASTERISK-23249) Reported
- by: wedhorn Tested by: snuffy, myself Patches:
- skinny-locking01.diff uploaded by wedhorn (license 5019)
- 2014-02-03 01:14 +0000 [r407166] Matthew Jordan <mjordan@digium.com>
- * main/cdr.c: cdrs: Check for applications to lock onto during dial
- begin handling This patch brings CDR processing further in line
- with r407085. During some dial operations, the application would
- not be locked to the Dial application and would instead continue
- to show the previously known application. In particular, this
- would occur when a Parked call would time out. This was due to a
- previous snapshot already locking the application to Park -
- processing this in a Dial Begin allows the Dial application to
- reassert its rightful place. (CDRs. Ugh.) But hooray for the
- Parked Call tests for catching this in the Asterisk Test Suite.
- 2014-02-01 16:23 +0000 [r407153] Joshua Colp <jcolp@digium.com>
- * res/ari/ari_model_validators.c, res/res_stasis.c,
- main/stasis_bridges.c, res/ari/ari_model_validators.h,
- rest-api/api-docs/events.json, res/stasis/app.c: res_stasis:
- Enable transfers and provide events when they occur. This change
- enables transfers within ARI created bridges and adds events for
- when they occur. Unlike other events these will be received if
- *any* subscribed object is involved in the transfer. (closes
- issue ASTERISK-22984) Reported by: David M. Lee Review:
- https://reviewboard.asterisk.org/r/3120/
- 2014-02-01 00:24 +0000 [r407104] coreyfarrell <coreyfarrell@localhost>:
- * /, apps/app_stack.c: app_stack: protect against missing
- parameters to STACK_PEEK and LOCAL_PEEK STACK_PEEK requires 2
- parameters and LOCAL_PEEK requires 1 parameter. This protects
- against situations where those parameters are blank or missing by
- logging an error and returning. (closes issue ASTERISK-23220)
- Reported by: James Sharp ........ Merged revisions 407100 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 407103 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-31 23:40 +0000 [r407082-407084] Matthew Jordan <mjordan@digium.com>
- * main/manager_channels.c, apps/app_dial.c, main/cdr.c, main/pbx.c,
- main/bridge_after.c, UPGRADE.txt: CDRs: fix a variety of dial
- status problems, h/hangup handler creating CDRs This patch fixes
- a number of small-ish problems that were noticed when witnessing
- the records that the FreePBX dialplan produces: (1) Mid-call
- events (as well as privacy options) have the ability to change
- the overall state of the Dial operation after the called party
- answers. This means that publishing the DialEnd event when the
- called party is premature; we have to wait for the execution of
- these subroutines to complete before we can signal the overall
- status of the DialEnd. This patch moves that publication and adds
- handlers for the mid-call events. (2) The AST_FLAG_OUTGOING
- channel flag is cleared if an after bridge goto datastore is
- detected. This flag was preventing CDRs from being recorded for
- all outbound channels that had a 'continue' option enabled on
- them by the Dial application. (3) The CDR engine now locks the
- 'Dial' application as being the CDR application if it detects
- that the current CDR has entered that app. This is similar to the
- logic that is done for Parking. In general, if we entered into
- Dial, then we want that CDR to record the application as such -
- this prevents pre-dial handlers, mid-call handlers, and other
- shenaniganry from changing the application value. (4) The CDR
- engine now checks for the AST_SOFTHANGUP_HANGUP_EXEC in more
- places to determine if the channel is in hangup logic or dead. In
- either case, we don't want to record changes in the channel. (5)
- The default option for "endbeforehexten" has been changed to
- "yes". In general, you don't want to see CDRs in the 'h' exten or
- in hangup logic. Since the semantics of that option changed in
- 12, it made sense to update the default value as well. (6)
- Finally, because we now have the ability to synchronize on the
- messages published to the CDR topic, on shutdown the CDR engine
- will now synchronize to the messages currently in flight. This
- helps to ensure that all in-flight CDRs are written before
- shutting down. (closes issue ASTERISK-23164) Reported by: Matt
- Jordan Review: https://reviewboard.asterisk.org/r/3154
- * apps/app_dial.c, /: app_dial: Allow macro/gosub pre-bridge
- execution to occur on priorities The parsing for the destination
- of the macro/gosub uses the '^' character to separate out
- context, extension, and priority. However, the logic for the
- macro/gosub execution was written such that it would only do the
- actual macro/gosub jump if a '^' character existed. This doesn't
- apply when the macro/gosub jump occurs in a priority/priority
- label. This patch changes the logic so that the parsing still
- occurs, but the jump will occur even for priorities/priority
- labels. (issue ASTERISK-23164) Review:
- https://reviewboard.asterisk.org/r/3154 ........ Merged revisions
- 407041 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 407074 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-31 23:14 +0000 [r407034-407036] Kevin Harwell <kharwell@digium.com>
- * contrib/ast-db-manage/config/versions/21e526ad3040_add_pjsip_debug_option.py
- (added), configs/pjsip.conf.sample, UPGRADE.txt,
- res/res_pjsip_logger.c, CHANGES, res/res_pjsip.c,
- include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c:
- res_pjsip: Config option to enable PJSIP logger at load time.
- Added a "debug" configuration option for res_pjsip that when set
- to "yes" enables SIP messages to be logged. It is specified under
- the "system" type. Also added an alembic script to add the option
- to realtime. (closes issue ASTERISK-23038) Reported by: Rusty
- Newton Review: https://reviewboard.asterisk.org/r/3148/
- * res/res_pjsip_exten_state.c: res_pjsip_exten_state: Exporting
- global symbols caused load order issues Removed the exportation
- of global symbols from the module as it is no longer needed and
- it could potentially cause load problems as on some systems it
- would try to load before res_pjsip_pubsub
- 2014-01-31 22:38 +0000 [r407031] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/res_pjsip_presence_xml.h (added): Add file that
- apparently got missed in the merge.
- 2014-01-31 22:17 +0000 [r407019] Kevin Harwell <kharwell@digium.com>
- * UPGRADE.txt,
- contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py,
- contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py:
- alembic: script modifications due to errors A couple of the
- scripts had errors that would not allow a full migration to take
- place. The extensions table needed to make its 'id' column a
- primary key in order to work with mysql. The other script
- ...add_endpoints... was missing tables that it was trying to add
- columns to. Added the primary key on id for extensions and added
- the tables in for the missing pjsip configuration options. While
- it is not ideal to modify already released scripts this was a
- case where it had to be done due to errors in the script and
- lacking a better alternative. Review:
- https://reviewboard.asterisk.org/r/3167/
- 2014-01-31 22:11 +0000 [r407016] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_xpidf_body_generator.c (added),
- res/res_pjsip_mwi_body_generator.c (added),
- res/res_pjsip_pubsub.c, res/res_pjsip_pidf.c (removed),
- res/res_pjsip_pidf_eyebeam_body_supplement.c (added),
- res/res_pjsip_exten_state.c, res/res_pjsip/presence_xml.c
- (added), include/asterisk/res_pjsip_pubsub.h,
- res/res_pjsip_pidf_body_generator.c (added),
- include/asterisk/res_pjsip_exten_state.h (removed),
- res/res_pjsip_pubsub.exports.in,
- include/asterisk/res_pjsip_body_generator_types.h (added),
- res/res_pjsip_mwi.c: Decouple subscription handling from
- NOTIFY/PUBLISH body generation. When the PJSIP pubsub framework
- was created, subscription handlers were required to state what
- event they handled along with what body types they knew how to
- generate. While this serves well when implementing a base RFC, it
- has problems when trying to extend the body to support
- non-standard or proprietary body elements. The code also was
- NOTIFY-specific, meaning that when the time comes that we start
- writing code to send out PUBLISH requests with MWI or presence
- bodies, we would likely find ourselves duplicating code that had
- previously been written. This changeset introduces the concept of
- body generators and body supplements. A body generator is
- responsible for allocating a native structure for a given body
- type, providing the primary body content, converting the native
- structure to a string, and deallocating resources. A body
- supplement takes the primary body content (the native structure,
- not a string) generated by the body generator and adds
- nonstandard elements to the body. With these elements living in
- their own module, it becomes easy to extend our support for body
- types and to re-use resources when sending a PUBLISH request.
- Body generators and body supplements register themselves with the
- pubsub core, similar to how subscription and publish handlers had
- done. Now, subscription handlers do not need to know what type of
- body content they generate, but they still need to inform the
- pubsub core about what the default body type for a given event
- package is. The pubsub core keeps track of what body generators
- and body supplements have been registered. When a SUBSCRIBE
- arrives, the pubsub core will check that there is a subscription
- handler for the event in the SUBSCRIBE, then it will check that
- there is a body generator that can provide the content specified
- in the Accept header(s). Because of the nature of body generators
- and supplements, it means res_pjsip_exten_state and res_pjsip_mwi
- have been completely gutted. They no longer worry about body
- types, instead calling ast_sip_pubsub_generate_body_content()
- when they need to generate a NOTIFY body. Review:
- https://reviewboard.asterisk.org/r/3150
- 2014-01-31 22:05 +0000 [r407014] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_mwi.c: res_pjsip_mwi: Subscribe fails when missing
- aor name When subscribing to MWI (res_pjsip_mwi) and the sip uri
- did not contain a name (ex: sip:<ip address>) then the
- subscription would fail since it would be unable to locate an
- associated aor. This patch makes it so that when a subscribe
- comes with no aor name then it will subscribe to all aors on the
- located endpoint. (closes issue ASTERISK-23072) Reported by: Bob
- M Review: https://reviewboard.asterisk.org/r/3164/
- 2014-01-31 15:01 +0000 [r407000] Kinsey Moore <kmoore@digium.com>
- * res/res_pjsip_nat.c: PJSIP: Fix address for ACK in NAT situations
- In NAT scenarios where a call is placed to a Grandstream phone,
- res_pjsip will sometimes send the ACK to a 200 OK to the private
- address of the device behind the NAT instead of the address of
- the NAT device. This corrects that behavior by rewriting the
- address in the Contact header in the incoming 200 OK and the
- dialog's target address if necessary (since it has already been
- rewritten to the incorrect private address). (closes issue
- ASTERISK-23106) Review: https://reviewboard.asterisk.org/r/3168/
- Reported by: Matt Jordan
- 2014-01-31 05:28 +0000 [r406987] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Skinny: fix up possible double unlock of
- chan. Return before chan is possibly unlocked a second time when
- hanging up a channel in SUBSTATE_OFFHOOK.
- 2014-01-30 20:34 +0000 [r406935] coreyfarrell <coreyfarrell@localhost>:
- * main/udptl.c, res/res_rtp_asterisk.c, /: res_rtp_asterisk &
- udptl: fix port selection to work with SELinux restrictions
- ast_bind to a port reserved for another program by SELinux causes
- errno == EACCES. This caused random failures when binding rtp or
- udptl sockets. Treat EACCES as a non-fatal error, try next port.
- (closes issue ASTERISK-23134) Reported by: Corey Farrell ........
- Merged revisions 406933 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406934 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-30 17:33 +0000 [r406919] Sean Bright <sean@malleable.com>
- * main/manager.c, /: Make a NOTICE about an invalid channel name
- more useful. ........ Merged revisions 406918 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-29 00:42 +0000 [r406862] Russell Bryant <russell@russellbryant.com>
- * /, configs/queues.conf.sample: queues.conf.sample Fix documented
- default for persistentmembers Closes issue ASTERISK-22662
- ........ Merged revisions 406860 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406861 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-28 23:35 +0000 [r406788-406847] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_pubsub.c: res_pjsip_pubsub: potential crash on
- timeout What seems to be happening is if a subscription has been
- terminated and the subscription timeout/expires is less than the
- time it takes for all pending transactions (currently on the
- subscription) to end then the subscription timer will not have
- been canceled yet and sub will be null. Since the subscription
- has already been canceled nothing needs to be done so a null
- check in the asterisk code is sufficient in working around this
- problem. (closes issue ASTERISK-23129) Reported by: Dan Jenkins
- * cdr/cdr_radius.c, cel/cel_radius.c, /, configure,
- include/asterisk/autoconfig.h.in, configure.ac: cdr_radius,
- cel_radius: build agains libfreeradius-client Asterisk's RADIUS
- module currently build against libradiusclient-ng, but this
- project has been superseeded by libfreeradius-client. The API is
- 99% compatible except that the header name has changed, the
- library name has changed, and the configuration file location has
- changed. (closes issue ASTERISK-22980) Reported by: Jeremy Lainé
- Patches: freeradius-client.patch uploaded by sharky (license
- 6561) ........ Merged revisions 406801 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406802 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_pjsip/include/res_pjsip_private.h,
- include/asterisk/compat.h: res_pjsip,compat: INFINITY and NAN
- undefined On some systems the values for INFINITY and NAN are not
- defined thus causing a build error on those systems. Added
- definitions for those if they had not previously been defined.
- (closes issue ASTERISK-23056) Reported by: capouch Patches:
- inf-nan-patch.txt uploaded by capouch (license 6564)
- 2014-01-28 19:13 +0000 [r406775] Kinsey Moore <kmoore@digium.com>
- * res/res_stasis_device_state.c: ARI: Make double subscribe respond
- with success Currently, attempting to subscribe an application to
- a device state that it has already subscribed to will generate a
- 500 error response. This will now be treated as a subscription
- refresh even though ARI subscriptions don't currently support
- lifetimes and will respond with the normal response for a
- successful subscription (200 OK). (closes issue ASTERISK-23143)
- Reported by: Matt Jordan
- 2014-01-28 16:41 +0000 [r406723] Scott Griepentrog <sgriepentrog@digium.com>
- * main/rtp_engine.c, /: rtp_engine: improved handling of
- get_rtp_info failure In ast_rtp_instance_make_compatible(), after
- a failure of channel tech call get_rtp_info() to return
- peer_instance, the null pointer would be passed to ao2_ref,
- producing an error that looked like a refernce counting problem
- but is not. This patch corrects that and adds helpful LOG_ERROR
- messages to indicate which failure path occurred. (issue
- AST-1276) Review: https://reviewboard.asterisk.org/r/3156/
- ........ Merged revisions 406721 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406722 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-28 00:11 +0000 [r406707] Richard Mudgett <rmudgett@digium.com>
- * tests/test_cel.c, tests/test_cdr.c: test_cdr.c, test_cel.c:
- Correctly destroy created bridges. * Fixed the
- test_cel_attended_transfer_bridges_link unit test to also account
- for the local channel link being destroyed now that the bridges
- are actually destroyed. * Made CDR unit test use its own version
- of do_sleep() from the CEL unit tests.
- 2014-01-27 20:36 +0000 [r406574-406645] Russell Bryant <russell@russellbryant.com>
- * /, main/config.c: Allow nested #includes in extconfig.conf
- extconfig.conf was hard-coded to not allow nested includes for
- some reason. The code has been this way since a patch was merged
- for ASTERISK-3333 (revision 4889), which was a significant update
- to this code ("Merge config updates"). I can't figure out any
- good reason why this should be limited. This patch just removes
- the limit and uses the default nesting depth limit. Closes issue
- ASTERISK-17837 Review: https://reviewboard.asterisk.org/r/3159/
- ........ Merged revisions 406643 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406644 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/channel.c, /, main/file.c, include/asterisk/channel.h:
- Protect ast_filestream object when on a channel The
- ast_filestream object gets tacked on to a channel via
- chan->timingdata. It's a reference counted object, but the
- reference count isn't used when putting it on a channel. It's
- theoretically possible for another thread to interfere with the
- channel while it's unlocked and cause the filestream to get
- destroyed. Use the astobj2 reference count to make sure that as
- long as this code path is holding on the ast_filestream and
- passing it into the file.c playback code, that it knows it's
- valid. Bug reported by Leif Madsen. Review:
- https://reviewboard.asterisk.org/r/3135/ ........ Merged
- revisions 406566 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406567 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-26 23:03 +0000 [r406516] Richard Mudgett <rmudgett@digium.com>
- * main/tcptls.c, /: tcptls.c: Add missing cleanup on off nominal
- path. ........ Merged revisions 406514 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406515 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-26 02:10 +0000 [r406489] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_session.c: res_pjsip_session: Be less strict with
- core requested outgoing capabilities. The core may (depending on
- circumstances) request a single codec on outgoing calls. Many
- channel drivers ignore or treat this as a suggestion while still
- including configured codecs. The res_pjsip_session logic treated
- this as an explicit request, leaving out other configured codecs.
- This change makes res_pjsip_session behave like other channel
- driver and simply adds the requested codec to the list. (closes
- issue ASTERISK-23082) Reported by: xrobau Review:
- https://reviewboard.asterisk.org/r/3140/
- 2014-01-24 23:29 +0000 [r406401-406465] Richard Mudgett <rmudgett@digium.com>
- * main/cel.c, /: CEL: Protect data structures during reload and
- shutdown. The CEL data structures need to be protected during a
- configuration reload and shutdown. Asterisk crashed during a
- shutdown because CEL events were still in flight and the CEL data
- structures were already destroyed. * Protected the cel_backends,
- cel_dialstatus_store, and cel_linkedids ao2 containers with a
- global ao2 object wrapper. * Added NULL checks before use of the
- cel_backends, cel_dialstatus_store, and cel_linkedids ao2
- containers in case the CEL module is already shutdown. * Fixed
- overloading of the cel_linkedids held objects reference count.
- During shutdown any held objects would be leaked. * Fixed memory
- leak of cel_linkedids held objects if the LINKEDID_END is not
- being tracked. The objects in the cel_linkedids container were
- not removed if the LINKEDID_END event is not used. * Added access
- protection to the cel_backends container during the CLI "cel show
- status" command. * Made cel_backends, cel_dialstatus_store, and
- cel_linkedids use the standard ao2 callback templates for the
- hash and cmp functions. * Eliminated unnecessary uses of
- RAII_VAR(). * Made ast_cel_engine_init() cleanup alocated
- resources on failure. (closes issue AST-1253) Reported by:
- Guenther Kelleter Review:
- https://reviewboard.asterisk.org/r/3128/ ........ Merged
- revisions 406417 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406418 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/manager.c, /: manager: Register atexit shutdown routine only
- once. * Made register atexit shutdown routine only once in
- __init_manager(). * Fixed some initial load failure conditions in
- __init_manager(). * Made reset options to defaults on reload when
- the reload will actually happen. * Removed unnecessary container
- traversals of the white/black filters during manager_free_user().
- * ast_free() does not need a NULL check before calling. ........
- Merged revisions 406359 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406400 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-24 21:25 +0000 [r406389] Jonathan Rose <jrose@digium.com>
- * res/res_config_pgsql.c, /: res_config_pgsql: Fix a memory leak
- and use RAII_VAR for cleanup when practical Review:
- https://reviewboard.asterisk.org/r/3141/ ........ Merged
- revisions 406360 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406361 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-24 18:04 +0000 [r406342] Richard Mudgett <rmudgett@digium.com>
- * main/manager.c, /: manager: Protect data structures during
- shutdown. Occasionally, the manager module would get an
- "INTERNAL_OBJ: bad magic number" error on a "core restart
- gracefully" command if an AMI connection is established. * Added
- ao2_global_obj protection to the sessions global container. *
- Fixed the order of unreferencing a session object in
- session_destroy(). * Removed unnecessary container traversals of
- the white/black filters during session_destructor(). (closes
- issue AST-1242) Reported by: Guenther Kelleter Review:
- https://reviewboard.asterisk.org/r/3144/ ........ Merged
- revisions 406341 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-23 23:41 +0000 [r406327] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_pidf.c: Today is not my day for writing code that
- compiles.
- 2014-01-23 22:54 +0000 [r406311] Michael L. Young <elgueromexicano@gmail.com>
- * addons/res_config_mysql.c: res_config_mysql: Fix Setting The
- Column Name Incorrectly When support for a realtime sorcery
- module was added in revision 386731, the wrong property was
- accidentally used for setting the column name to be updated in
- the database table. This patch fixes the typo. (closes issue
- ASTERISK-23177) Reported by: Denis Tested by: Denis Patches:
- asterisk-23177-use-field-name.diff by Michael L. Young (license
- 5026)
- 2014-01-23 21:09 +0000 [r406294-406295] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_pidf.c: Fix presence body errors found during
- testing: * PIDF bodies were reporting an "open" state in many
- cases where it should have been reporting "closed" * XPIDF bodies
- had XML nodes placed incorrectly within the hierarchy. * SIP URIs
- in XPIDF bodies did not go through XML sanitization * XML
- sanitization had some errors: * Right angle bracket was being
- replaced with "&rt;" instead of ">" * Double quote,
- apostrophe, and ampersand were not being escaped.
- * res/res_pjsip_pidf.c: Fix presence body errors found during
- testing: * PIDF bodies were reporting an "open" state in many
- cases where it should have been reporting "closed" * XPIDF bodies
- had XML nodes placed incorrectly within the hierarchy. * SIP URIs
- in XPIDF bodies did not go through XML sanitization * XML
- sanitization had some errors: * Right angle bracket was being
- replaced with "&rt;" instead of ">" * Double quote,
- apostrophe, and ampersand were not being escaped.
- 2014-01-22 22:23 +0000 [r406264] Scott Griepentrog <sgriepentrog@digium.com>
- * utils/extconf.c, main/pbx.c, /: pbx.c: Pre-initialize timezone to
- avoid crash on destroy In ast_build_timing, initialize the
- timezone value to NULL in order to avoid deferencing an
- uninitialized value later when calling ast_destroy_timing. The
- timezone value could be uninitialized if ast_build_timing were to
- fail due to a zero length time string. (closes issue
- ASTERISK-22861) Reported by: Sebastian Murray-Roberts Review:
- https://reviewboard.asterisk.org/r/3134/ Patches:
- ast_build_timing-initialize-timezone.patch uploaded by
- coreyfarrell (license 5909) ........ Merged revisions 406241 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406245 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-22 19:34 +0000 [r406152-406223] Kinsey Moore <kmoore@digium.com>
- * apps/app_confbridge.c, /: ConfBridge: Fix channel parameter
- documentation Confbridge AMI and CLI commands for mute, unmute,
- and setting the single video source can accept channel prefixes
- in lieu of a full channel name, but documentation states only
- that it is required and is a channel name. This corrects the
- documentation. (closes issue PQ-1397) Reported by: Steve Pitts
- ........ Merged revisions 406217 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: chan_sip: Decline image streams on
- unsupported transports This change allows chan_sip to decline
- individual image streams over unsupported transports in the SDP
- of the 200 response. Previously, an image stream offer with
- RTP/AVP as the transport would cause chan_sip to respond with a
- 488. (closes issue ASTERISK-22988) Reported by: adomjan Original
- patch by: adomjan ........ Merged revisions 406170 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406171 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_stasis_playback.c: res_stasis_playback: Correct error
- argument order Several of the playback error messages for invalid
- media input in res_stasis_playback.c had the media name and
- channel name reversed. They now correctly identify the channel
- name and media name. Reported by: skrusty
- 2014-01-21 21:47 +0000 [r406133] Rusty Newton <rnewton@digium.com>
- * res/res_pjsip.c: res_pjsip: Documentation improvement for
- Endpoint and AOR mailbox options. Making the help text for both
- more explicit regarding the format of mailbox identifiers. i.e.
- clarifying the format for app_voicemail mailboxes vs mailboxes
- from external MWI sources through modules such as
- res_external_mwi.
- 2014-01-21 21:06 +0000 [r406081] Walter Doekes <walter+asterisk@wjd.nu>
- * configs/manager.conf.sample, main/manager.c, /: manager: Clarify
- eventfilter documentation. Textual changes only. Review:
- https://reviewboard.asterisk.org/r/3133/ ........ Merged
- revisions 406079 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406080 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-21 20:20 +0000 [r406003-406049] Kinsey Moore <kmoore@digium.com>
- * /, channels/chan_mgcp.c: chan_mgcp: Enforce locking for oseq This
- restricts direct usage of global oseq so that all accesses are
- locked and threads are not racing to get oseq values that they
- did not claim. This also fixes a build error in res_pktccops
- under dev mode. (closes issue ASTERISK-23100) Reported by:
- adomjan Patch by: adomjan ........ Merged revisions 406037 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 406038 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_pjsip_outbound_registration.c, res/res_pjsip.c: PJSIP:
- Handle headers in a list appropriately The PJSIP header parsing
- function (pjsip_parse_hdr) can generate more than one header
- instance from a single header field. These header instances exist
- as a list attached to the returned header and must be handled
- appropriately when they are added to a message or else only the
- first header instance will be used. This changes the linked list
- functions used in outbound proxy code to merge the lists
- properly.
- * rest-api-templates/ari_resource.h.mustache,
- res/res_ari_device_states.c, res/res_ari_mailboxes.c,
- res/res_ari_asterisk.c,
- rest-api-templates/res_ari_resource.c.mustache,
- res/res_ari_applications.c,
- rest-api-templates/body_parsing.mustache (added),
- res/res_ari_channels.c, res/ari/resource_playbacks.h,
- rest-api-templates/param_parsing.mustache,
- res/ari/resource_sounds.h, res/ari/resource_bridges.h,
- res/ari/resource_device_states.h, res/ari/resource_mailboxes.h,
- rest-api/api-docs/channels.json, res/ari/resource_asterisk.h,
- res/ari/resource_applications.h, res/ari/resource_channels.c,
- res/res_ari_playbacks.c, res/res_ari_sounds.c,
- rest-api-templates/asterisk_processor.py,
- res/ari/resource_channels.h, res/res_ari_bridges.c: ARI: Support
- channel variables in originate This adds back in support for
- specifying channel variables during an originate without
- compromising the ability to specify query parameters in the JSON
- body. This was accomplished by generating the body-parsing code
- in a separate function instead of being integrated with the URI
- query parameter parsing code such that it could be called by
- paths with body parameters. This is transparent to the user of
- the API and prevents manual duplication of code or data
- structures. (closes issue ASTERISK-23051) Review:
- https://reviewboard.asterisk.org/r/3122/ Reported by: Matt Jordan
- 2014-01-20 23:18 +0000 [r405982] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Skinny: fix up handling of fragmented
- packets. Bad offset in reading second or more fragment of skinny
- packets. Fixed to offset by char (single byte) rather than size
- of req.
- 2014-01-20 22:15 +0000 [r405928] Richard Mudgett <rmudgett@digium.com>
- * /, channels/sig_pri.c: chan_dahdi/PRI: Suppress CONNECTED_LINE
- updates when nothing in the udpate is valid. * Also simplified
- some subddress handling code. (closes issue ASTERISK-23008)
- Reported by: Michael Cargile ........ Merged revisions 405926
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 405927 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-20 21:53 +0000 [r405924] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Skinny: fix up session logging. Logging
- from the skinny session loop was providing some incorrect reasons
- for exiting the loop. Cleaned up messages and handling so correct
- reason displayed.
- 2014-01-20 18:07 +0000 [r405908] Jonathan Rose <jrose@digium.com>
- * channels/chan_pjsip.c: chan_pjsip: Provide a means for tracking
- device state when holding/unholding Previously PJSIP did not
- track hold/unhold and it would always simply be 'inuse'. This
- patch fixes that. review:
- https://reviewboard.asterisk.org/r/3129/
- 2014-01-18 23:57 +0000 [r405893] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Skinny: fix reversed device reset from
- CLI. Existing code would do a full device restart when "skinny
- reset device" was entered at the CLI and do a reset when "skinny
- reset device restart" entered.
- 2014-01-17 22:05 +0000 [r405877] Sean Bright <sean@malleable.com>
- * channels/chan_sip.c: Make sure the maxptime attribute is added to
- the correct offers.
- 2014-01-17 21:32 +0000 [r405861-405875] Scott Griepentrog <sgriepentrog@digium.com>
- * main/frame.c, include/asterisk/format_pref.h,
- res/res_pjsip_sdp_rtp.c, main/format_pref.c, main/sorcery.c:
- pjsip: fix support for allow=all This change adds improvements to
- support for allow=all in pjsip.conf so that it functions as
- intended. Previously, the allow/disallow socery configuration
- would set & clear codecs from the media.codecs and media.prefs
- list, but if all was specified the prefs list was not updated.
- Then a call would fail when create_outgoing_sdp_stream() created
- an SDP with no audio codecs. A new function
- ast_codec_pref_append_all() is provided to add all codecs to the
- prefs list - only those not already on the list. This enables the
- configuration to specify a codec preference, but still add all
- codecs, and even then remove some codecs, as shown in this
- example: allow = ulaw, alaw, all, !g729, !g723 Also, the display
- order of allow in cli output is updated to match the
- configuration by using prefs instead of caps when generating a
- human readable string. Finally, a change to
- create_outgoing_sdp_stream() skips a codec when it does not have
- a payload code instead of the call failing. (closes issue
- ASTERISK-23018) Reported by: xrobau Review:
- https://reviewboard.asterisk.org/r/3131/
- * main/http.c: http: supported chunked Transfer-Encoding This
- change implements support for HTTP Transfer-Encoding chunked in
- both JSON and Form (post vars) body content. A new function
- ast_http_get_contents() handles both regular and chunked mode
- body, returning after the entire body is received. (closes issue
- ASTERISK-23068) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/3125/
- 2014-01-17 18:54 +0000 [r405777-405843] Rusty Newton <rnewton@digium.com>
- * res/res_pjsip.c: Fixing some XML syntax issues with my previous
- commit at r405777 for ASTERISK-23071
- * /, channels/chan_sip.c, doc/asterisk.8, main/features.c,
- configs/sip.conf.sample, apps/app_queue.c, apps/app_transfer.c,
- channels/chan_iax2.c: Documentation: doc fixes across various
- parts of the code for ASTERISK issues 23061,23028,23046,23027
- Fixes typos of "transfered" instead of "transferred" in various
- code. Fixes incorrect gosub param help text for app_queue. Fixes
- Asterisk man pages containing unquoted minus signs. Adds note
- about the "textsupport" option in sip.conf.sample. (issue
- ASTERISK-23061) (issue ASTERISK-23028) (issue ASTERISK-23046)
- (issue ASTERISK-23027) (closes issue ASTERISK-23061) (closes
- issue ASTERISK-23028) (closes issue ASTERISK-23046) (closes issue
- ASTERISK-23027) Reported by: Eugene, Jeremy Laine, Denis
- Pantsyrev Patches: transferred.patch uploaded by Jeremy Laine
- (license 6561) hyphen.patch uploaded by Jeremy Laine (license
- 6561) sip.conf.sample.patch uploaded by Eugene (license 6360)
- ........ Merged revisions 405791 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 405792 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_pjsip.c: res_pjsip: enhance documentation for mailboxes
- options, for both endpoints and aors Made documentation more
- explicit as to the use of the both options. (issue
- ASTERISK-23071) (closes issue ASTERISK-23071) Reported by: Matt
- Jordan
- 2014-01-16 20:05 +0000 [r405746-405748] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip/pjsip_options.c: res_pjsip: AOR option
- qualify_frequency not respected on startup If an endpoint had
- previously dynamically registered a contact and the contact
- information was successfully stored in astdb then upon restart
- the qualify notifications would not be sent out if the
- qualify_frequency was set. This was due to the fact that only
- permanent contacts were being checked and scheduled for qualifies
- on startup. Modified the code to check and schedule all
- registered contacts at startup. (closes issue ASTERISK-23062)
- Reported by: Rusty Newton Review:
- https://reviewboard.asterisk.org/r/3124/
- * main/manager.c, /: manager: Originate doesn't abort on failed
- format_cap allocation action_originate responds to the remote
- system with an error when cap==NULL, but doesn't return (abort
- the originate). Patched to return. (closes issue ASTERISK-23034)
- Reported by: Corey Farrell Patches: ASTERISK-23034.patch uploaded
- by coreyfarrell (license 5909) ........ Merged revisions 405745
- from http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-16 19:32 +0000 [r405743] Kinsey Moore <kmoore@digium.com>
- * res/res_pjsip.c: PJSIP: Fix outbound OPTIONS support When path
- support was added and contacts were made available during request
- creation and transmission, the code path used by outbound qualify
- support was not modified correctly and was causing request
- creation to fail. This ensures that outbound request creation
- with only a contact and no dialog, endpoint, or uri can succeed
- which restores qualify support. Reported by: gtjoseph Reported
- by: kharwell
- 2014-01-16 19:06 +0000 [r405643-405694] Kevin Harwell <kharwell@digium.com>
- * /, res/res_fax.c, configs/res_fax.conf.sample, UPGRADE.txt:
- res_fax: check_modem_rate() returned incorrect rate for V.27
- According to the new standard for V.27 and V.32 they are able to
- transmit at a bit rate of 4,800 or 9,600. The check_mode_rate
- function needed to be updated to reflect this. Also, because of
- this change the default 'minrate' value was updated to be 4800.
- (closes issue ASTERISK-22790) Reported by: Paolo Compagnini
- Patches: res_fax.txt uploaded by looserouting (license 6548)
- ........ Merged revisions 405656 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 405693 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_pjsip.c: chan_pjsip: initial device state on
- endpoints is INVALID When endpoints get loaded their device state
- gets set to 'INVALID' because the channel driver has not been
- loaded yet. Fixed by updating the device state for every endpoint
- upon load of the channel driver. (closes issue ASTERISK-23065)
- Reported by: Rusty Newton Review:
- https://reviewboard.asterisk.org/r/3123/
- 2014-01-15 16:48 +0000 [r405585-405587] Jonathan Rose <jrose@digium.com>
- * CHANGES: Remove subversion conflict tag accidentally left in
- CHANGES
- * CHANGES: Include CHANGES info for r405553
- 2014-01-15 16:36 +0000 [r405583] Joshua Colp <jcolp@digium.com>
- * /, cel/cel_manager.c: cel_manager: Don't crash if configuration
- file is invalid. The cel_manager module did not properly handle
- the case where the configuration file was invalid. The module
- will now output a warning message and disable itself if this
- occurs. Reported by: Bryan Walters ........ Merged revisions
- 405581 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 405582 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-15 13:14 +0000 [r405565] Kinsey Moore <kmoore@digium.com>
- * res/res_pjsip_messaging.c, UPGRADE.txt, res/res_pjsip_t38.c,
- res/res_pjsip_caller_id.c, CHANGES,
- res/res_pjsip/pjsip_options.c, res/res_pjsip.c,
- res/res_pjsip_nat.c, res/res_pjsip_session.c,
- contrib/ast-db-manage/config/versions/2fc7930b41b3_add_pjsip_endpoint_options_for_12_1.py
- (added), res/res_pjsip_header_funcs.c, res/res_pjsip/location.c,
- res/res_pjsip_outbound_registration.c, res/res_pjsip_path.c
- (added), res/res_pjsip_mwi.c, res/res_pjsip/pjsip_distributor.c,
- res/res_pjsip_diversion.c, channels/chan_pjsip.c,
- res/res_pjsip_registrar.c, res/res_pjsip_refer.c,
- include/asterisk/res_pjsip.h,
- include/asterisk/res_pjsip_session.h, res/res_pjsip_notify.c:
- PJSIP: Add Path header support This adds Path support to
- chan_pjsip in res_pjsip_path.c with minimal additions in
- res_pjsip_registrar.c to store the path and additions in
- res_pjsip_outbound_registration.c to enable advertisement of path
- support to registrars and intervening proxies. Path information
- is stored on contacts and is enabled via Address of Record (AoRs)
- and Registration configuration sections. While adding path
- support, it became necessary to be able to add SIP supplements
- that handled messages outside of sessions, so a framework for
- handling these types of hooks was added in parallel to the
- already-existing session supplements and several senders of
- out-of-dialog requests were refactored as a result. (closes issue
- ASTERISK-21084) Review: https://reviewboard.asterisk.org/r/3050/
- 2014-01-14 23:26 +0000 [r405553] Jonathan Rose <jrose@digium.com>
- * rest-api/resources.json, res/ari/ari_model_validators.c,
- res/res_stasis_mailbox.exports.in (added),
- res/ari/ari_model_validators.h, rest-api/api-docs/mailboxes.json
- (added), include/asterisk/stasis_app_mailbox.h (added),
- res/ari/resource_mailboxes.c (added), res/ari.make,
- res/res_ari_mailboxes.c (added), res/ari/resource_mailboxes.h
- (added), res/res_stasis_mailbox.c (added): ARI: Add mailboxes
- resource for controlling and polling external MWI Adds the
- following AMI commands: PUT mailboxes/mailboxName modifies
- mailbox state and implicitly creates new mailboxes GET
- mailboxes/mailboxName retrieves a JSON representation of a single
- mailbox if it exists GET mailboxes retrieves a JSON array of all
- mailboxes DELETE mailbox/mailboxName deletes a mailbox Note that
- res_mwi_external must be loaded for these functions to actually
- do anything. Review: https://reviewboard.asterisk.org/r/3117/
- 2014-01-14 21:44 +0000 [r405541] Richard Mudgett <rmudgett@digium.com>
- * main/strings.c: string container: Remove unnecessary RAII_VAR
- usage and string object lock.
- 2014-01-14 18:13 +0000 [r405435] Scott Griepentrog <sgriepentrog@digium.com>
- * /, channels/chan_sip.c: chan_sip: fix Local From tag on outbound
- register regression In ASTERISK-12117, an improvement to insure
- consistant local from tags on outbound registrations resulted in
- an undesirable behavior - caused by leftover unexpired sip_pvt
- dialogs (with the previous cseq number), resulting in many
- uncessary REGISTER requests. Instead of significant rework of
- transmit_register(), this change deletes the dialogs after a 200
- OK response indiciating a successful registration, keeping the
- old dialogs from interfering with normal operation. (closes issue
- ASTERISK-22946) Reported by: Stephan Eisvogel Review:
- https://reviewboard.asterisk.org/r/3109/ ........ Merged
- revisions 405433 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 405434 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-14 18:03 +0000 [r405432] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/logger.h, main/pbx.c, main/manager.c, /,
- funcs/func_timeout.c, apps/app_dumpchan.c, main/logger.c,
- UPGRADE.txt, apps/app_verbose.c, main/asterisk.c,
- configs/logger.conf.sample, main/cli.c: verbosity: Fix
- performance of console verbose messages. The per console verbose
- level feature as previously implemented caused a large
- performance penalty. The fix required some minor
- incompatibilities if the new rasterisk is used to connect to an
- earlier version. If the new rasterisk connects to an older
- Asterisk version then the root console verbose level is always
- affected by the "core set verbose" command of the remote console
- even though it may appear to only affect the current console. If
- an older version of rasterisk connects to the new version then
- the "core set verbose" command will have no effect. * Fixed the
- verbose performance by not generating a verbose message if
- nothing is going to use it and then filtered any generated
- verbose messages before actually sending them to the remote
- consoles. * Split the "core set debug" and "core set verbose" CLI
- commands to remove the per module verbose support that cannot
- work with the per console verbose level. * Added a silent option
- to the "core set verbose" command. * Fixed "core set debug off"
- tab completion. * Made "core show settings" list the current
- console verbosity in addition to the root console verbosity. *
- Changed the default verbose level of the 'verbose' setting in the
- logger.conf [logfiles] section. The default is now to once again
- follow the current root console level. As a result, using the AMI
- Command action with "core set verbose" could again set the root
- console verbose level and affect the verbose level logged.
- (closes issue AST-1252) Reported by: Guenther Kelleter Review:
- https://reviewboard.asterisk.org/r/3114/ ........ Merged
- revisions 405431 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-14 03:12 +0000 [r405367] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Skinny: do not add call to missed calls
- list if answered elsewhere. Patch updates skinny devices with a
- SKINNY_CONNECTED callstate if an inbound ringing or callwaiting
- call is answered elsewhere.
- 2014-01-13 17:09 +0000 [r405350] Jonathan Rose <jrose@digium.com>
- * res/res_pjsip_session.c: PJSIP: Backport r405270 - Unhold on
- reinvite without SDP Adds behavior to unhold on a reinvite
- without an SDP section Review:
- https://reviewboard.asterisk.org/r/3106/
- 2014-01-13 13:28 +0000 [r405338] Kinsey Moore <kmoore@digium.com>
- * res/res_pjsip/pjsip_cli.c: res_pjsip: Fix CLI tab completion
- issues This fixes several issues with the new res_pjsip CLI tab
- completion such as output of headers during tab completion and
- being able to tab-complete more items than the code actually
- handled (further items would simply be ignored). (closes issue
- ASTERISK-23081) Review: https://reviewboard.asterisk.org/r/3115/
- Reported by: xrobau
- 2014-01-12 22:23 +0000 [r405325] Joshua Colp <jcolp@digium.com>
- * res/ari/resource_playbacks.c, res/ari/resource_channels.c,
- include/asterisk/ari.h, res/ari/resource_bridges.c,
- res/ari/resource_recordings.c, res/ari/resource_device_states.c,
- res/res_ari.c, res/ari/resource_endpoints.c,
- res/ari/resource_applications.c: res_ari: Fix various memory
- leaks. This change fixes a few memory leaks that were found based
- on a mailing list post. 1. Some JSON response messages were never
- freed. This was caused by the documentation stating that message
- references were stolen when in reality they were not. The code
- now follows the documentation and usage has been updated. 2. HTTP
- response headers were never freed. 3. The variable list for
- wildcards paths was never freed. (closes issue ASTERISK-23128)
- Reported by: Kenneth Watson (on list) Review:
- https://reviewboard.asterisk.org/r/3119/
- 2014-01-12 21:58 +0000 [r405311-405312] Matthew Jordan <mjordan@digium.com>
- * funcs/func_cdr.c, include/asterisk/cdr.h, apps/app_cdr.c,
- main/cdr.c, apps/app_forkcdr.c: CDRs: Synchronize dialplan
- applications that manipulate CDRs with the engine In
- https://reviewboard.asterisk.org/r/3057/, applications and
- functions that manipulate CDRs were made to interact over Stasis.
- This was done to synchronize manipulations of CDRs from the
- dialplan with the updates the engine itself receives over the
- message bus. This change rested on a faulty premise: that
- messages published to the CDR topic or to a topic that forwards
- to the CDR topic are synchronized with the messages handled by
- the CDR topic subscription in the CDR engine. This is not the
- case. There is no ordering guaranteed for two messages published
- to the same topic; ordering is only guaranteed if a message is
- published to the same subscriber. Stasis was modified in r405311
- to allow a publisher to synchronize on the subscriber. This patch
- uses that API to synchronize the CDR publishers with the CDR
- engine message router, which maintains the overall topic
- subscription. (closes issue ASTERISK-22884) Reported by: Matt
- Jordan Review: https://reviewboard.asterisk.org/r/3099/
- * main/stasis.c, main/stasis_message_router.c,
- include/asterisk/stasis.h,
- include/asterisk/stasis_message_router.h, tests/test_stasis.c:
- stasis: Add methods to allow for synchronous publishing to
- subscriber This patch adds an API call to Stasis that allows a
- publisher to publish a stasis message that will not return until
- a specific subscriber handles the message. Since a subscriber can
- have their own forwarding topic which orders messages from many
- topics, this allows a publisher who knows of that subscriber to
- synchronize to that subscriber regardless of the forwarding
- relationships between topics. This is of particular use for
- dialplan applications that need to synchronize on a particular
- subscriber's handling of a message. (issue ASTERISK-22884)
- Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/3099/
- 2014-01-10 19:39 +0000 [r405298] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip/security_events.c: Print "<unknown>" for artificial
- endpoint in PJSIP security events. Previously, this printed a
- UUID, which was not very clear when dealing with an artificial
- endpoint. Review: https://reviewboard.asterisk.org/r/3113
- 2014-01-10 18:00 +0000 [r405282] Richard Mudgett <rmudgett@digium.com>
- * main/logger.c, /: Logging callid: Fix some sizeof() references
- per coding guidelines. ........ Merged revisions 405281 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-09 23:45 +0000 [r405268] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_dahdi.c: Fix chan_dahdi copile issue in dev-mode.
- Error "unused variable i in dahdi_create_channel_range" when
- compiling in dev-mode. Small restructure to
- dahdi_create_channel_range to move the for(x) loop and int i,x to
- a block within the IFDEF.
- 2014-01-09 23:36 +0000 [r405266] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_messaging.c, res/res_pjsip.c: res_pjsip_messaging:
- potential for field values in from/to headers to be missing Added
- in ability to specify display name format ("name"
- <sip:name@ipaddr:port>) for a given URI and made sure it was
- fully propagated to the outgoing message. Also made it so outoing
- messages in res_pjsip always send as "sip:". (closes issue
- ASTERISK-22924) Reported by: Anthony Messina Review:
- https://reviewboard.asterisk.org/r/3094/
- 2014-01-09 20:25 +0000 [r405253] Kinsey Moore <kmoore@digium.com>
- * main/astobj2.c, res/res_pjsip_session.c,
- include/asterisk/astobj2.h: astobj2: Correct ao2_iterator opacity
- violations This corrects the ao2_iterator opacity violations in
- res_pjsip_session.c by adding a global function to get the number
- of elements inside the container hidden behind the iterator.
- (closes issue ASTERISK-23053) Review:
- https://reviewboard.asterisk.org/r/3111/ Reported by: Richard
- Mudgett
- 2014-01-09 16:51 +0000 [r405235] Kevin Harwell <kharwell@digium.com>
- * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fails to resume
- WebRTC call from hold In ast_rtp_ice_start if the ice session
- create check list failed, start check was never initiated and
- ice_started was never set to true. Upon re-entering the function
- (for instance, [un]hold) it would try to create the check list
- again with duplicate remote candidates. Fixed so that if the
- create check list fails the necessary data structures are
- properly re-initialized for any subsequent retries. Note, it was
- decided to not stop ice support (by calling ast_rtp_ice_stop) on
- a check list failure because it possible things might still work.
- However, a debug message was added to help with any future
- troubleshooting. (closes issue ASTERISK-22911) Reported by: Vytis
- Valentinavičius Patches: works_on_my_machine.patch uploaded by
- xytis (license 6558) ........ Merged revisions 405234 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-09 15:49 +0000 [r405216] Matthew Jordan <mjordan@digium.com>
- * apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c,
- /: app_confbridge: Fix crash caused when waitmarked/marked users
- leave together When waitmarked users join a ConfBridge, the
- conference state is transitioned from EMPTY -> INACTIVE. In this
- state, the users are maintined in a waiting users list. When a
- marked user joins, the ConfBridge conference transitions from
- INACTIVE -> MULTI_MARKED, and all users are put onto the active
- list of users. This process works correctly. When the marked user
- leaves, if they are the last marked user, the MULTI_MARKED state
- does the following: (1) It plays back a message to the bridge
- stating that the leader has left the conference. This requires an
- unlocking of the bridge. (2) It moves waitmarked users back to
- the waiting list (3) It transitions to the appropriate state: in
- this case, INACTIVE However, because it plays the prompt back to
- the bridge before moving the users and before finishing the state
- transition, this creates a race condition: with the bridge
- unlocked, waitmarked users who leave the conference (or are
- kicked from it) can cause a state transition of the bridge to
- another state before the conference is transitioned to the
- INACTIVE state. This causes the state machine to get a bit wonky,
- often leading to a crash when the MULTI_MARKED state attempts to
- conclude its processing. This patch fixes this problem: (1) It
- prevents kicked users from being kicked again. That's just a
- nicety. (2) More importantly, it fixes the race condition by only
- playing the prompt once the state has transitioned correctly to
- INACTIVE. If waitmarked users sneak out during the prompt being
- played, no harm no foul. Review:
- https://reviewboard.asterisk.org/r/3108/ (closes issue AST-1258)
- Reported by: Steve Pitts ........ Merged revisions 405215 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-09 14:14 +0000 [r405162] Walter Doekes <walter+asterisk@wjd.nu>
- * /, apps/app_dumpchan.c: "Minimun" typo. ........ Merged revisions
- 405160 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 405161 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-08 16:48 +0000 [r405131] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip/security_events.c: Use proper case for checking if
- digest authentication is used.
- 2014-01-08 16:28 +0000 [r405083-405124] Kinsey Moore <kmoore@digium.com>
- * /, configure, configure.ac, pbx/pbx_lua.c: pbx_lua: Add support
- for Lua 5.2 This adds support for Lua 5.2 in pbx_lua which is
- available on newer operating systems. (closes issue
- ASTERISK-23011) Review: https://reviewboard.asterisk.org/r/3075/
- Reported by: George Joseph Patch by: George Joseph ........
- Merged revisions 405090 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 405091 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: Add the missing part of r400140 When the
- patch to add retry-on-forbidden-response was committed, part of
- the patch for chan_sip was not committed which caused the feature
- to be entirely nonfunctional. This corrects the code in question.
- (closes issue ASTERISK-17138) Review:
- https://reviewboard.asterisk.org/r/2874 ........ Merged revisions
- 405033 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 405081 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-07 19:55 +0000 [r405019-405034] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_acl.c: res_pjsip_acl: Fix another case of assuming
- a contact will always contain a URI.
- * res/res_pjsip_nat.c: res_pjsip_nat: Don't assume a Contact header
- will always contain a URI. If the 'rewrite_contact' option was
- enabled and a Contact header was received which contained a '*' a
- crash would occur. This change makes the res_pjsip_nat module
- ignore the Contact header if it contains only a '*'. (closes
- issue ASTERISK-23101) Reported by: Matt Jordan
- 2014-01-06 21:54 +0000 [r404952-405006] Richard Mudgett <rmudgett@digium.com>
- * apps/app_voicemail.c: app_voicemail: Explicitly set
- defaultenabled=yes
- * res/res_mwi_external_ami.c (added): External MWI AMI support. The
- external MWI AMI interface provides a thin wrapper around the
- core external MWI resource. The resource adds the following AMI
- actions: MWIGet, MWIDelete, and MWIUpdate. (closes issue AFS-46)
- Review: https://reviewboard.asterisk.org/r/3061/
- * apps/app_voicemail.c, res/res_mwi_external.c (added),
- configs/sorcery.conf.sample, include/asterisk/res_mwi_external.h
- (added), res/res_mwi_external.exports.in (added): External MWI
- core support. * The core external MWI resource provides for MWI
- message counts persistence using sorcery. With sorcery, the user
- is able to configure which sorcery wizzard backend to use if the
- default astdb is not desired. * The core external MWI resoruce
- provides some debugging CLI commands enabled by defining
- MWI_DEBUG_CLI. The debugging CLI commands are: "mwi delete all",
- "mwi delete like <regex>", "mwi delete mailbox <mailbox>", "mwi
- list all", "mwi list like <regex>", "mwi show mailbox <mailbox>",
- and "mwi update mailbox <mailbox> [<new> [<old>]]". (closes issue
- AFS-43) Review: https://reviewboard.asterisk.org/r/3061/
- 2014-01-05 16:00 +0000 [r404923-404935] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_outbound_registration.c:
- res_pjsip_outbound_registration: Don't assume that a registration
- client will always exist.
- * res/res_pjsip_outbound_registration.c:
- res_pjsip_outbound_registration: Create registration client in pj
- thread. Depending on which threading was loading the outbound
- registration it was possible for the registration client to be
- allocated outside of a pj thread. This change moves the creation
- inside the synchronous task where it is guaranteed it will occur
- in a pj thread. Reported by: Rob Thomas
- 2014-01-04 10:42 +0000 [r404911] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
- * main/asterisk.c, /: asterisk.c: suppress live_dangerously warning
- on rasterisk Even since the fixes of AST-2013-007, Asterisk
- prints the following warning on startup if the user decided to
- live dangerously: Privilege escalation protection disabled! See
- https://wiki.asterisk.org/wiki/x/1gKfAQ for more details. This
- message is intended for the logs and interactive startup. No need
- for it to appear on a remote console. This commit removes it from
- there. (closes issue ASTERISK-23084) Review:
- https://reviewboard.asterisk.org/r/3101/ ........ Merged
- revisions 404861 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 404888 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-03 21:59 +0000 [r404859] Kevin Harwell <kharwell@digium.com>
- * /, cel/cel_pgsql.c: cel_pgsql: module not correctly reloading
- Upon reload the module unconditionally "unloaded" the module
- (freeing memory and setting pointers to NULL) and then when
- attempting a "load" if the config file had not changed then
- nothing would be reinitialized. By moving the "unload" to occur
- conditionally (reload only) after an attempted configuration
- load, but before module "loading" alleviates the issue. The
- module now loads/unloads/reloads correctly. (closes issue
- ASTERISK-22871) Reported by: Matteo ........ Merged revisions
- 404857 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 404858 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-03 21:45 +0000 [r404843-404855] Matthew Jordan <mjordan@digium.com>
- * res/res_pjsip_logger.c: res_pjsip_logger: Add the
- ASTERISK_FILE_VERSION macro Registering yourself with the
- Asterisk core is the nice thing to do, even when you're a logging
- module.
- * res/res_pjsip_authenticator_digest.c, tests/test_utils.c:
- res_pjsip_authenticator_digest: Fix md5 hash buffer An md5 hash
- is 32 bytes long. The char buffer must be at least 33 bytes to
- avoid clobbering of the stack. This patch also fixes a potential
- clobbering in test_utils.c. Thanks to Andrew Nagy for reporting
- and testing this out in #asterisk-dev Reported by: Andrew Nagy
- Tested by: Andrew Nagy
- 2014-01-03 19:00 +0000 [r404781-404786] Kevin Harwell <kharwell@digium.com>
- * channels/chan_dahdi.c, /: chan_dahdi: dahdi show channels slices
- PRI channel dnid on output dahdi show channels output slices the
- callerid (which is dnid copied over on PRI channels). If the
- channel naming structures look like: 'DAHDI/i1/1408409XXXX-6'
- then the output slices 1408409XXXX down to 1408409XXX. This patch
- just opens it up to 15 chars so you can see the whole thing.
- (closes issue ASTERISK-22918) Reported by: outtolunc Patches:
- svn_chan_dahdi.c.format12_15.diff.txt uploaded by outtolunc
- (license 5198) ........ Merged revisions 404784 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 404785 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_meetme.c: app_meetme: compiler warning Fixed a
- compiler warning (errors in 'dev-mode') given by gcc version
- 4.8.1. The one in app_meetme involved the
- 'sizeof-pointer-memaccess' (see:
- http://gcc.gnu.org/gcc-4.8/porting_to.html) warning. Fixed so it
- would no longer issue a warning and can compile again in
- 'dev-mode'. Review: https://reviewboard.asterisk.org/r/3098/
- ........ Merged revisions 404742 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 404773 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-03 18:24 +0000 [r404764] Richard Mudgett <rmudgett@digium.com>
- * tests/test_stasis.c: test_stasis.c: Fix ref leak in normal
- execution path.
- 2014-01-03 17:25 +0000 [r404725-404737] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip/pjsip_configuration.c, res/res_pjsip/location.c:
- res_pjsip: Ensure more URI validation happens in pj threads.
- * res/res_pjsip_outbound_registration.c:
- res_pjsip_outbound_registration: Ensure URI validation happens in
- a pjlib thread. This change moves outbound registration URI
- validation into the task executed within a pjlib thread. Reported
- by: Andrew Nagy
- 2014-01-02 19:37 +0000 [r404676] Scott Griepentrog <sgriepentrog@digium.com>
- * /, funcs/func_strings.c: func_strings: use memmove to prevent
- overlapping memory on strcpy When calling REPLACE() with an empty
- replace-char argument, strcpy is used to overwrite the the
- matching <find-char>. However as the src and dest arguments to
- strcpy must not overlap, it causes other parts of the string to
- be overwritten with adjacent characters and the result is
- mangled. Patch replaces call to strcpy with memmove and adds a
- test suite case for REPLACE. (closes issue ASTERISK-22910)
- Reported by: Gareth Palmer Review:
- https://reviewboard.asterisk.org/r/3083/ Patches:
- func_strings.patch uploaded by Gareth Palmer (license 5169)
- ........ Merged revisions 404674 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 404675 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2014-01-02 19:06 +0000 [r404663] Kevin Harwell <kharwell@digium.com>
- * channels/chan_pjsip.c, include/asterisk/res_pjsip.h,
- configs/pjsip.conf.sample, res/res_pjsip/pjsip_configuration.c,
- CHANGES, res/res_pjsip.c: res_pjsip: add 'set_var' support on
- endpoints Added a new 'set_var' option for ast_sip_endpoint(s).
- For each variable specified that variable gets set upon creation
- of a pjsip channel involving the endpoint. (closes issue
- ASTERISK-22868) Reported by: Joshua Colp Review:
- https://reviewboard.asterisk.org/r/3095/
- 2013-12-31 22:49 +0000 [r404613-404652] Joshua Colp <jcolp@digium.com>
- * channels/chan_pjsip.c, res/res_pjsip_session.c: chan_pjsip:
- Handle hanging up before calling. Channel creation in Asterisk is
- broken up into two steps: requesting and calling. In some cases a
- channel may be requested but never called. This happens in the
- ChanIsAvail dialplan application for determining if something is
- reachable or not. The PJSIP channel driver did not take this
- situation into account and attempted to end a session that was
- never called out on. The code now checks the session state to
- determine if the session has been called out on and if not
- terminates it instead of ending it. (closes issue ASTERISK-23074)
- Reported by: Kilburn
- * res/res_pjsip_endpoint_identifier_ip.c:
- res_pjsip_endpoint_identifier_ip: Accept hostnames in the 'match'
- field. Hostnames specified in the 'match' field will be resolved
- and all addresses returned. Each address will be added to the
- endpoint identifier for the matching process. Reported by: Rob
- Thomas
- 2013-12-31 21:38 +0000 [r404605] Kevin Harwell <kharwell@digium.com>
- * /, cel/cel_pgsql.c: cel_pgsql: deadlock on unload and
- core_event_dispatcher A deadlock can happen between a thread
- unloading or reloading the cel_pgsql module and the
- core_event_dispatcher taskprocessor thread. Description of what
- is happening: Thread 1 (for example, a netconsole thread): a
- "module reload cel_pgsql" is launched the thread enter the
- "my_unload_module" function (cel_pgsql.c) the thread acquire the
- write lock on psql_columns the thread enter the
- "ast_event_unsubscribe" function (event.c) the thread try to
- acquire the write lock on ast_event_subs[sub->type] Thread 2
- (core_event_dispatcher taskprocessor thread): the taskprocessor
- pop a CEL event the thread enter the "handle_event" function
- (event.c) the thread acquire the read lock on
- ast_event_subs[sub->type] the thread callback the "pgsql_log"
- function (cel_pgsql.c), since it's a subscriber of CEL events the
- thread try to acquire a read lock on psql_columns (closes issue
- ASTERISK-22854) Reported by: Etienne Lessard Patches:
- cel_pgsql_fix_deadlock_event.patch uploaded by hexanol (license
- 6394) ........ Merged revisions 404603 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 404604 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-31 20:26 +0000 [r404592] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_outbound_registration.c:
- res_pjsip_outbound_registration: Add validation for 'server_uri'
- and 'client_uri'. When applying configuration for outbound
- registrations the 'server_uri' and 'client_uri' fields were not
- validated. The code will now confirm that they exist and that
- they contain parseable SIP URIs. Reported by: Andrew Nagy
- 2013-12-30 23:21 +0000 [r404581] Kevin Harwell <kharwell@digium.com>
- * main/channel.c, /: channels.c: core show channeltypes slicing
- 'core show channeltypes' type column is being sliced, resulting
- in incomplete type names. (closes issue ASTERISK-22919) Reported
- by: outtolunc Patches: svn_channel.c.format_15.diff.txt uploaded
- by outtolunc (license 5198) ........ Merged revisions 404579 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-24 17:10 +0000 [r404565-404568] David M. Lee <dlee@digium.com>
- * UPGRADE.txt: Added note to UPGRADE.txt about the default value of
- live_dangerously changing
- * main/http.c: http: Properly reject requests with
- Transfer-Encoding set Asterisk does not support any of the
- transfer encodings specified in HTTP/1.1, other than the default
- "identity" encoding. According to RFC 2616: A server which
- receives an entity-body with a transfer-coding it does not
- understand SHOULD return 501 (Unimplemented), and close the
- connection. A server MUST NOT send transfer-codings to an
- HTTP/1.0 client. This patch adds the 501 Unimplemented response,
- instead of the hard work of actually implementing other
- recordings. This behavior is especially problematic for Node.js
- clients, which use chunked encoding by default. (closes issue
- ASTERISK-22486) Review: https://reviewboard.asterisk.org/r/3092/
- 2013-12-24 02:19 +0000 [r404553] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_pubsub.c: res_pjsip_pubsub: Ensure dialog
- manipulation happens on proper thread. When destroying a
- subscription we remove the serializer from its dialog and
- decrease its reference count. Depending on which thread dropped
- the subscription reference count to 0 it was possible for this to
- occur in a thread where it is not possible. (closes issue
- ASTERISK-22952) Reported by: Matt Jordan
- 2013-12-21 03:34 +0000 [r404531] Matthew Jordan <mjordan@digium.com>
- * res/res_pjsip/pjsip_cli.c: res_pjsip/pjsip_cli: fix compilation
- error caused by passing ast_free When wanting to pass *free as a
- function pointer, ast_free_ptr has to be used instead of
- ast_free. This allows it to be compiled with MALLOC_DEBUG
- enabled.
- 2013-12-20 22:02 +0000 [r404509] David M. Lee <dlee@digium.com>
- * res/ari/resource_channels.h, rest-api/api-docs/applications.json,
- rest-api/api-docs/channels.json, res/ari/resource_channels.c,
- res/res_ari_channels.c: ari: Remove support for specifying
- channel vars during origination. When we added support for
- specifying channel variables for an origination, we didn't
- consider how that would interact with another feature, namely
- specifying request parameters in a JSON request body. The method
- of specifying channel variables (as a flat JSON object passed in
- the JSON body) interferes with parsing parameters out of the
- request body. Unfortunately, fixing this would be a backward
- incompatible change. In the interest of keeping the API sane and
- keeping our release schedule, we're dropping the feature for
- specifying channel variables in the origination request. We will
- bring the feature back soon, as a backward compatible addition to
- the API. (closes issue ASTERISK-23051) Review:
- https://reviewboard.asterisk.org/r/3088
- 2013-12-20 Asterisk Development Team <asteriskteam@digium.com>
- * Asterisk 12.0.0 Released.
- 2013-12-20 22:02 +0000 [r404509] David M. Lee <dlee@digium.com>
- * rest-api/api-docs/channels.json, res/ari/resource_channels.c,
- res/res_ari_channels.c, res/ari/resource_channels.h,
- rest-api/api-docs/applications.json: ari: Remove support for
- specifying channel vars during origination. When we added support
- for specifying channel variables for an origination, we didn't
- consider how that would interact with another feature, namely
- specifying request parameters in a JSON request body. The method
- of specifying channel variables (as a flat JSON object passed in
- the JSON body) interferes with parsing parameters out of the
- request body. Unfortunately, fixing this would be a backward
- incompatible change. In the interest of keeping the API sane and
- keeping our release schedule, we're dropping the feature for
- specifying channel variables in the origination request. We will
- bring the feature back soon, as a backward compatible addition to
- the API. (closes issue ASTERISK-23051) Review:
- https://reviewboard.asterisk.org/r/3088
- 2013-12-20 21:25 +0000 [r404480-404488] Matthew Jordan <mjordan@digium.com>
- * /: Remove automerge properties
- * res/res_pjsip/pjsip_cli.c (added), include/asterisk/sorcery.h,
- res/res_pjsip/pjsip_configuration.c,
- res/res_pjsip/include/res_pjsip_private.h,
- res/res_pjsip_registrar.c, main/sorcery.c,
- include/asterisk/res_pjsip.h, CREDITS,
- res/res_pjsip/config_auth.c, /,
- res/res_pjsip_endpoint_identifier_ip.c,
- include/asterisk/config.h, main/config.c, main/channel.c,
- res/res_pjsip/location.c, include/asterisk/res_pjsip_cli.h
- (added): res_pjsip: Add PJSIP CLI commands Implements the
- following cli commands: pjsip list aors pjsip list auths pjsip
- list channels pjsip list contacts pjsip list endpoints pjsip show
- aor(s) pjsip show auth(s) pjsip show channels pjsip show
- endpoint(s) Also... Minor modifications made to the AMI command
- implementations to facilitate reuse. New function
- ast_variable_list_sort added to config.c and config.h to
- implement variable list sorting. (issue ASTERISK-22610) patches:
- pjsip_cli_v2.patch uploaded by george.joseph (License 6322)
- 2013-12-20 21:16 +0000 [r404458] Scott Griepentrog <sgriepentrog@digium.com>
- * /, main/say.c: say.c: correct time for polish In
- ast_say_date_with_format_pl(), change ast_say_number() to use
- tm_sec instead of tm_mn. (closes issue ASTERISK-22856) Reported
- by: Robert Mordec Review:
- https://reviewboard.asterisk.org/r/3082/ Patches: say.c.patch
- uploaded by veilen (license 6555) ........ Merged revisions
- 404456 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 404457 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-20 20:11 +0000 [r404439] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_refer.c: Fix issue where PJSIP blind transferer
- dialog may not complete as planned. When transferring to a
- dialplan extension that will not place any outbound calls, the
- only control frames that the PJSIP REFER framehook will receive
- are inconsequential (such as unhold or srcchange). As such, we
- shouldn't allow for the reception of those types of frames
- prevent us from signaling to the transferring party that the
- transfer has completed successfully once voice frames are read.
- Thanks to Jonathan Rose for pointing this out.
- 2013-12-20 20:04 +0000 [r404437] Matthew Jordan <mjordan@digium.com>
- * res/ari/resource_applications.h, res/res_stasis_device_state.c:
- res_stasis_device_state: Set resource type for subscriptions to
- deviceState The documentation for ARI already specifies that the
- device state resource when used for subscribing for events is
- "deviceState", not "device_state". The code, however, used
- "device_state"; although this was inconsistent as well in doxygen
- comments in resource_applications. Because the actual resource
- being subscribed to is /deviceStates/{device}/, it makes sense
- for the resource type specifier to be deviceState. Note that the
- key value in the events is still "device_state".
- 2013-12-20 19:52 +0000 [r404434] Richard Mudgett <rmudgett@digium.com>
- * res/res_pjsip/location.c, tests/test_cel.c,
- res/ari/resource_channels.c, tests/test_scoped_lock.c,
- tests/test_stasis.c, res/parking/parking_manager.c,
- res/ari/resource_bridges.c, res/ari/resource_endpoints.c:
- ao2_iterator: Mini-audit of the ao2_iterator loops in the new
- code files. * Fixed several places where ao2_iterator_destroy()
- was not called. * Fixed several iterator loop object variable
- reference problems. * Fixed res_parking AMI actions returning
- non-zero. Only the AMI logoff action can return non-zero. Review:
- https://reviewboard.asterisk.org/r/3087/
- 2013-12-20 19:17 +0000 [r404421] Matthew Jordan <mjordan@digium.com>
- * include/asterisk/manager.h: manager: bump version to 2.0.0 AMI
- has received substantial updates over the past year. Not only has
- the syntax been vastly improved and made consistent (which
- entails many event changes), but the underlying things that those
- events convey have changed substantially as well. After some
- conversation in #asterisk-dev, it was agreed that this is a good
- time to jump to 2. At the same time, since ARI will most likely
- use semantic versioning, we might as well use that for AMI as
- well. That also affords us greater meaning for the AMI version.
- 2013-12-20 19:06 +0000 [r404419] Richard Mudgett <rmudgett@digium.com>
- * main/sounds_index.c: Whitespace fixes.
- 2013-12-20 17:21 +0000 [r404405] Rusty Newton <rnewton@digium.com>
- * configs/pjsip.conf.sample: Documentation: Updates for info about
- NAT-related settings and fixes for pjsip.conf.sample Added
- another NAT example to pjsip.conf.sample. We had a few mentions
- of NAT configuration throughout the sample, but I added another
- for a little bit more clarity. Additionally many pjsip options
- were affected by the change to snake case, so I fixed any
- instances of those options in pjsip.conf. I regenerated the
- config option list (at the bottom of the file) from a new xml
- config doc dump, so all the snake case changes should be
- reflected there, as well as any other changes to those options.
- (issue ASTERISK-23004) (closes issue ASTERISK-23004) Reported by:
- Matt Jordan Review: https://reviewboard.asterisk.org/r/3086/
- 2013-12-19 18:15 +0000 [r404375] Richard Mudgett <rmudgett@digium.com>
- * CHANGES: Put notice in CHANGES as well as UPGRADE.txt.
- 2013-12-19 17:58 +0000 [r404369-404371] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip/pjsip_outbound_auth.c: res_pjsip: Ignore 401/407
- responses for transactions and dialogs we don't know about. Under
- normal conditions it is unlikely we will ever receive a response
- for a transaction or dialog we don't know about but if any are
- received ignore them.
- * res/res_pjsip_session.c: res_pjsip_session: Fix SDP negotiation
- when resending an INVITE with authentication. The process for
- resending an INVITE with authentication involves restarting the
- UAC session. We were incorrectly passing in that a new offer is
- being sent, causing the SDP negotiation to get into a
- (technically speaking) funky state.
- 2013-12-19 17:15 +0000 [r404356] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/channel.h, res/res_pjsip.c, main/channel.c,
- include/asterisk/autochan.h: Fix a deadlock that occurred due to
- a conflict of masquerades. For the explanation, here is a
- copy-paste of the review board explanation: Initially, it was
- discovered that performing an attended transfer of a multiparty
- bridge with a PJSIP channel would cause a deadlock. A PBX thread
- started a masquerade and reached the point where it was calling
- the fixup() callback on the "original" channel. For chan_pjsip,
- this involves pushing a synchronous task to the session's
- serializer. The problem was that a task ahead of the fixup task
- was also attempting to perform a channel masquerade. However,
- since masquerades are designed in a way to only allow for one to
- occur at a time, the task ahead of the fixup could not continue
- until the masquerade already in progress had completed. And of
- course, the masquerade in progress could not complete until the
- task ahead of the fixup task had completed. Deadlock. The initial
- fix was to change the fixup task to be asynchronous. While this
- prevented the deadlock from occurring, it had the frightful side
- effect of potentially allowing for tasks in the session's
- serializer to operate on a zombie channel. Taking a step back
- from this particular deadlock, it became clear that the problem
- was not really this one particular issue but that masquerades
- themselves needed to be addressed. A PJSIP attended transfer
- operation calls ast_channel_move(), which attempts to both set up
- and execute a masquerade. The problem was that after it had set
- up the masquerade, the PBX thread had swooped in and tried to
- actually perform the masquerade. Looking at changes that had been
- made to Asterisk 12, it became clear that there never is any time
- now that anyone ever wants to set up a masquerade and allow for
- the channel thread to actually perform the masquerade. Everyone
- always is calling ast_channel_move(), performs the masquerade
- itself before returning. In this patch, I have removed all blocks
- of code from channel.c that will attempt to perform a masquerade
- if ast_channel_masq() returns true. Now, there is no distinction
- between setting up a masquerade and performing the masquerade. It
- is one operation. The only remaining checks for
- ast_channel_masq() and ast_channel_masqr() are in ast_hangup()
- since we do not want to interrupt a masquerade by hanging up the
- channel. Instead, now ast_hangup() will wait for a masquerade to
- complete before moving forward with its operation. The
- ast_channel_move() function has been modified to basically
- in-line the logic that used to be in ast_channel_masquerade().
- ast_channel_masquerade() has been killed off for real.
- ast_channel_move() now has a lock associated with it that is used
- to prevent any simultaneous moves from occurring at once. This
- means there is no need to make sure that ast_channel_masq() or
- ast_channel_masqr() are already set on a channel when
- ast_channel_move() is called. It also means the channel container
- lock is not pulling double duty by both keeping the container
- locked and preventing multiple masquerades from occurring
- simultaneously. The ast_do_masquerade() function has been renamed
- to do_channel_masquerade() and is now internal to channel.c. The
- function now takes explicit arguments of which channels are
- involved in the masquerade instead of a single channel. While it
- probably is possible to do some further refactoring of this
- method, I feel that I would be treading dangerously. Instead, all
- I did was change some comments that no longer are true after this
- changeset. The other more minor change introduced in this patch
- is to res_pjsip.c to make ast_sip_push_task_synchronous() run the
- task in-place if we are already a SIP servant thread. This is
- related to this patch because even when we isolate the channel
- masquerade to only running in the SIP servant thread, we would
- still deadlock when the fixup() callback is reached since we
- would essentially be waiting forever for ourselves to finish
- before actually running the fixup. This makes it so the fixup is
- run without having to push a task into a serializer at all.
- (closes issue ASTERISK-22936) Reported by Jonathan Rose Review:
- https://reviewboard.asterisk.org/r/3069
- 2013-12-19 17:03 +0000 [r404354] Richard Mudgett <rmudgett@digium.com>
- * main/udptl.c, addons/chan_ooh323.c, channels/chan_sip.c,
- include/asterisk/udptl.h: udptl: Dead code elimination.
- ast_udptl_bridge was not used. Removing dead code starting with
- ast_udptl_bridge() eliminated the code in this change. Note: This
- code has actually been dead since Asterisk v1.4 when it was first
- put in. Review: https://reviewboard.asterisk.org/r/3079/
- 2013-12-19 17:02 +0000 [r404352] Scott Griepentrog <sgriepentrog@digium.com>
- * /, res/res_fax.c: res_fax.c: crash on framehook with no dsp in
- fax detect In fax_detect_framehook() a null pointer reference can
- occur where a voice frame is processed but no dsp is attached to
- the fax detection structure. The code block that rejects frames
- that detection cannot be processed on is checking for dsp but
- falls through when it should instead return, as this change
- implements. (closes issue ASTERISK-22942) Reported by: adomjan
- Review: https://reviewboard.asterisk.org/r/3076/ ........ Merged
- revisions 404351 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-19 16:37 +0000 [r404348] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_dahdi.h, channels/chan_h323.c, main/app.c,
- configs/sip.conf.sample, channels/sip/include/sip.h,
- channels/chan_mgcp.c, apps/app_voicemail.c,
- channels/chan_unistim.c, configs/chan_dahdi.conf.sample,
- channels/chan_sip.c, configs/voicemail.conf.sample,
- funcs/func_vmcount.c, UPGRADE.txt, res/res_xmpp.c,
- configs/skinny.conf.sample, res/res_jabber.c, CHANGES,
- channels/chan_iax2.c, channels/h323/chan_h323.h,
- channels/sig_pri.c, configs/iax.conf.sample, channels/sig_pri.h,
- include/asterisk/app.h, channels/chan_dahdi.c,
- channels/chan_skinny.c: Voicemail: Remove mailbox identifier
- format (box@context) assumptions in the system. This change is in
- preparation for external MWI support. Removed code from the
- system for normal mailbox handling that appends @default to the
- mailbox identifier if it does not have a context. The only
- exception is the legacy hasvoicemail users.conf option. The
- legacy option will only work for app_voicemail mailboxes. The
- system cannot make any assumptions about the format of the
- mailbox identifer used by app_voicemail. chan_sip and
- chan_dahdi/sig_pri had the most changes because they both tried
- to interpret the mailbox identifier. chan_sip just stored and
- compared the two components. chan_dahdi actually used the box
- information. The ISDN MWI support configuration options had to be
- reworked because chan_dahdi was parsing the box@context format to
- get the box number. As a result the mwi_vm_boxes chan_dahdi.conf
- option was added and is documented in the chan_dahdi.conf.sample
- file. Review: https://reviewboard.asterisk.org/r/3072/
- 2013-12-19 16:31 +0000 [r404345] Scott Griepentrog <sgriepentrog@digium.com>
- * /, main/db.c: astdb: crash in sqlite3 during shutdown When
- Asterisk is shut down, the astdb_atexit() function releases
- (finalize) the previously initiated (prepared) SQL statements in
- sqlite3. Another thread making a subsequent request can cause a
- crash in sqlite3. This patch eliminates that issue by resetting
- the statement pointer after it is released/cleared. The sqlite3
- code detects the null pointer, and aborts the operation cleanly.
- (closes issue AST-1265) Reported by: Alexander Hömig (closes
- issue ASTERISK-22350) Reported by: Birger "WIMPy" Harzenetter
- Review: https://reviewboard.asterisk.org/r/3078/ ........ Merged
- revisions 404344 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-19 12:17 +0000 [r404332] Joshua Colp <jcolp@digium.com>
- * main/channel.c: channel: Add a missing ast_channel_unlock when
- allocating a Surrogate channel.
- 2013-12-19 08:19 +0000 [r404320] Alexandr Anikin <may@telecom-service.ru>
- * addons/ooh323c/src/oochannels.c, addons/ooh323c/src/ooGkClient.c,
- addons/chan_ooh323.c, /, addons/ooh323c/src/ooGkClient.h: Handle
- temporary failures on gk registration Introduce new 'stopped'
- state for gk client and restart gk client on failures Remove
- ooh323 stack command lock as it is not need now. (closes issue
- ASTERISK-21960) Reported by: Dmitry Melekhov Patches:
- ASTERISK-21960.patch ASTERISK-21960-stacklockup-2.patch Tested
- by: Dmitry Melekhov ........ Merged revisions 404318 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-19 02:53 +0000 [r404306] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Fixup some skinny bugs causing Fracks and
- ao2 cleanup issues. Moved channel locking into setsubstate so
- that a process can complete working on a sub before another
- starts changing it. The existing code was causing some Fracks
- with schedule deletion. Removed multiple rtp cleanup. Now only
- cleansup up once, fixing ao2 object cleanup issues.
- 2013-12-19 00:47 +0000 [r404294] Matthew Jordan <mjordan@digium.com>
- * apps/app_cdr.c, main/cdr.c, apps/app_forkcdr.c, main/pbx.c,
- funcs/func_cdr.c, apps/app_disa.c, UPGRADE.txt,
- include/asterisk/cdr.h, CHANGES: app_cdr,app_forkcdr,func_cdr:
- Synchronize with engine when manipulating state When doing the
- rework of the CDR engine that pushed all of the logic into cdr.c
- and made it respond to changes in channel state over Stasis, we
- knew that accessing the CDR engine from the dialplan would be
- "slightly" non-deterministic. Dialplan threads would be accessing
- CDRs while Stasis threads would be updating the state of said
- CDRs - whereas in the past, everything happened on the dialplan
- threads. Tests have shown that "slightly" is in reality "very".
- This patch synchronizes things by making the dialplan
- applications/functions that manipulate CDRs do so over Stasis.
- ForkCDR, NoCDR, ResetCDR, CDR, and CDR_PROP now all use Stasis to
- send their requests over to the CDR engine, and synchronize on
- the channel Stasis topic via a subscription so that they return
- their values/control to the dialplan at the appropriate time.
- While going through this, the following changes were also made: *
- DISA, which can reset the CDR when a user successfully
- authenticates, now just uses the ResetCDR app to do this. This
- prevents having to duplicate the same Stasis synchronization
- logic in that application. * Answer no longer disables CDRs. It
- actually didn't work anyway - calling DISABLE on the channel's
- CDR doesn't stop the CDR from getting the Answer time - it just
- kills all CDRs on that channel, which isn't what the caller would
- intend. (closes issue ASTERISK-22884) (closes issue
- ASTERISK-22886) Review: https://reviewboard.asterisk.org/r/3057/
- 2013-12-19 00:29 +0000 [r404292] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Fixup skinny registration following
- network issues. On session registration, if device is already
- reporting that it is connected to a device, an innocuous packet
- (update time) is sent to the already connected device. If the tcp
- connection is down, the device will be unregistered and the new
- connection allowed. Without this patch, network issues can see a
- situation where a device can not reregister until after
- 3*timeout.
- 2013-12-18 22:50 +0000 [r404279] Jason Parker <jparker@digium.com>
- * main/manager.c, /: Add AMI event for presence state. Review:
- https://reviewboard.asterisk.org/r/3039/ ........ Merged
- revisions 404275 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-18 20:57 +0000 [r404263] Richard Mudgett <rmudgett@digium.com>
- * addons/ooh323c/src/ooTimer.c, /: ooh323c: Fix gcc 4.6.3 compiler
- warnings. ........ Merged revisions 404212 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 404219 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-18 20:46 +0000 [r404237-404261] Kevin Harwell <kharwell@digium.com>
- * channels/chan_oss.c: chan_oss.c: channel being locked twice and
- unlocked once Removed channel lock as it is now being down in
- ast_channel_alloc
- * main/pickup.c, include/asterisk/aoc.h,
- include/asterisk/stasis_bridges.h, apps/app_disa.c,
- apps/app_userevent.c, include/asterisk/channelstate.h,
- channels/chan_console.c, main/core_local.c, channels/chan_iax2.c,
- main/endpoints.c, channels/chan_oss.c,
- res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
- main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c,
- pbx/pbx_realtime.c, channels/chan_alsa.c, main/stasis_channels.c,
- main/bridge_channel.c, addons/chan_mobile.c,
- res/parking/parking_manager.c, channels/chan_pjsip.c,
- tests/test_cdr.c, channels/chan_mgcp.c, channels/chan_unistim.c,
- main/pbx.c, funcs/func_timeout.c, apps/app_meetme.c,
- main/bridge.c, tests/test_stasis_channels.c,
- include/asterisk/channel.h, channels/chan_gtalk.c, main/cel.c,
- apps/app_queue.c, channels/sig_pri.c, main/stasis_bridges.c,
- channels/chan_jingle.c, main/dial.c, channels/chan_dahdi.c,
- channels/chan_phone.c, include/asterisk/stasis_channels.h,
- channels/sig_analog.c, res/res_agi.c, channels/chan_motif.c,
- tests/test_cel.c, apps/app_confbridge.c, res/res_stasis.c,
- res/res_pjsip_refer.c, apps/app_voicemail.c, apps/app_dial.c,
- channels/chan_vpb.cc, addons/chan_ooh323.c: channel locking: Add
- locking for channel snapshot creation Original commit message by
- mmichelson (asterisk 12 r403311): "This adds channel locks around
- calls to create channel snapshots as well as other functions
- which operate on a channel and then end up creating a channel
- snapshot. Functions that expect the channel to be locked prior to
- being called have had their documentation updated to indicate
- such." The above was initially committed and then reverted at
- r403398. The problem was found to be in core_local.c in the
- publish_local_bridge_message function. The ast_unreal_lock_all
- function locks and adds a reference to the returned channels and
- while they were being unlocked they were not being unreffed when
- no longer needed. Fixed by unreffing the channels. Also in
- bridge.c a lock was obtained on "other->chan", but then an
- attempt was made to unlock "other" and not the previously locked
- channel. Fixed by unlocking "other->chan" (closes issue
- ASTERISK-22709) Reported by: John Bigelow
- 2013-12-18 19:20 +0000 [r404204] Joshua Colp <jcolp@digium.com>
- * main/channel.c, channels/chan_dahdi.c, channels/chan_phone.c,
- channels/chan_skinny.c, res/parking/parking_tests.c,
- tests/test_voicemail_api.c, channels/chan_motif.c,
- channels/chan_alsa.c, main/message.c, addons/chan_mobile.c,
- tests/test_cdr.c, channels/chan_mgcp.c, main/pbx.c,
- channels/chan_sip.c, tests/test_app.c,
- apps/confbridge/conf_chan_record.c, tests/test_stasis_channels.c,
- main/core_unreal.c, include/asterisk/channel.h,
- channels/chan_console.c, channels/chan_oss.c,
- channels/chan_jingle.c, channels/chan_misdn.c,
- channels/chan_h323.c, tests/test_cel.c, channels/chan_nbs.c,
- channels/chan_pjsip.c, apps/app_voicemail.c, res/res_calendar.c,
- channels/chan_unistim.c, tests/test_substitution.c,
- addons/chan_ooh323.c, channels/chan_vpb.cc,
- channels/chan_multicast_rtp.c, apps/app_meetme.c,
- res/res_stasis_snoop.c, channels/chan_gtalk.c,
- channels/chan_iax2.c: channels: Return allocated channels locked.
- This change makes ast_channel_alloc return allocated channels
- locked. By doing so no other thread can acquire, lock, and
- manipulate the channel before it is completely set up. (closes
- issue AST-1256) Review: https://reviewboard.asterisk.org/r/3067/
- 2013-12-18 12:36 +0000 [r404184] Matthew Jordan <mjordan@digium.com>
- * rest-api/api-docs/bridges.json,
- rest-api/api-docs/recordings.json,
- rest-api/api-docs/deviceStates.json,
- rest-api/api-docs/endpoints.json, rest-api/api-docs/events.json,
- rest-api/api-docs/asterisk.json,
- rest-api/api-docs/applications.json,
- rest-api/api-docs/playbacks.json,
- rest-api/api-docs/channels.json, rest-api/api-docs/sounds.json,
- rest-api/resources.json: ari: Bump the version of ARI to 1.0.0
- (closes issue ASTERISK-23007)
- 2013-12-18 12:00 +0000 [r404137] Joshua Colp <jcolp@digium.com>
- * res/res_calendar.c, /: res_calendar: Protect channel when adding
- datastore. This change adds a missing channel lock when adding a
- datastore to a channel. ........ Merged revisions 404135 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 404136 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-18 00:35 +0000 [r404099] Rusty Newton <rnewton@digium.com>
- * /, funcs/func_strings.c: func_strings: Documentation fix for
- QUOTE() Example output was inaccurate. (issue ASTERISK-22970)
- (closes issue ASTERISK-22970) Reported by: Gareth Palmer Patches:
- func_strings.patch uploaded by Gareth Palmer (license 5169)
- ........ Merged revisions 404081 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 404087 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-18 00:16 +0000 [r404050] Matthew Jordan <mjordan@digium.com>
- * LICENSE: LICENSE: Update language to include ARI
- 2013-12-17 23:50 +0000 [r404048] Jonathan Rose <jrose@digium.com>
- * tests/test_cel.c, tests/test_cdr.c: tests: fix
- ast_bridge_base_new calls not using the additional arguments
- r404042 gave ast_bridge_base_new two new arguments for setting a
- bridge creator and name. Unfortunately since a couple test
- modules aren't compiled by default, I missed the fact that this
- change impacted those tests and caused compilation failures
- against them.
- 2013-12-17 23:36 +0000 [r404046] Rusty Newton <rnewton@digium.com>
- * include/asterisk/test.h, main/channel.c, main/rtp_engine.c,
- channels/chan_iax2.c, apps/app_chanspy.c, apps/app_mixmonitor.c:
- Several components: fixing Typos in comments and code,
- "avaliable" instead of "available" (issue ASTERISK-23021) (closes
- issue ASTERISK-23021) Reported by: Jeremy Lainé Tested by: Rusty
- Newton Patches: available.patch uploaded by Jeremy Lainé (license
- 6561)
- 2013-12-17 23:17 +0000 [r404042] Jonathan Rose <jrose@digium.com>
- * include/asterisk/bridge_internal.h, apps/app_confbridge.c,
- res/res_stasis.c, include/asterisk/bridge.h,
- res/res_ari_bridges.c, main/bridge.c, main/bridge_basic.c,
- include/asterisk/stasis_bridges.h, include/asterisk/stasis_app.h,
- apps/app_bridgewait.c, res/ari/ari_model_validators.c,
- doc/appdocsxml.xslt, main/stasis_bridges.c,
- rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
- apps/app_agent_pool.c, res/parking/parking_bridge.c,
- res/ari/ari_model_validators.h, main/manager_bridges.c,
- res/ari/resource_bridges.h: bridging: Give bridges a name and a
- known creator Bridges have two new optional properties, a creator
- and a name. Certain consumers of bridges will automatically
- provide bridges that they create with these properties. Examples
- include app_bridgewait, res_parking, app_confbridge, and
- app_agent_pool. In addition, a name may now be provided as an
- argument to the POST function for creating new bridges via ARI.
- (closes issue AFS-47) Review:
- https://reviewboard.asterisk.org/r/3070/
- 2013-12-17 18:34 +0000 [r404027-404029] Joshua Colp <jcolp@digium.com>
- * res/res_sorcery_config.c: res_sorcery_config: Output an error
- message when an object can't be created. If object creation fails
- an error message will now be output with the id, type, and
- configuration file.
- * main/framehook.c: framehooks: Re-iterate if framehook provides
- different frame. Framehooks can be used in a reactive manner to
- execute specific logic when a frame is received with a certain
- type and payload. Since it is possible for framehooks to provide
- frames it was possible for this reactive framehook to be unaware
- of frames it is looking for. This change makes it so that when
- framehooks return a modified frame the code will now re-iterate
- (from the beginning) and call any previous framehooks that have
- not provided a modified frame themselves. Review:
- https://reviewboard.asterisk.org/r/3046/
- 2013-12-17 14:33 +0000 [r404006] David M. Lee <dlee@digium.com>
- * configs/asterisk.conf.sample, main/asterisk.c: Changed the
- default for live_dangerously to no
- 2013-12-17 12:51 +0000 [r403993] Matthew Jordan <mjordan@digium.com>
- * res/ari/resource_channels.c: ari/resource_channels: When creating
- a channel, specify a default format (SLIN) When creating channels
- via ARI, the current code fails to provide any default format
- capabilities. For non-virtual channels this isn't really a
- problem - the channels typically receive their capabilities as a
- result of the underlying channel driver configuration. For
- virtual channels (such as Local channels), the lack of any format
- capabilities causes the Asterisk core to make some 'odd' choices
- with respect to the translation paths. The issue reporter had
- some paths that had 3 hops on each channel leg, causing multiple
- transcodings and some really crappy audio/performance. By
- specifying a baseline of SLIN, we prevent that from occurring.
- Note that this is what AMI does when it performs an Originate, as
- does res_clioriginate. Review:
- https://reviewboard.asterisk.org/r/3068/ (issue ASTERISK-22962)
- Reported by: Matt DiMeo
- 2013-12-16 18:31 +0000 [r403959] David M. Lee <dlee@digium.com>
- * UPGRADE.txt, include/asterisk/pbx.h, main/asterisk.c,
- funcs/func_realtime.c, main/pbx.c, main/tcptls.c,
- funcs/func_db.c, /, README-SERIOUSLY.bestpractices.txt,
- configs/asterisk.conf.sample, funcs/func_shell.c,
- funcs/func_env.c, funcs/func_lock.c: security: Inhibit execution
- of privilege escalating functions This patch allows individual
- dialplan functions to be marked as 'dangerous', to inhibit their
- execution from external sources. A 'dangerous' function is one
- which results in a privilege escalation. For example, if one were
- to read the channel variable SHELL(rm -rf /) Bad Things(TM) could
- happen; even if the external source has only read permissions.
- Execution from external sources may be enabled by setting
- 'live_dangerously' to 'yes' in the [options] section of
- asterisk.conf. Although doing so is not recommended. Also, the
- ABI was changed to something more reasonable, since Asterisk 12
- does not yet have a public release. (closes issue ASTERISK-22905)
- Review: http://reviewboard.digium.internal/r/432/ ........ Merged
- revisions 403913 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 403917 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-16 18:22 +0000 [r403957] Jonathan Rose <jrose@digium.com>
- * main/bridge.c: transfers: Fix bug setting both BLINDTRANSFER and
- ATTENDEDTRANSFER The ast_bridge_set_transfer_variables function
- is supposed to wipe whichever variable isn't being set. Instead
- it was setting both to the new value. Oops. (issue AFS-24)
- 2013-12-16 16:11 +0000 [r403856-403864] Scott Griepentrog <sgriepentrog@digium.com>
- * main/pbx.c, /: pbx.c: put copy of ast_exten.data on stack to
- prevent memory corruption During dialplan execution in
- pbx_extension_helper(), the contexts global read lock prevents
- link list corruption, but was released with a pointer to the
- ast_exten and data later used in variable substitution. Instead,
- this patch removes pbx_substitute_variables() and locates a copy
- of the ast_exten data on the stack before releasing the lock,
- where ast_exten could get free'd by another thread performing a
- module reload. (issue AST-1179) Reported by: Thomas Arimont
- (issue AST-1246) Reported by: Alexander Hömig Review:
- https://reviewboard.asterisk.org/r/3055/ ........ Merged
- revisions 403862 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 403863 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/app_sms.c: app_sms: BufferOverflow when receiving odd length
- 16 bit message This patch prevents an infinite loop overwriting
- memory when a message is received into the unpacksms16()
- function, where the length of the message is an odd number of
- bytes. (closes issue ASTERISK-22590) Reported by: Jan Juergens
- Tested by: Jan Juergens
- 2013-12-15 01:38 +0000 [r403823] Matthew Jordan <mjordan@digium.com>
- * channels/pjsip/dialplan_functions.c: pjsip/dialplan_functions:
- Use the right buffer length when printing URIs While
- entertaining, sizeof(buflen) is not the same as buflen. Doh.
- 2013-12-14 17:25 +0000 [r403808-403811] Joshua Colp <jcolp@digium.com>
- * include/asterisk/res_pjsip.h, res/res_pjsip/location.c,
- res/res_pjsip/pjsip_options.c, res/res_pjsip.c: res_pjsip: Apply
- outbound proxy to all SIP requests. Objects which are involved in
- SIP request creation and sending now allow an outbound proxy to
- be specified. For cases where an endpoint is used the outbound
- proxy specified there will be applied. (closes issue
- ASTERISK-22673) Reported by: Antti Yrjola Review:
- https://reviewboard.asterisk.org/r/3022/
- * main/stasis_channels.c, apps/app_queue.c,
- res/ari/ari_model_validators.c, apps/app_dial.c,
- res/ari/ari_model_validators.h, main/dial.c,
- include/asterisk/stasis_channels.h,
- rest-api/api-docs/events.json, res/stasis/app.c: res_stasis:
- Expose event for call forwarding and follow forwarded channel.
- This change adds an event for when an originated call is
- redirected to another target. This event contains the original
- channel and the newly created channel. If a stasis subscription
- exists on the original originated channel for a stasis
- application then a new subscription will also be created on the
- stasis application to the redirected channel. This allows the
- application to follow the call path completely. (closes issue
- ASTERISK-22719) Reported by: Joshua Colp Review:
- https://reviewboard.asterisk.org/r/3054/
- 2013-12-13 21:24 +0000 [r403796] Jonathan Rose <jrose@digium.com>
- * res/res_pjsip_messaging.c, main/message.c: documentation: Add
- PJSIP technology to messaging documentation
- 2013-12-13 20:06 +0000 [r403782] Richard Mudgett <rmudgett@digium.com>
- * main/test.c: test.c: Fix too sticky unit test failed status.
- Rerunning a failed unit test after loading any required modules
- should allow the test to report a pass status if it now passes.
- 2013-12-13 20:04 +0000 [r403781] Jonathan Rose <jrose@digium.com>
- * include/asterisk/bridge.h, res/parking/parking_bridge_features.c,
- res/parking/parking_manager.c, main/bridge.c,
- main/bridge_basic.c: Transfers: Make Asterisk set
- ATTENDEDTRANSFER/BLINDTRANSFER more reliably There were still a
- few cases in which ATTENDEDTRANSFER and BLINDTRANSFER wouldn't be
- set on channels involved with blind and attended transfers. This
- would happen with features that were initialized by channel
- driver specific mechanisms in multiparty calls. This patch
- resolves those cases while attempted to keep the behavior for
- setting those variables as consistent as possible. (closes issue
- AFS-24) Review: https://reviewboard.asterisk.org/r/3040/
- 2013-12-13 19:55 +0000 [r403779-403780] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/app.h, tests/test_voicemail_api.c, main/app.c:
- test_voicemail_api: Add check for a registered voicemail provider
- before tests. It is much nicer diagnosing a test failure if
- app_voicemail is actually loaded. ........ Merged revisions
- 403726 from http://svn.asterisk.org/svn/asterisk/trunk
- * main/app.c, apps/app_voicemail.c, include/asterisk/app.h,
- include/asterisk/doxyref.h: app_voicemail: Voicemail callback
- registration/unregistration function improvements. * The
- voicemail registration/unregistration functions now take a struct
- of callbacks instead of a lengthy parameter list of callbacks. *
- The voicemail registration/unregistration functions now prevent a
- competing module from interfering with an already registered
- callback supplying module. ........ Merged revisions 403643 from
- http://svn.asterisk.org/svn/asterisk/trunk
- 2013-12-13 18:24 +0000 [r403749-403767] Kevin Harwell <kharwell@digium.com>
- * channels/chan_sip.c, include/asterisk/channel.h,
- bridges/bridge_native_rtp.c, channels/chan_pjsip.c,
- main/channel.c: bridge_native_rtp: Deadlock during 4-way
- conference creation The change contains a slightly adjusted patch
- that was on the issue (submitted by kmoore). A fix was made by
- adding in a bridge lock while calling bridge_start/stop from the
- framehook callback. Since the framehook callback is not called
- from the bridging core the bridge is not locked, but needs to be
- before calling bridge_start. (closes issue ASTERISK-22749)
- Reported by: Kinsey Moore Review:
- https://reviewboard.asterisk.org/r/3066/ Patches:
- lock_inversion.diff uploaded by kmoore (license 6273)
- * main/http.c, rest-api/api-docs/channels.json,
- res/ari/resource_channels.c, res/res_ari_channels.c,
- res/ari/resource_channels.h: ARI: Allow specifying channel
- variables during a POST /channels Added the ability to specify
- channel variables when creating/originating a channel in ARI. The
- variables are sent in the body of the request and should be
- formatted as a single level JSON object. No nested objects
- allowed. For example: {"variable1": "foo", "variable2": "bar"}.
- (closes issue ASTERISK-22872) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/3052/
- * res/res_ari_bridges.c, res/stasis/command.c,
- res/res_stasis_playback.c, res/stasis/control.c,
- res/stasis/command.h, include/asterisk/stasis_app.h,
- include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c,
- res/res_stasis_answer.c, rest-api/api-docs/bridges.json,
- res/ari/resource_bridges.c: ARI: Adding a channel to a bridge
- while a live recording is active blocks Added the ability to have
- rules that are checked when adding and/or removing channels
- to/from a bridge. In this case, if a channel is currently
- recording and someone attempts to add it to a bridge an "is
- recording" rule is checked, fails, and a 409 conflict is
- returned. Also command functions now return an integer value that
- can be descriptive of what kind of problems, if any, occurred
- before or during execution. (closes issue ASTERISK-22624)
- Reported by: Joshua Colp Review:
- https://reviewboard.asterisk.org/r/2947/
- 2013-12-13 16:27 +0000 [r403748] David M. Lee <dlee@digium.com>
- * channels/pjsip: Setting svn:ignore
- 2013-12-13 05:00 +0000 [r403736] Matthew Jordan <mjordan@digium.com>
- * channels/Makefile: channels/Makefile: clean pjsip directory
- 2013-12-12 19:44 +0000 [r403713] Scott Griepentrog <sgriepentrog@digium.com>
- * contrib/ast-db-manage/config/versions/581a4264e537_adding_extensions.py
- (added): realtime: Create extensions in alembic ast-db-manage
- contribution When the alembic scripts were written for creating
- Asterisk realtime databases the extensions table for dialplan
- wasn't included. This update creates the extensions table.
- (closes issue ASTERISK-22815) Reported by: Zone Conkle Review:
- https://reviewboard.asterisk.org/r/3064/
- 2013-12-12 19:12 +0000 [r403705] Jonathan Rose <jrose@digium.com>
- * channels/chan_pjsip.c: chan_pjsip: Revert r403587 This patch was
- intended to eliminate a deadlock that occurs when masquerades
- occur in pjsip channels, but has some potential side effects.
- Mark Michelson is currently working on addressing this problem
- from another angle. (issue ASTERISK-22936) Reported by: Jonathan
- Rose
- 2013-12-11 20:11 +0000 [r403680] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip/pjsip_configuration.c, res/res_pjsip_messaging.c,
- res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
- include/asterisk/res_pjsip.h, res/res_pjsip/config_global.c,
- configs/pjsip.conf.sample: res_pjsip_messaging: send message to a
- default outbound endpoint In some cases messages need to be sent
- to a direct URI (sip:<ip address>). This patch adds in that
- support by using a default outbound endpoint. When sending
- messages, if no endpoint can be found then the default one is
- used. To facilitate this a new default_outbound_endpoint option
- was added to the globals section for pjsip.conf. Review:
- https://reviewboard.asterisk.org/r/2944/
- 2013-12-11 19:18 +0000 [r403639] Russell Bryant <russell@russellbryant.com>
- * /, channels/chan_sip.c: Reset peer outboundproxy on sip.conf
- reload If you set a peer's outboundproxy and then removed it from
- the config, this would not get picked up in a config reload. This
- patch fixes that by resetting it in set_peer_defaults(). Closes
- ASTERISK-19454 Review: https://reviewboard.asterisk.org/r/3065/
- ........ Merged revisions 403634 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 403635 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-11 13:05 +0000 [r403616-403618] Matthew Jordan <mjordan@digium.com>
- * funcs/func_channel.c, channels/pjsip/include (added),
- channels/pjsip/include/dialplan_functions.h (added),
- res/res_pjsip_t38.c, channels/pjsip/include/chan_pjsip.h (added),
- channels/Makefile, channels/chan_pjsip.c, main/xmldoc.c,
- channels/pjsip/dialplan_functions.c (added),
- include/asterisk/res_pjsip_session.h, channels/pjsip (added):
- func_channel, chan_pjsip: Add CHANNEL read function support for
- chan_pjsip This patch adds CHANNEL read support for chan_pjsip.
- This allows the dialplan to use the CHANNEL function on a
- chan_pjsip channel to obtain run-time information about the
- channel from the PJSIP channel driver and the PJSIP stack. This
- includes: * RTP information, including source/destination media
- addresses, whether or not the media is secure, held, and other
- properties. * RTCP information. This includes sets of parseable
- information, as well as individual statistic attriutes. * PJSIP
- information. This includes URIs, local/remote signalling
- addresses, whether or not the signalling is secure, and other
- properties. * The endpoint name. This can be used in conjunction
- with the PJSIP_ENDPOINT function to obtain more detailed endpoint
- information. Review: https://reviewboard.asterisk.org/r/3038/
- * Makefile, funcs/func_pjsip_endpoint.c (added), doc/snapshots.xslt
- (removed), doc/appdocsxml.xslt (added), doc/appdocsxml.dtd,
- main/sorcery.c: func_pjsip_endpoint: Add PJSIP_ENDPOINT function
- for querying endpoint details This patch adds a new function,
- PJSIP_ENDPOINT, which lets the dialplan query, for any endpoint,
- any property configured on an endpoint. This function is a
- companion to the CHANNEL function, which can be used to extract
- the endpoint name for a channel. Review:
- https://reviewboard.asterisk.org/r/3035
- 2013-12-09 22:47 +0000 [r403587] Jonathan Rose <jrose@digium.com>
- * channels/chan_pjsip.c: chan_pjsip: Fix a sticking channel lock
- caused by channel masquerades (closes issue ASTERISK-22936)
- Reported by: Jonathan Rose Review:
- https://reviewboard.asterisk.org/r/3042/
- 2013-12-09 19:23 +0000 [r403545-403559] Richard Mudgett <rmudgett@digium.com>
- * res/res_sorcery_astdb.c: Reverting regex part of -r403545 at
- request of file. res_sorcery_astdb.c: Fix get multiple records by
- regex. * Fix sorcery_astdb_retrieve_regex() pattern matching. Let
- the regexec() function match the stored key values instead of
- having astdb prefilter them. Previoiusly you could only use a
- simple regex pattern when the pattern began with '^'.
- * res/res_sorcery_astdb.c: res_sorcery_astdb.c: Fix get multiple
- records by regex. * Fix sorcery_astdb_retrieve_regex() pattern
- matching. Let the regexec() function match the stored key values
- instead of having astdb prefilter them. Previoiusly you could
- only use a simple regex pattern when the pattern began with '^'.
- * Fix off nominal memory leak in sorcery_astdb_retrieve_regex().
- 2013-12-09 18:31 +0000 [r403542] Joshua Colp <jcolp@digium.com>
- * main/endpoints.c: endpoints: Keep a reference to channel ids when
- creating snapshot. The snapshot process for endpoints uses the
- channel ids present on the endpoint itself. Without keeping a
- reference it was possible for the strings to be freed underneath
- any consumer of an endpoint snapshot. A reference is now held by
- the snapshot to the channel ids and released when the snapshot is
- destroyed. (issue ASTERISK-22801) Reported by: Matt Jordan
- 2013-12-09 18:31 +0000 [r403527-403541] Richard Mudgett <rmudgett@digium.com>
- * main/sorcery.c: sorcery: Eliminate shadowing a varaible that
- caused confusion. * Eliminated shadowing of the
- __ast_sorcery_apply_config() name parameter causing confusion. *
- Fix potential crash from sorcery.conf user input in
- __ast_sorcery_apply_config() if the user supplied a malformed
- config line that is missing the sorcery object type name. *
- Remove redundant test in __ast_sorcery_apply_config(). !config
- and config == CONFIGS_STATUS_FILEMISSING are identical.
- * main/sorcery.c: sorcery: Whitespace You would think that a new
- file would start off without any whitespace oddities.
- 2013-12-09 16:40 +0000 [r403510] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_nat.c: res_pjsip_nat: Add NAT module to session
- dialogs. Due to the way pjproject internally works it was
- possible for the NAT module to not be invoked on messages with-in
- a session dialog. This means that the various parts of the
- message would not get rewritten with the source IP address and
- port. This change uses a session supplement to add the NAT module
- to the dialog on the first incoming or outgoing INVITE. (closes
- issue ASTERISK-22941) Reported by: Leif Madsen
- 2013-12-09 03:19 +0000 [r403435-403458] Matthew Jordan <mjordan@digium.com>
- * res/res_fax_spandsp.c, /: res_fax_spandsp: Always init T.38
- session to avoid crashes during state change Prior to this patch,
- res_fax_spandsp was conservative with how it initialized the
- spandsp T.38 context. It would only initialize it if the driver
- thought the current state was a T.38 fax. While this works fine
- in nominal situations, in certain off nominal situations,
- res_fax_spandsp can believe that a T.38 fax will not occur when
- in fact one has started. In particular, this was discovered when
- res_fax would fall back to audio after timing out on a T.38
- upgrade. The SIP channel driver would continue to retry the
- re-INVITE and - if the remote end responded after res_fax timed
- out with a 200 OK - a T.38 frame would be delivered to the
- res_fax stack when it no longer expected it. As it turns out,
- there does not appear to be any downside to always initializing
- the T.38 context, other than the actual memory allocation. Since
- that avoids this off nominal situation (and others which are
- equally likely hard to predict), this is the safest way to avoid
- this problem. Much thanks to Torrey as well for providing a
- scenario that reproduces this issue. (closes issue
- ASTERISK-21242) Reported by: Ashley Winters Tested by: Torrey
- Searle patches: always-init-t38.patch uploaded by awinters
- (License 6477) A_PARTY.xml uploaded by tsearle (License 5334)
- ........ Merged revisions 403449 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 403450 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_config_sqlite.c: res_config_sqlite: Check for CDR
- unregistration failures If the CDR unregistration fails due to an
- inflight CDR, the res_config_sqlite module needs to bail on
- unloading itself. Otherwise, the config could be unloaded
- (including the CDR table name) while the CDR engine posts a CDR
- to the still registered backend, resulting in a crash.
- 2013-12-05 20:49 +0000 [r403398] David M. Lee <dlee@digium.com>
- * main/core_unreal.c, tests/test_stasis_channels.c,
- include/asterisk/channel.h, channels/chan_gtalk.c,
- channels/sig_pri.c, apps/app_queue.c, main/cel.c,
- main/stasis_bridges.c, channels/chan_jingle.c,
- channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
- include/asterisk/stasis_channels.h, channels/sig_analog.c,
- channels/chan_motif.c, res/res_agi.c, channels/chan_h323.c,
- tests/test_cel.c, apps/app_confbridge.c, res/res_stasis.c,
- res/res_pjsip_refer.c, apps/app_voicemail.c, apps/app_dial.c,
- channels/chan_vpb.cc, addons/chan_ooh323.c, channels/chan_sip.c,
- main/pickup.c, include/asterisk/aoc.h,
- include/asterisk/stasis_bridges.h, apps/app_disa.c,
- apps/app_userevent.c, main/core_local.c, channels/chan_console.c,
- include/asterisk/channelstate.h, channels/chan_iax2.c,
- main/endpoints.c, channels/chan_oss.c,
- res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
- main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c,
- channels/chan_alsa.c, pbx/pbx_realtime.c, main/stasis_channels.c,
- channels/chan_nbs.c, main/bridge_channel.c, addons/chan_mobile.c,
- channels/chan_pjsip.c, tests/test_cdr.c,
- res/parking/parking_manager.c, channels/chan_mgcp.c,
- channels/chan_unistim.c, main/pbx.c, funcs/func_timeout.c,
- apps/app_meetme.c, main/bridge.c: Reverting r403311. It's causing
- ARI tests to hang.
- 2013-12-04 21:41 +0000 [r403377] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_registrar.c: res_pjsip_registrar: undefined
- function pointer symbol Used a static wrapper around the
- offending function to alleviate the issue. Reported by: rmudgett
- 2013-12-04 20:53 +0000 [r403364] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_t38.c: res_pjsip_t38: Don't pass T.38 control
- frames through to other hooks. This crept up during gateway
- testing where the gateway would receive the request to negotiate
- and assume it came from the remote side, causing the gateway
- state machine to go a little, to a use a technical term, "wonky".
- 2013-12-04 18:40 +0000 [r403349] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip.c: Initialize the hash value argument to
- pj_hash_get() to 0. Passing a non-zero value causes PJLIB to use
- the given input as the hash value. Passing zero causes the
- parameter to become an output parameter that receives the hash
- value that was computed based on the given key. This change
- essentially makes ast_sip_dict_get() properly retrieve the
- desired value.
- 2013-12-03 20:17 +0000 [r403342] David M. Lee <dlee@digium.com>
- * res/stasis/control.c: ari: Fix deadlock problem with functions
- that use autoservice. The code for getting channel variables from
- ARI assumed that you needed to lock the channel in order to
- properly execute functions and read channel variables.
- Apparently, this is not the case, since any dialplan function
- that puts the channel into autoservice deadlocks when attempting
- to remove the channel from autoservice.
- 2013-12-03 17:59 +0000 [r403329] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_session.c, configure,
- include/asterisk/autoconfig.h.in, configure.ac:
- res_pjsip_session: Add support for
- PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE flag. Newer versions of PJSIP
- have changed to using a flag for the
- PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE instead of a define. This adds
- a configure check to detect the presence of the flag and use it
- if found.
- 2013-12-03 17:23 +0000 [r403324] Richard Mudgett <rmudgett@digium.com>
- * main/bucket.c, include/asterisk/sorcery.h,
- res/res_pjsip/pjsip_configuration.c,
- res/res_pjsip_registrar_expire.c, res/res_pjsip/pjsip_options.c,
- tests/test_sorcery.c, include/asterisk/bucket.h, main/sorcery.c:
- sorcery, bucket: Change observer remove calls to take const
- callbacks struct. * Make ast_sorcery_observer_remove() accept a
- const callbacks struct. * Make ast_sorcery_observer_remove()
- tolerant of the sorcery parameter being NULL. Now it can be
- called within a module unload routine if the sorcery
- initialization fails. * Fix ast_sorcery_observer_add() to fail if
- the container link fails.
- 2013-12-03 16:37 +0000 [r403312] Joshua Colp <jcolp@digium.com>
- * main/media_index.c: media_index: Make media indexing tolerable of
- bad symlinks. Media indexing will now skip over files and
- directories that stat will not return information about. This can
- occur under normal conditions when a symbolic link points to a
- location that no longer exists.
- 2013-12-03 16:33 +0000 [r403311] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/stasis_bridges.h, apps/app_disa.c,
- apps/app_userevent.c, main/core_local.c,
- include/asterisk/channelstate.h, channels/chan_console.c,
- channels/chan_iax2.c, main/endpoints.c, channels/chan_oss.c,
- res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
- main/channel.c, channels/chan_misdn.c, channels/chan_skinny.c,
- channels/chan_alsa.c, pbx/pbx_realtime.c, main/stasis_channels.c,
- channels/chan_nbs.c, main/bridge_channel.c, addons/chan_mobile.c,
- channels/chan_pjsip.c, tests/test_cdr.c,
- res/parking/parking_manager.c, channels/chan_mgcp.c,
- channels/chan_unistim.c, main/pbx.c, funcs/func_timeout.c,
- apps/app_meetme.c, main/bridge.c, tests/test_stasis_channels.c,
- main/core_unreal.c, include/asterisk/channel.h,
- channels/chan_gtalk.c, channels/sig_pri.c, apps/app_queue.c,
- main/cel.c, main/stasis_bridges.c, channels/chan_jingle.c,
- channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
- include/asterisk/stasis_channels.h, channels/sig_analog.c,
- channels/chan_motif.c, res/res_agi.c, channels/chan_h323.c,
- tests/test_cel.c, apps/app_confbridge.c, res/res_stasis.c,
- res/res_pjsip_refer.c, apps/app_voicemail.c, apps/app_dial.c,
- channels/chan_vpb.cc, addons/chan_ooh323.c, main/pickup.c,
- channels/chan_sip.c, include/asterisk/aoc.h: Add channel locking
- for channel snapshot creation. This adds channel locks around
- calls to create channel snapshots as well as other functions
- which operate on a channel and then end up creating a channel
- snapshot. Functions that expect the channel to be locked prior to
- being called have had their documentation updated to indicate
- such.
- 2013-12-03 16:32 +0000 [r403310] Joshua Colp <jcolp@digium.com>
- * res/res_ari.c: Revert revision 403304: Fixed the filename for the
- ari.conf docs The changed value refers to the name of the module.
- The name of the configuration file is specified in the configFile
- section.
- 2013-12-02 18:34 +0000 [r403304] David M. Lee <dlee@digium.com>
- * res/res_ari.c: Fixed the filename for the ari.conf docs
- 2013-12-02 18:03 +0000 [r403290-403291] Alexandr Anikin <may@telecom-service.ru>
- * /: remove unwanted property svn:mergeinfo
- * /, addons/chan_ooh323.c: Check and reject non-digits e164 values
- on peers and general sections in ooh323.conf Regenerate e164
- endpoint list on reload ooh323 (issue ASTERISK-22901) Reported
- by: Cyril CONSTANTIN Patches: ASTERISK-22901.patch ........
- Merged revisions 403288 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-12-01 21:12 +0000 [r403256-403271] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_session.c: res_pjsip_session: Apply fromuser and
- fromdomain to all requests as documented.
- * res/res_pjsip_t38.c: res_pjsip_t38: Add the framehook to the
- channel only on first INVITE. The check for determining whether
- the T.38 framehook should be added to the channel or not has now
- been changed to guarantee adding only occurs on the first
- incoming or outgoing INVITE.
- * res/res_pjsip_transport_websocket.c,
- include/asterisk/res_pjsip.h, res/res_pjsip/location.c,
- res/res_pjsip/security_events.c, res/res_pjsip/pjsip_options.c,
- res/res_pjsip.c: res_pjsip_transport_websocket: Fix security
- events and simplify implementation. Transport type determination
- for security events has been simplified to use the type present
- on the message itself instead of searching through configured
- transports to find the transport used. The actual WebSocket
- transport has also been simplified. It now leverages the existing
- PJSIP transport manager for finding the active WebSocket
- transport for outgoing messages. This removes the need for
- res_pjsip_transport_websocket to store a mapping itself. (closes
- issue ASTERISK-22897) Reported by: Max E. Reyes Vera J. Review:
- https://reviewboard.asterisk.org/r/3036/
- 2013-11-30 14:11 +0000 [r403240] Joshua Colp <jcolp@digium.com>
- * res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
- rest-api/api-docs/events.json: res_ari: Add Recording events to
- the validator.
- 2013-11-28 02:12 +0000 [r403179-403223] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Don't produce an
- invalid media stream with no formats. Depending on configuration
- it was possible for a media stream to be created without any
- media formats. The produced SDP would fail internal validation
- and cause a crash. The code will now no longer add media streams
- with no formats to the SDP, allowing it to pass validation and
- work. (closes issue ASTERISK-22858) Reported by: Anthony Messina
- * res/res_pjsip_header_funcs.c: res_pjsip_header_funcs: Don't add
- headers to re-INVITEs. When sending a re-INVITE to an endpoint it
- was possible for received headers to be added as well (since they
- are stored for retrieval using the PJSIP_HEADER dialplan
- function). This caused a broken (and potentially large) SIP
- INVITE to be produced and sent. This changes the module so it
- will no longer add headers to re-INVITEs. (closes issue
- ASTERISK-22882) Reported by: David M. Lee
- * res/res_stasis_playback.c: res_stasis_playback: Add 'number',
- 'digits', and 'characters' URI scheme implementations. This
- change adds new URI scheme implementations for playing numbers,
- digits, and characters. This is done as part of the normal
- playback mechanism and can be used with queueing to create a
- combined sentence. Review:
- https://reviewboard.asterisk.org/r/3028/
- * res/res_pjsip/pjsip_configuration.c, res/res_pjsip.c,
- res/res_pjsip_session.c, include/asterisk/res_pjsip.h:
- res_pjsip_session: Add configurable behavior for redirects. The
- action taken when a redirect occurs is now configurable on a
- per-endpoint basis. The redirect can either be treated as a
- redirect to a local extension, to a URI that is dialed through
- the Asterisk core, or to a URI that is dialed within PJSIP
- itself. (closes issue ASTERISK-21710) Reported by: Matt Jordan
- Review: https://reviewboard.asterisk.org/r/2963/
- * res/res_pjsip/pjsip_configuration.c: res_pjsip: Fix crash when
- reloading certain configurations. Certain options available that
- specify a SIP URI perform validation on the provided URI using
- the PJSIP URI parser. This operation requires that the thread
- executing it be registered with the PJLIB library. During reloads
- this was done on a thread which was NOT registered with it. This
- fixes the problem by creating a task which reloads the
- configuration on a PJSIP thread. (closes issue ASTERISK-22923)
- Reported by: Anthony Messina
- 2013-11-27 15:36 +0000 [r403175] David M. Lee <dlee@digium.com>
- * res/res_ari_channels.c, include/asterisk/ari.h,
- rest-api-templates/param_parsing.mustache,
- include/asterisk/http.h, res/res_ari_recordings.c,
- res/res_ari_endpoints.c, main/http.c,
- rest-api-templates/swagger_model.py, res/res_ari_playbacks.c,
- res/res_ari_sounds.c, rest-api-templates/asterisk_processor.py,
- res/res_ari_bridges.c, tests/test_ari.c, res/res_ari.c,
- res/res_ari_device_states.c, res/res_ari_asterisk.c,
- rest-api-templates/res_ari_resource.c.mustache,
- res/res_ari_applications.c: ari:Add application/json parameter
- support The patch allows ARI to parse request parameters from an
- incoming JSON request body, instead of requiring the request to
- come in as query parameters (which is just weird for POST and
- DELETE) or form parameters (which is okay, but a bit asymmetric
- given that all of our responses are JSON). For any operation that
- does _not_ have a parameter defined of type body (i.e.
- "paramType": "body" in the API declaration), if a request
- provides a request body with a Content type of
- "application/json", the provided JSON document is parsed and
- searched for parameters. The expected fields in the provided JSON
- document should match the query parameters defined for the
- operation. If the parameter has 'allowMultiple' set, then the
- field in the JSON document may optionally be an array of values.
- (closes issue ASTERISK-22685) Review:
- https://reviewboard.asterisk.org/r/2994/
- 2013-11-27 15:31 +0000 [r403160-403173] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip/pjsip_configuration.c: res_pjsip: Update handling
- of some options to work with new option names. Some options (such
- as call_group and pickup_group) share the same configuration
- handler and decide what logic to use based on the name of the
- option. These handlers were not updated to check for the new
- option names and were treating the options as invalid. This
- change simply updates the handlers with the proper names of the
- options. (closes issue ASTERISK-22922) Reported by: Anthony
- Messina
- * configure, include/asterisk/autoconfig.h.in, configure.ac: Fix a
- configure issue with PJSIP transaction group lock detection. The
- configure check did not use the provided paths for pjproject if
- provided when looking for transaction group lock support.
- 2013-11-23 17:38 +0000 [r403131-403134] Kevin Harwell <kharwell@digium.com>
- * include/asterisk/stasis_app.h, main/devicestate.c,
- res/stasis/app.h, rest-api/resources.json,
- res/res_stasis_device_state.c (added),
- res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
- res/ari/resource_device_states.c (added),
- rest-api/api-docs/deviceStates.json (added),
- rest-api-templates/ari.make.mustache, res/ari.make,
- rest-api/api-docs/applications.json,
- include/asterisk/stasis_app_device_state.h (added),
- res/ari/resource_device_states.h (added),
- res/ari/resource_applications.h, res/res_stasis.c,
- include/asterisk/devicestate.h,
- res/res_stasis_device_state.exports.in (added),
- rest-api/api-docs/events.json, res/res_ari_device_states.c
- (added), res/stasis/app.c: ARI: Implement device state API
- Created a data model and implemented functionality for an ARI
- device state resource. The following operations have been added
- that allow a user to manipulate an ARI controlled device:
- Create/Change the state of an ARI controlled device PUT
- /deviceStates/{deviceName}&{deviceState} Retrieve all ARI
- controlled devices GET /deviceStates Retrieve the current state
- of a device GET /deviceStates/{deviceName} Destroy a device-state
- controlled by ARI DELETE /deviceStates/{deviceName} The ARI
- controlled device must begin with 'Stasis:'. An example
- controlled device name would be Stasis:Example. A
- 'DeviceStateChanged' event has also been added so that an
- application can subscribe and receive device change events. Any
- device state, ARI controlled or not, can be subscribed to. While
- adding the event, the underlying subscription control mechanism
- was refactored so that all current and future resource
- subscriptions would be the same. Each event resource must now
- register itself in order to be able to properly handle
- [un]subscribes. (issue ASTERISK-22838) Reported by: Matt Jordan
- Review: https://reviewboard.asterisk.org/r/3025/
- * res/res_pjsip_exten_state.c, include/asterisk/res_pjsip_pubsub.h,
- res/res_pjsip/location.c, res/res_pjsip_outbound_registration.c,
- res/res_pjsip_mwi.c, include/asterisk/sorcery.h,
- res/res_pjsip/pjsip_configuration.c, include/asterisk/strings.h,
- res/res_pjsip_pubsub.c,
- res/res_pjsip/include/res_pjsip_private.h,
- res/res_pjsip/config_transport.c, res/res_pjsip_registrar.c,
- main/sorcery.c, include/asterisk/res_pjsip.h,
- include/asterisk/acl.h, res/res_pjsip/config_auth.c,
- include/asterisk/utils.h, res/res_pjsip.exports.in,
- res/res_pjsip_endpoint_identifier_ip.c, main/acl.c, main/utils.c,
- res/res_pjsip.c: res_pjsip: AMI commands and events. Created the
- following AMI commands and corresponding events for res_pjsip:
- PJSIPShowEndpoints - Provides a listing of all pjsip endpoints
- and a few select attributes on each. Events: EndpointList - for
- each endpoint a few attributes. EndpointlistComplete - after all
- endpoints have been listed. PJSIPShowEndpoint - Provides a detail
- list of attributes for a specified endpoint. Events:
- EndpointDetail - attributes on an endpoint. AorDetail - raised
- for each AOR on an endpoint. AuthDetail - raised for each
- associated inbound and outbound auth TransportDetail - transport
- attributes. IdentifyDetail - attributes for the identify object
- associated with the endpoint. EndpointDetailComplete - last event
- raised after all detail events. PJSIPShowRegistrationsInbound -
- Provides a detail listing of all inbound registrations. Events:
- InboundRegistrationDetail - inbound registration attributes for
- each registration. InboundRegistrationDetailComplete - raised
- after all detail records have been listed.
- PJSIPShowRegistrationsOutbound - Provides a detail listing of all
- outbound registrations. Events: OutboundRegistrationDetail -
- outbound registration attributes for each registration.
- OutboundRegistrationDetailComplete - raised after all detail
- records have been listed. PJSIPShowSubscriptionsInbound - A
- detail listing of all inbound subscriptions and their attributes.
- Events: SubscriptionDetail - on each subscription detailed
- attributes SubscriptionDetailComplete - raised after all detail
- records have been listed. PJSIPShowSubscriptionsOutbound - A
- detail listing of all outboundbound subscriptions and their
- attributes. Events: SubscriptionDetail - on each subscription
- detailed attributes SubscriptionDetailComplete - raised after all
- detail records have been listed. (issue ASTERISK-22609) Reported
- by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2959/
- 2013-11-23 12:51 +0000 [r403117-403119] Joshua Colp <jcolp@digium.com>
- * res/ari/ari_model_validators.h, res/res_stasis_playback.c,
- rest-api/api-docs/events.json, res/res_stasis_recording.c,
- res/ari/ari_model_validators.c,
- rest-api/api-docs/recordings.json: ari: Add events for playback
- and recording. While there were events defined for playback and
- recording these were not actually sent. This change implements
- the to_json handlers which produces them. (closes issue
- ASTERISK-22710) Reported by: Jonathan Rose Review:
- https://reviewboard.asterisk.org/r/3026/
- * main/audiohook.c, res/ari/resource_channels.c,
- res/res_stasis_snoop.c (added), res/res_ari_channels.c,
- res/ari/resource_channels.h, res/res_stasis_snoop.exports.in
- (added), include/asterisk/stasis_app_snoop.h (added),
- rest-api/api-docs/channels.json: ari: Add Snoop operation for
- spying/whispering on channels. The Snoop operation can be invoked
- on a channel to spy or whisper on it. It returns a channel that
- any channel operations can then be invoked on (such as record to
- do monitoring). (closes issue ASTERISK-22780) Reported by: Matt
- Jordan Review: https://reviewboard.asterisk.org/r/3003/
- 2013-11-22 23:44 +0000 [r403094] Kinsey Moore <kmoore@digium.com>
- * tests/test_stasis.c, tests/test_stasis_channels.c: Make sure unit
- tests compile This fixes the unit tests that were broken by
- r403069 and several functions requiring a new parameter for
- sanitization of JSON messages generated from object snapshots.
- 2013-11-22 22:24 +0000 [r403082] Kevin Harwell <kharwell@digium.com>
- * contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py,
- res/res_pjsip/pjsip_configuration.c: res_pjsip: convert
- configuration settings names to snake case some more Updated the
- alembic script for pjsip. Also, the dtls config parsing stuff was
- expecting strings with no underscores, so removed the underscores
- from the option name before passing it to the parser.
- 2013-11-22 20:01 +0000 [r403069] Kinsey Moore <kmoore@digium.com>
- * main/stasis_endpoints.c, res/ari/resource_endpoints.c,
- main/rtp_engine.c, res/stasis/app.c,
- include/asterisk/stasis_bridges.h, include/asterisk/stasis_app.h,
- include/asterisk/stasis.h, main/stasis_bridges.c,
- res/ari/resource_bridges.c, main/json.c, main/stasis_message.c,
- include/asterisk/stasis_channels.h, main/stasis_channels.c,
- res/ari/resource_channels.c, include/asterisk/stasis_endpoints.h,
- res/res_stasis.c: ARI: Don't leak implementation details This
- change prevents channels used as implementation details from
- leaking out to ARI. It does this by preventing creation of JSON
- blobs of channel snapshots created from those channels and
- sanitizing JSON blobs of bridge snapshots as they are created.
- This introduces a framework for excluding information from output
- targeted at Stasis applications on a consumer-by-consumer basis
- using channel sanitization callbacks which could be extended to
- bridges or endpoints if necessary. This prevents unhelpful error
- messages from being generated by ast_json_pack. This also
- corrects a bug where BridgeCreated events would not be created.
- (closes issue ASTERISK-22744) Review:
- https://reviewboard.asterisk.org/r/2987/ Reported by: David M.
- Lee
- 2013-11-22 17:19 +0000 [r403022] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_acl.c, res/res_pjsip.c,
- res/res_pjsip/config_transport.c, res/res_pjsip/config_global.c,
- configs/pjsip.conf.sample, res/res_pjsip/config_system.c,
- contrib/scripts/sip_to_pjsip/sip_to_pjsip.py,
- res/res_pjsip/pjsip_configuration.c: res_pjsip: convert
- configuration settings names to snake case Renamed, where
- appropriate, the configuration options for chan/res_pjsip to use
- snake case (compound words separated by an underscore). For
- example, faxdetect will become fax_detect, recordofffeature will
- become record_off_feature, etc... Review:
- https://reviewboard.asterisk.org/r/3002/
- 2013-11-22 17:11 +0000 [r403016] Joshua Colp <jcolp@digium.com>
- * /, main/translate.c: translate: Move freeing of frame to after it
- is used. When translating from one format to another it is
- possible to inform the translation function that the source frame
- should be freed. This was previously done immediately but shortly
- afterwards the frame that was freed was accessed and used again.
- This change moves code around a bit so that the frame is now
- freed after it has been completely used. (closes issue
- ASTERISK-22788) Reported by: Corey Farrell Patches:
- translate-access-after-free-11up.patch uploaded by coreyfarrell
- (license 5909) translate-access-after-free-1.8.patch uploaded by
- coreyfarrell (license 5909) ........ Merged revisions 403014 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 403015 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-11-21 22:35 +0000 [r402981-402993] David M. Lee <dlee@digium.com>
- * rest-api-templates/ari_resource.c.mustache,
- rest-api-templates/res_ari_resource.c.mustache: ari: Fix #include
- to match generated headers for snakeCase resource files
- * rest-api-templates/make_ari_stubs.py: ari: Fix generators for
- resources with camelCase names. For the new deviceState resource,
- we need to properly generate device_state.[ch] files.
- 2013-11-21 19:21 +0000 [r402968] Matthew Jordan <mjordan@digium.com>
- * res/res_pjsip_session.c: res_pjsip_session: Fix memory leak of
- direct media format capabilities The direct media format
- capabilities are always allocated in ast_sip_session_alloc and
- were not freed in the session destructor. Whoops. (This being the
- third whoops caught by Scott and Nitesh's valgrind work for the
- Asterisk Test Suite. Nifty!)
- 2013-11-21 19:08 +0000 [r402944-402956] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/app.h: voicemail: Fixup some doxygen comments.
- * main/bucket.c: bucket: Fix scheme ref leak in
- __ast_bucket_scheme_register().
- 2013-11-21 17:52 +0000 [r402940-402941] Matthew Jordan <mjordan@digium.com>
- * res/res_pjsip_sdp_rtp.c: res_pjsip_sdp_rtp: Fix use of
- uninitialized value in PJSIP In PJMEDIA,
- pjmedia_sdp_rtpmap_to_attr will attempt to use the string
- rtpmap.param regardless of its length value. Simply setting the
- length to 0 does not prevent the garbage on the stack in
- rtpmap.param.ptr from being formatted in a sprintf call. This
- patch initializes the string to NULL so that at the very least,
- something is provided to the function that is predictable.
- * res/res_pjsip_mwi.c: res_pjsip_mwi: Fix memory leak of MWI
- subscriptions container This patch fixes a reference counting
- memory leak on the ao2_container created as part of
- create_mwi_subscriptions. When we create the container in this
- routine, the intent is to hand lifetime ownership over to the
- global container unsolicited_mwi. When
- ao2_global_obj_replace_unref is called, the reference count on
- mwi_subscriptions (the container) will be bumped by 1; however,
- the function does not decrement the reference count on
- mwi_subscriptions when this occurs. This will prevent the
- container from being fully disposed of when Asterisk exits (or on
- any subsequent call to this operation, such as during a reload).
- 2013-11-21 15:55 +0000 [r402926] David M. Lee <dlee@digium.com>
- * res/stasis/control.c, include/asterisk/stasis_app.h,
- rest-api/api-docs/channels.json, res/ari/resource_channels.c,
- res/res_ari_channels.c, res/ari/resource_channels.h: ari: Add
- silence generator controls This patch adds the ability to start a
- silence generator on a channel via ARI. This generator will play
- silence on the channel (avoiding audio timeouts on the peer)
- until it is stopped, or some other media operation is started
- (like playing media, starting music on hold, etc.). (closes issue
- ASTERISK-22514) Review: https://reviewboard.asterisk.org/r/3019/
- 2013-11-19 23:17 +0000 [r402891] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_caller_id.c: res_pjsip_caller_id: Don't overwrite
- user portion of the From header when fromuser is set. The
- fromuser option is used to explicitly set the user within the
- From header. The res_pjsip_caller_id module did not take this
- setting into account when determining if the From header could be
- modified or not. (closes issue ASTERISK-22866) Reported by:
- Anthony Messina
- 2013-11-16 13:44 +0000 [r402864] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip/pjsip_distributor.c, configure,
- include/asterisk/autoconfig.h.in, configure.ac: res_pjsip: Add
- support for building against pjproject with SIP transaction group
- lock support. SIP transaction group lock support has been
- backported into our pjproject. Since the code now internally uses
- a group lock the code is now changed to unlock it if present.
- Note that the act of finding the transaction is what actually
- returns it locked. For further information about group locks
- check out the wiki page at:
- http://trac.pjsip.org/repos/wiki/Group_Lock (issue
- ASTERISK-22818) Reported by: Matt Jordan
- 2013-11-15 14:35 +0000 [r402838] Kinsey Moore <kmoore@digium.com>
- * main/cel.c: CEL: Fix crash when using CELGenUserEvent This fixes
- a crash when CELGenUserEvent is called from the dialplan while
- CEL is disabled. Currently, CEL does not create its topics and
- forwards if it is not enabled and external entities may depend on
- these topics blindly since they should always be available. This
- patch breaks up route creation and topic/forward creation such
- that the CEL topics and forwards will always exist while the
- router and its associated routes will be torn down and recreated
- as necessary. (closes issue ASTERISK-22799) Review:
- https://reviewboard.asterisk.org/r/3010/ Reported by: Matt Jordan
- 2013-11-14 15:01 +0000 [r402817] David M. Lee <dlee@digium.com>
- * res/res_stasis.c: stasis: Fixed scoping problem with bridge
- tracking.
- 2013-11-13 23:09 +0000 [r402804] Joshua Colp <jcolp@digium.com>
- * res/stasis/control.c, include/asterisk/stasis_app.h,
- rest-api/api-docs/channels.json, res/ari/resource_channels.c,
- res/res_ari_channels.c, res/ari/resource_channels.h:
- res_ari_channels: Add the ability to stop locally generated
- ringing on a channel. Using the 'ring' operation it is possible
- to start locally generated ringback if the channel is answered.
- This change adds the ability to stop it by using DELETE.
- 2013-11-12 23:16 +0000 [r402787-402793] Kevin Harwell <kharwell@digium.com>
- * res/ari/resource_endpoints.c: ari endpoints: GET
- /ari/endpoints/{invalid-tech} should return a 404 Was returning a
- 404 on a valid technology with an empty list of endpoints. Now
- checking against the channel tech to make sure the tech itself is
- valid and not just an empty list of endpoints. (issue
- ASTERISK-22803) Reported by: David M. Lee
- * rest-api/api-docs/endpoints.json, res/ari/resource_endpoints.c,
- res/res_ari_endpoints.c: ari endpoints: GET
- /ari/endpoints/{invalid-tech} should return a 404 Implementation
- listing endpoints by technology returned an empty array if no
- matching endpoints were found. Fixed so a "404 Not Found" will be
- returned instead. (closes issue ASTERISK-22803) Reported by:
- David M. Lee
- 2013-11-12 19:11 +0000 [r402767-402769] Mark Michelson <mmichelson@digium.com>
- * main/channel.c: Switch to a scoped lock to avoid missing unlocks
- in failure returns.
- * main/channel.c: Move a NULL check to a place that makes more
- sense. Two variables were being checked for NULLity immediately
- after being declared NULL. I moved the NULL check until after the
- variables are allocated. This allows for the "channelvars" option
- in manager.conf to work as intended again.
- 2013-11-12 16:45 +0000 [r402757] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_messaging.c, res/res_pjsip_header_funcs.c:
- pjsip_messaging, pjsip_header_funcs: Crashes due to NULL pointer
- dereferences Both res_pjsip_messaging and res_pjsip_header_funcs
- were causing asterisk to crash because they were trying to
- dereference a NULL pointer. In the case of res_pjsip_messaging it
- was attempting to "print" a contact header that did not exist. In
- fact contact headers should not be part of a SIP MESSAGE, so the
- offending code was simply removed. In the case of
- res_pjsip_header_funcs a null private channel tech was being
- passed to the function and then later dereferenced. Added null
- checks (and error logging) to the read/write function handlers to
- guard against crashing. (closes issue ASTERISK-22821) Reported
- by: Anthony Messina
- 2013-11-12 16:33 +0000 [r402755] Kinsey Moore <kmoore@digium.com>
- * apps/app_celgenuserevent.c: CELGenUserEvent: Fix error message
- from ast_json_pack This prevents NULL from being passed into an
- ast_json_pack call when no extra information is passed to the
- application which prevents an error message about NULL arguments
- from being generated.
- 2013-11-12 15:26 +0000 [r402738] David M. Lee <dlee@digium.com>
- * res/ari/ari_model_validators.h, rest-api/api-docs/events.json:
- Fixed a typ.
- 2013-11-12 15:02 +0000 [r402710] Kinsey Moore <kmoore@digium.com>
- * channels/chan_dahdi.c, /: chan_dahdi: Fix crash during caller ID
- read Asterisk will sometimes core dump during caller id read on
- analog channels due to a negative return value from the read() in
- my_get_callerid that slips through as a negative length argument
- to callerid_feed() if the errno returned by DAHDI is ELAST. This
- change ensures that the negative return is treated properly even
- when it is ELAST. (closes issue ASTERISK-22746) Reported by:
- Michael Walton Patches: chan_dahdi_cid_crash_fix.r401410.patch
- uploaded by Michael Walton (License 6502) ........ Merged
- revisions 402708 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 402709 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-11-11 19:26 +0000 [r402687] Mark Michelson <mmichelson@digium.com>
- * /, apps/app_confbridge.c: Get rid of some inaccurate comments.
- I'm doing some unrelated work in app_confbridge and finding these
- "invalid pin" comments to be annoying. Get out! ........ Merged
- revisions 402686 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-11-11 15:36 +0000 [r402647] Kinsey Moore <kmoore@digium.com>
- * apps/app_queue.c, /: app_queue: Honor penalty limits of 0 In the
- current app_queue code from 1.8 up to trunk the upper and lower
- penalties can be set to 0 but the value is interpreted to be
- disabled instead of actually setting limits. This is especially
- evident if min and max limits are set to 0 and members with
- penalties of 0 and 1 are in the queue since the member with
- penalty 1 will still receive calls. This patch adjusts the
- special disabled value to be INT_MAX instead of 0. (closes issue
- ASTERISK-20862) Review: https://reviewboard.asterisk.org/r/2995/
- Reported by: Schmooze Com ........ Merged revisions 402645 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 402646 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-11-08 23:04 +0000 [r402606] Scott Griepentrog <sgriepentrog@digium.com>
- * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
- keep same local (from) tag for outgoing register requests For
- outbound register requests the tag on the From line was updated
- every 20 seconds prior to a successful registration and also once
- for each registration renewal. That behavior can possibly cause
- the registration to be denied because of the different tag, and
- is not aligned with the intention of RFC 3261 8.1.3.5 "...
- request constitutes a new transaction and SHOULD have the same
- value of the Call-ID, To, and From of the previous request...".
- This updates chan_sip to have a field to keep the local tag in
- the registration structure and use that tag for registration
- requests where the callid is also unchanged. (closes issue
- ASTERISK-12117) Reported by: Pawel Pierscionek Review:
- https://reviewboard.asterisk.org/r/2988/ ........ Merged
- revisions 402604 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 402605 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-11-08 20:20 +0000 [r402593] Richard Mudgett <rmudgett@digium.com>
- * res/res_stasis.c: res_stasis.c: Fix locking issues with the
- app_bridge_moh container. * Fix unlinking from the
- app_bridges_moh container in remove_bridge_moh() without a lock
- under normal circumstances. * Made check
- ast_bridge_set_after_callback() return value in
- bridge_moh_create() to handle failure. * Fixed SCOPED_AO2LOCK()
- locking over too much scope in stasis_app_bridge_moh_channel()
- and stasis_app_bridge_moh_stop(). * Fixed unusual usage of
- ao2_unlink_flag() in control_unlink(). * Fixed orphaned bridge
- from off nominal path in stasis_app_bridge_create(). * Fixed
- strange construct in stasis_app_unsubscribe(). From a bad merge?
- * Made load_module() cleanup on failure. Review:
- https://reviewboard.asterisk.org/r/2962/
- 2013-11-08 19:28 +0000 [r402584] Jonathan Rose <jrose@digium.com>
- * configs/manager.conf.sample, CHANGES, include/asterisk/manager.h,
- main/manager.c, main/security_events.c: security_events: Push out
- security events over AMI events Security Events will now be
- written to any listener of the new 'security' class Review:
- https://reviewboard.asterisk.org/r/2998/
- 2013-11-08 19:22 +0000 [r402582] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip.c: Clarify an ambiguous error message.
- 2013-11-08 18:48 +0000 [r402561-402570] David M. Lee <dlee@digium.com>
- * res/res_pjsip/config_system.c: res_pjsip: Print a helpful error
- message if sorcery registration fails
- * res/ari/resource_playbacks.h: Changes from make ari-stubs after
- r402560
- 2013-11-08 17:39 +0000 [r402560] Kevin Harwell <kharwell@digium.com>
- * res/ari/resource_playbacks.h (added), res/ari.make,
- rest-api/api-docs/playback.json (removed),
- res/ari/resource_playback.c (removed), res/res_ari_playback.c
- (removed), rest-api/api-docs/playbacks.json (added),
- res/ari/resource_playbacks.c (added), rest-api/resources.json,
- res/ari/resource_playback.h (removed), res/res_ari_playbacks.c
- (added): ARI playback: Rename ARI Playback to Playbacks Before
- playback was the only non plural resource. It has been renamed to
- playbacks for consistency. (closes issue ASTERISK-22737) Reported
- by: Paul Belanger
- 2013-11-08 17:28 +0000 [r402555] David M. Lee <dlee@digium.com>
- * res/res_ari.c, main/manager.c, main/http.c: ari: Add
- application/x-www-form-urlencoded parameter support ARI POST
- calls only accept parameters via the URL's query string. While
- this works, it's atypical for HTTP API's in general, and
- specifically frowned upon with RESTful API's. This patch adds
- parsing for application/x-www-form-urlencoded request bodies if
- they are sent in with the request. Any variables parsed this way
- are prepended to the variable list supplied by the query string.
- (closes issue ASTERISK-22743) Review:
- https://reviewboard.asterisk.org/r/2986/
- 2013-11-07 23:16 +0000 [r402537] Jonathan Rose <jrose@digium.com>
- * res/res_pjsip_authenticator_digest.c: PJSIP: Improve error
- handling in digest authenticator Previously, regardless of
- whether failure to authenticate was due to lacking any
- authentication or actually failing authentication, the Digest
- Authenticator would simply return that a challenge was still
- needed. It will continue to do that when no authentication
- information is in the received SIP digest, but when
- authentication information is present and does not pass
- authentication, that will be treated as an authentication error.
- This is to ensure that PJSIP will issue security events indicated
- failed auths.
- 2013-11-07 21:09 +0000 [r402528] David M. Lee <dlee@digium.com>
- * rest-api-templates/swagger_model.py, res/ari/resource_asterisk.h,
- rest-api-templates/ari_resource.c.mustache,
- rest-api-templates/asterisk_processor.py, res/res_ari_bridges.c,
- rest-api/api-docs/endpoints.json, res/ari/resource_endpoints.c,
- res/ari/resource_endpoints.h, res/res_ari_applications.c,
- res/res_ari_playback.c, res/res_ari_channels.c,
- rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
- res/res_ari_recordings.c, res/ari/resource_bridges.h,
- res/res_ari_events.c, res/ari/resource_applications.c,
- res/ari/resource_playback.c, rest-api/api-docs/channels.json,
- res/ari/resource_applications.h, res/ari/resource_channels.c,
- res/ari/resource_playback.h, res/res_ari_sounds.c,
- rest-api/api-docs/recordings.json, res/ari/resource_recordings.c,
- res/ari/resource_channels.h,
- rest-api-templates/ari_resource.h.mustache,
- res/ari/resource_events.c, res/ari/resource_recordings.h,
- rest-api-templates/rest_handler.mustache, res/res_ari_asterisk.c,
- rest-api-templates/res_ari_resource.c.mustache,
- res/ari/resource_events.h, rest-api/api-docs/sounds.json,
- res/ari/resource_sounds.c, res/ari/resource_sounds.h,
- rest-api/api-docs/asterisk.json,
- rest-api/api-docs/applications.json, res/res_ari_endpoints.c,
- res/ari/resource_asterisk.c, rest-api/api-docs/playback.json:
- ari: User better nicknames for ARI operations While working on
- building client libraries from the Swagger API, I noticed a
- problem with the nicknames. channel.deleteChannel()
- channel.answerChannel() channel.muteChannel() Etc. We put the
- object name in the nickname (since we were generating C code),
- but it makes OO generators redundant. This patch makes the
- nicknames more OO friendly. This resulted in a lot of name
- changing within the res_ari_*.so modules, but not much else.
- There were a couple of other fixed I made in the process. * When
- reversible operations (POST /hold, POST /unhold) were made more
- RESTful (POST /hold, DELETE /unhold), the path for the second
- operation was left in the API declaration. This worked, but
- really the two operations should have been on the same API. * The
- POST /unmute operation had still not been REST-ified. Review:
- https://reviewboard.asterisk.org/r/2940/
- 2013-11-06 21:57 +0000 [r402517] Kevin Harwell <kharwell@digium.com>
- * apps/app_queue.c: app_queue: crash if first agent is "busy" If
- the first agent/member (via CLI "queue show") in a queue is
- "busy" (dnd, circuit busy, etc...) and no agents answered then
- app_queue would crash. This occurred because while the calling of
- agent(s) remained valid the channel on "busy" agent would be set
- to NULL and then later dereferenced upon a second "rna" function
- call. The original intention of the code is to have only valid
- "call attempt" objects (channels != NULL) checked while
- attempting to call agent(s). It does this by building a
- "call_next" list of valid "call attempt" objects. In the case of
- the "busy" agent subsequent builds of the valid "call attempt"
- list would sometimes include (the case mentioned above) an
- invalid "call attempt" object. The fix was to make sure the "call
- attempt" list was appropriately built on every iteration. A NULL
- sanity check was also added at the original offending spot of the
- crash just in case another one slipped by somehow. (closes issue
- ASTERISK-22644) Reported by: Marco Signorini Review:
- https://reviewboard.asterisk.org/r/2983/
- 2013-11-05 21:16 +0000 [r402501-402507] Matthew Jordan <mjordan@digium.com>
- * channels/chan_sip.c: chan_sip: Use AST_AF* defined constant when
- calling ast_get_ip While the structure passed to ast_get_ip
- should be set memset to 0, thus initializing the ss_family member
- to 0, explicitly setting it to AST_AF_UNSPEC is more portable.
- * channels/chan_iax2.c: chan_iax2: Fix incorrect usage of
- ast_get_ip involving uninitialized struct This started off as a
- fix for the failing IAX2 acl_call test in the Asterisk Test
- Suite. When inspecting why that test was failing, it became clear
- that all attempts to bind to any local loopback address was
- failing: [Nov 2 15:56:28] VERBOSE[15787] chan_iax2.c: == Binding
- IAX2 to address 127.0.0.1:4569 [Nov 2 15:56:28] DEBUG[15787]
- netsock2.c: Splitting '127.0.0.1' into... [Nov 2 15:56:28]
- DEBUG[15787] netsock2.c: ...host '127.0.0.1' and port ''. [Nov 2
- 15:56:28] ERROR[15787] netsock2.c: getaddrinfo("127.0.0.1",
- "(null)", ...): ai_family not supported [Nov 2 15:56:28]
- WARNING[15787] acl.c: Unable to lookup '127.0.0.1' While there's
- conceivably other ways for getaddrino to return EAI_FAMILY, the
- most common way is if AF_INET, AF_INET6, or AF_UNSPEC is not
- provided as the desired family. The culprit was the call to
- ast_get_ip, defined in acl.h. This function uses the family from
- the passed in addr object (which it will also populate when it
- returns!) when it eventually calls getaddrinfo. This patch fixes
- the use of ast_get_ip that were not specifying the family in
- chan_iax2. This prevents uninitialized use of the structure, so
- that the addresses resolve correctly. Review:
- https://reviewboard.asterisk.org/r/2991
- * include/asterisk/netsock2.h, include/asterisk/acl.h: netsock2:
- Define AST_AF_* enum constants to their AF_* equivalents This
- patch explicitly defines AST_AF_* enum constants to their
- sys/socket.h defined equivalents. It is certainly unclear why
- these constants actually have to exist, given that netsock2.h
- includes sys/socket.h; however, since the code base is already
- liberally sprinkled with the usage of AST_AF_* (as well as with
- direct calls to AF_*), this will at least keep the semantics
- consistent between their usage across systems.
- * main/stasis_channels.c: stasis_channels: Don't give preference to
- ANI info in channel snapshots When publishing channel snapshots,
- we currently compute the caller ID name and number by giving
- preference first to ani.{name|number}, then to id.{name|number}.
- However, when a channel driver (such as chan_sip) updates the
- caller ID, it typically only updates the caller ID stored in
- id.{name|number}. This means that we are currently giving
- preference to stale information. When looking at the rest of the
- code base, the only other place where we appear to use this same
- logic is in app_amd. Everywhere else, we treat the party
- information in ani as being separate to the party information in
- id. This patch publishes only the caller ID name and number in
- the snapshot field for caller_name and caller_num. Note that the
- information in ANI is still available in caller_ani. Review:
- https://reviewboard.asterisk.org/r/2992/
- 2013-11-04 20:56 +0000 [r402452] Kevin Harwell <kharwell@digium.com>
- * /, channels/chan_sip.c: chan_sip: notify dialog info ignores
- presentation indicator in callerid The presentation indicator in
- a callerid (e.g. set by dialplan function
- Set(CALLERID(name-pres)= ...)) is not checked when SIP Dialog
- Info Notifies are generated during extension monitoring. Added a
- check to make sure the name and/or number presentations on the
- callee (remote identity) are set to allow. If they are restricted
- then "anonymous" is used instead. (closes issue AST-1175)
- Reported by: Thomas Arimont Review:
- https://reviewboard.asterisk.org/r/2976/ ........ Merged
- revisions 402450 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-11-02 04:30 +0000 [r402398-402438] Richard Mudgett <rmudgett@digium.com>
- * main/stasis.c, main/stasis_message_router.c,
- include/asterisk/vector.h: vector: Uppercase API to follow C
- convention. C does not support templates like C++.
- * main/stasis.c, main/stasis_message_router.c,
- include/asterisk/vector.h, include/asterisk/lock.h: vector:
- Update API to be more flexible. Made the vector macro API be more
- like linked lists. 1) Added a name parameter to ast_vector() to
- name the vector struct. 2) Made the API take a pointer to the
- vector struct instead of the struct itself. 3) Added an element
- cleanup macro/function parameter when removing an element from
- the vector for ast_vector_remove_cmp_unordered() and
- ast_vector_remove_elem_unordered(). 4) Added
- ast_vector_get_addr() in case the vector element is not a simple
- pointer. * Converted an inline vector usage in
- stasis_message_router to use the vector API. It needed the API
- improvements so it could be converted. * Fixed topic reference
- leak in router_dtor() when the stasis_message_router is
- destroyed. * Fixed deadlock potential in stasis_forward_all() and
- stasis_forward_cancel(). Locking two topics at the same time
- requires deadlock avoidance. * Made internal_stasis_subscribe()
- tolerant of a NULL topic. * Made stasis_message_router_add(),
- stasis_message_router_add_cache_update(),
- stasis_message_router_remove(), and
- stasis_message_router_remove_cache_update() tolerant of a NULL
- message_type. * Promoted a LOG_DEBUG message to LOG_ERROR as
- intended in dispatch_message(). Review:
- https://reviewboard.asterisk.org/r/2903/
- * apps/confbridge/conf_state_single.c,
- apps/confbridge/conf_state_inactive.c,
- apps/confbridge/conf_state_single_marked.c, /,
- apps/confbridge/include/confbridge.h,
- apps/confbridge/conf_state_multi.c, apps/app_confbridge.c,
- apps/confbridge/conf_state_multi_marked.c,
- apps/confbridge/conf_state.c: confbridge: Separate user muting
- from system muting overrides. The system overrides the user
- muting requests when MOH is playing or a waitmarked user is
- waiting for a marked user to join. System muting overrides
- interfere with what the user may wish the muting to be when the
- system override ends. * User muting requests are now independent
- of the system muting overrides. The effective muting is now the
- logical or of the user request and system override. * Added a
- Muted flag to the CLI "confbridge list <conference>" command. *
- Added a Muted header to the AMI ConfbridgeList action
- ConfbridgeList event. (closes issue AST-1102) Reported by: John
- Bigelow Review: https://reviewboard.asterisk.org/r/2960/ ........
- Merged revisions 402425 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/config.c, apps/confbridge/conf_config_parser.c,
- configs/confbridge.conf.sample: config: Allow ConfBridge DTMF
- menus to have '#' as the first digit. ConfBridge allows custom
- DTMF menus to be created in the confbridge.conf file by assigning
- a DTMF key sequence to a sequence of actions as follows:
- DTMF-sequence = action,action... Unfortunately, the normal config
- file processing code interprets an initial '#' character as
- starting a directive such as #include. * Add the ability to
- escape the first non-blank character in a config line so the '#'
- character can be used without triggering the directive processing
- code. (closes issue AFS-2) (closes issue ASTERISK-22478) Reported
- by: Nicolas Tanski Patches: jira_asterisk_22478_v11.patch
- (license #5621) patch uploaded by rmudgett (modified) Review:
- https://reviewboard.asterisk.org/r/2969/ ........ Merged
- revisions 402407 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/app.c, include/asterisk/app.h: voicemail: Simplify callback
- pointer declarations and add doxygen. * Typedefed and added
- doxegen for the voicemail callback functions. * Simplified the
- prototypes for ast_install_vm_functions() and
- ast_install_vm_test_functions() to use the new function typedefs.
- * Simplified the voicemail callback function pointer variable
- declarations to use the new function typedefs.
- 2013-11-01 21:49 +0000 [r402387] Scott Griepentrog <sgriepentrog@digium.com>
- * main/bridge.c, include/asterisk/bridge.h, main/manager_bridges.c:
- Manager: Add equivalent AMI actions for the bridge CLI commands.
- Adds the following AMI events, closely following their CLI
- counterparts: BridgeDestroy BridgeKick BridgeTechnologyList
- BridgeTechnologySuspend BridgeTechnologyUnsuspend BridgeDestroy
- kicks an entire bridge, where BridgeKick kicks just one channel
- off the bridge. When kicking a channel, specifying the bridge
- also (optional) insures it is not removed from the wrong bridge.
- The BridgeTechnology events allow viewing and changing suspension
- status, which affects only subsequent not active bridging.
- (closes ASTERISK-22356) Reported by: Richard Mudgett Review:
- https://reviewboard.asterisk.org/r/2973/
- 2013-11-01 16:31 +0000 [r402367] David M. Lee <dlee@digium.com>
- * rest-api-templates/api.wiki.mustache: ari wiki docs: add notes
- about allowMultiple parameters. This patch adds a note to any
- parameter that has 'allowMultiple' set in the Swagger
- documentation. (closes issue ASTERISK-22704)
- 2013-11-01 14:37 +0000 [r402358] Joshua Colp <jcolp@digium.com>
- * include/asterisk/stasis_app.h, rest-api/api-docs/channels.json,
- res/ari/resource_channels.c, res/res_ari_channels.c,
- res/ari/resource_channels.h, res/res_stasis_playback.c,
- res/stasis/control.c: res_ari_channels: Add ring operation, dtmf
- operation, hangup reasons, and tweak early media. The ring
- operation sends ringing to the specified channel it is invoked
- on. The dtmf operation can be used to send DTMF digits to the
- specified channel of a specific length with a wait time in
- between. Finally hangup reasons allow you to specify why a
- channel is being hung up (busy, congestion). Early media behavior
- has also been tweaked slightly. When playing media to a channel
- it will no longer automatically answer. If it has not been
- answered a progress indication is sent instead. (closes issue
- ASTERISK-22701) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2916/
- 2013-11-01 12:38 +0000 [r402348] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c, /,
- channels/chan_sip.c: chan_sip: Fix RTCP port for SRFLX ICE
- candidates This corrects one-way audio between Asterisk and
- Chrome/jssip as a result of Asterisk inserting the incorrect RTCP
- port into RTCP SRFLX ICE candidates. This also exposes an ICE
- component enumeration to extract further details from candidates.
- (closes issue ASTERISK-21383) Reported by: Shaun Clark Review:
- https://reviewboard.asterisk.org/r/2967/ ........ Merged
- revisions 402345 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-11-01 12:31 +0000 [r402336-402346] Joshua Colp <jcolp@digium.com>
- * include/asterisk/stasis_app.h, res/ari/resource_channels.c:
- res_ari_channels: Fix a deadlock when originating multiple
- channels close to eachother. If a Stasis application is specified
- an implicit subscription is done on the originated channel. This
- was previously done with the channel lock held which is dangerous
- as the underlying code locks the container and iterates items.
- This change releases the lock on the originated channel before
- subscribing occurs. (closes issue ASTERISK-22768) Reported by:
- Matt Jordan Review: https://reviewboard.asterisk.org/r/2979/
- * res/stasis/control.c: res_stasis: Ensure the channel is always
- departed from the bridge when it leaves. This change adds a
- command to the command queue to explicitly depart the channel
- from the bridge when it is told it has left. If the channel has
- already been departed or has entered a different bridge this
- command will become a no-op. (closes issue ASTERISK-22703)
- Reported by: John Bigelow (closes issue ASTERISK-22634) Reported
- by: Kevin Harwell Review:
- https://reviewboard.asterisk.org/r/2965/
- 2013-10-31 22:08 +0000 [r402327] Mark Michelson <mmichelson@digium.com>
- * contrib/scripts/sip_to_res_sip (removed),
- contrib/scripts/sip_to_pjsip (added),
- contrib/scripts/sip_to_pjsip/astconfigparser.py,
- contrib/scripts/sip_to_pjsip/astdicts.py,
- contrib/scripts/sip_to_pjsip/sip_to_pjsip.py: Update the
- conversion script from sip.conf to pjsip.conf (closes issue
- ASTERISK-22374) Reported by Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2846
- 2013-10-31 16:04 +0000 [r402285-402289] Matthew Jordan <mjordan@digium.com>
- * main/loader.c, /: core/loader: Don't call dlclose in a while loop
- For awhile now, we've noticed continuous integration builds
- hanging on CentOS 6 64-bit build agents. After resolving a number
- of problems with symbols, strange locks, and other shenanigans,
- the problem has persisted. In all cases, gdb shows the Asterisk
- process stuck in loader.c on one of the infinite while loops that
- calls dlclose repeatedly until success. The documentation of
- dlclose states that it returns 0 on success; any other value on
- error. It does not state that repeatedly calling it will
- eventually clear those errors. Most likely, the repeated calls to
- dlclose was to force a close by exhausting the references on the
- library; however, that will never succeed if: (a) There is some
- fundamental error at work in the loaded library that precludes
- unloading it (b) Some other loaded module is referencing a symbol
- in the currently loaded module This results in Asterisk sitting
- forever. Since we have matching pairs of dlopen/dlclose, this
- patch opts to only call dlclose once, and log out as an ERROR if
- dlclose fails to return success. If nothing else, this might help
- to determine why on the CentOS 6 64-bit build agent things are
- not closing successfully. Review:
- https://reviewboard.asterisk.org/r/2970 ........ Merged revisions
- 402287 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 402288 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/media_index.c: medix_index: Display errors when library
- calls fail Based on feedback from ipengineer in #asterisk, when
- the media indexer cannot access a sound file on the system (or
- otherwise fails) Asterisk displays a "Cannot frob file" error but
- fails to tell you why. This is especially problematic as the
- media_indexer failing will rpevent Asterisk from starting, as it
- is in the core. We now display the errno error messages so folks
- can figure out what they've done wrong.
- 2013-10-31 14:43 +0000 [r402276] David M. Lee <dlee@digium.com>
- * res/stasis/app.c: stasis: add functions embarrassingly missing
- from r400522 I neglected to implement two of the endpoint
- subscription functions when I did the work. Normally, you'll only
- hit that when you unsubscribe from a specific endpoint.
- 2013-10-30 17:52 +0000 [r402265] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_messaging.c, channels/chan_pjsip.c:
- pjsip_messaging: Added debug for in dialog messaging (issue
- ASTERISK-22777) Reported by: Matt Jordan
- 2013-10-29 23:43 +0000 [r402226] Rusty Newton <rnewton@digium.com>
- * sounds/Makefile, /: Updates for 1.4.25 core sounds and 1.4.14
- extra sounds, plus new en_GB language set The new sound packages
- relate to issues: ASTERISK-22544, ASTERISK-22411, ASTERISK-21413,
- ASTERISK-20782 Modified sounds/Makefile for the new sound
- versions and to account for the new en_GB language set. (issue
- ASTERISK-22659) (closes issue ASTERISK-22659) (closes issue
- ASTERISK-22411) (closes issue ASTERISK-22544) ........ Merged
- revisions 402224 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 402225 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-29 12:53 +0000 [r402154] Matthew Jordan <mjordan@digium.com>
- * /, main/translate.c, main/xmldoc.c, main/channel.c, main/pbx.c:
- Remove some spammy debug messages; improve clarity of others
- Debug messages aren't free. Even when the debug level is
- sufficiently low such that the messages are never evaluated,
- there is a cost to having to parse Asterisk logs that contain
- debug messages that (a) fail to convey sufficient information or
- (b) occur so frequently as to be next to meaningless. Based on
- having to stare at lots of DEBUG messages, this patch makes the
- following changes: * channel.c: When copying variables from a
- parent channel to a child channel, specify the channels involved.
- Do not log anything for a variable that is not inherited; the
- fact that it doesn't have an _ or __ already signifies that it
- won't be inherited. * pbx.c: Specify what function evaluation has
- occurred that created the result. * translate.c: Bump up the
- translator path messages to 10. I've never once had to use these
- debug messages, and for each format that is registered (on
- startup) and unregistered (on shutdown) the entire f^2 matrix is
- logged out. For short tests in the Asterisk Test Suite, this
- should make finding the actual test much easier. * xmldoc.c: The
- debug message that 'blah' is not found in the tree is expected.
- Often, description elements - which are not required - are not
- provided. This debug message adds no additional value, as it is
- not indicative of an error or helpful in debugging which element
- did not contain a 'blah' element as a child. If an element is
- supposed to contain a child element, then that XML tree should
- have failed validation in the first place. Review:
- https://reviewboard.asterisk.org/r/2966/ ........ Merged
- revisions 402150 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 402151 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-29 12:51 +0000 [r402148-402152] Kinsey Moore <kmoore@digium.com>
- * res/ari/resource_channels.h, rest-api/api-docs/channels.json,
- res/ari/resource_channels.c, res/res_ari_channels.c: ARI: Remove
- channels/{channelId}/dial This removes the
- /ari/channels/{channelId}/dial URI since it is redundant, overly
- complex, is likely to become more externally complex over time,
- and is too high-level compared with other ARI operations. See the
- following for further information:
- http://lists.digium.com/pipermail/asterisk-app-dev/2013-October/000002.html
- (closes issue ASTERISK-22784) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2968/
- * bridges/bridge_native_rtp.c: bridge_native_rtp: Ensure bridge is
- torn down When a bridge transitions away from one tech to
- another, the tech going away is provided a dummy bridge with no
- channels in it to tear down. Currently this means that the
- teardown code exits prematurely and does not tear anything down.
- This change tears down RTP bridging for the channel provided in
- the leave bridge tech callback. This also reverts the majority of
- r400403 since it is now redundant. (closes issue ASTERISK-22628)
- (closes issue ASTERISK-22676) Reported by: John Bigelow Reported
- by: Kevin Harwell Tested by: John Bigelow Review:
- https://reviewboard.asterisk.org/r/2905/ Patches:
- native_rtp_fix.diff uploaded by Kinsey Moore (License 6273)
- 2013-10-29 11:15 +0000 [r402139] Joshua Colp <jcolp@digium.com>
- * res/res_ari_playback.c, rest-api/api-docs/playback.json:
- res_ari_playback: Add missing 404 error response for GET and
- DELETE. (closes issue ASTERISK-22722) Reported by: Richard
- Mudgett
- 2013-10-28 21:30 +0000 [r402127] David M. Lee <dlee@digium.com>
- * doc: Ignore full docs
- 2013-10-28 15:05 +0000 [r402112-402115] Michael L. Young <elgueromexicano@gmail.com>
- * UPGRADE-11.txt, UPGRADE.txt: Fix UPGRADE.txt Due To Merging From
- Branch 11 When merging in the patch for ASTERISK-22728, the
- UPGRADE.txt file was changed incorrectly. That change should have
- gone into ASTERISK-11.txt. This commit is to fix that. Also,
- another comment in the UPGRADE-11.txt was missing and this commit
- adds that as well.
- * UPGRADE.txt, /, channels/chan_sip.c: chan_sip: Clarify
- 'Forcerport' Setting Displayed When Running "sip show peers"
- While looking at ASTERISK-22236, Walter Doekes pointed out that
- when running "sip show peers", the setting being displayed can be
- confusing. The display of "N" used to mean NAT (i.e. yes). The
- NAT setting has gone through many different changes resulting in
- the display of different characters to try and convey what the
- current setting is for 'Forcerport' (A for Auto and Forcerport is
- currently on, a for Auto but Forcerport is off, Y for yes, and N
- for no). During the initial code review to try and clarify these
- settings (especially since "N" no longer meant what it used to
- mean in prior versions of Asterisk), Mark Michelson suggested
- using the full space available to display the settings which
- helped to make the settings very clear. That was a great
- suggestion. Therefore, this patch does the following: * The
- column for 'Forcerport' now will show: Auto (Yes), Auto (No),
- Yes, or No. * A column for the 'Comedia' setting has been added.
- It too will display the setting in a non-cryptic way: Auto (Yes),
- Auto (No), Yes, or No. * UPGRADE.txt has been updated to document
- this change. (closes issue ASTERISK-22728) Reported by: Walter
- Doekes Tested by: Michael L. Young Patches:
- asterisk-forcerport-display-clarification_v3.diff uploaded by
- Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2941 ........ Merged revisions
- 402111 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-27 23:22 +0000 [r402081-402090] Matthew Jordan <mjordan@digium.com>
- * main/cdr.c: Filter out internal channels from dial message
- handling Surrogate channels would pop up from time to time in
- dial message handling. This would cause a WARNING message to
- appear, indicating that the Surrogate channel had no CDR. This
- patch filters out those channels that have the internal
- implementation flag set, such that the WARNING message isn't
- displayed.
- * main/cdr.c, cdr/cdr_sqlite3_custom.c, cdr/cdr_syslog.c,
- cdr/cdr_sqlite.c, UPGRADE.txt, cdr/cdr_adaptive_odbc.c,
- addons/cdr_mysql.c, include/asterisk/cdr.h, cdr/cdr_pgsql.c,
- cdr/cdr_odbc.c, cdr/cdr_radius.c, cdr/cdr_custom.c,
- cdr/cdr_manager.c, cdr/cdr_tds.c, cdr/cdr_csv.c: Prevent CDR
- backends from unregistering while billing data is in flight This
- patch makes it so that CDR backends cannot be unregistered while
- active CDR records exist. This helps to prevent billing data from
- being lost during restarts and shutdowns. Review:
- https://reviewboard.asterisk.org/r/2880/
- 2013-10-26 12:55 +0000 [r402064] Joshua Colp <jcolp@digium.com>
- * include/asterisk/res_pjsip_session.h, channels/chan_pjsip.c:
- chan_pjsip: Fix a crash when direct media is enabled and an ACK
- is received after the channel is hung up. (closes issue
- ASTERISK-22731) Reported by: Kinsey Moore
- 2013-10-26 00:34 +0000 [r402044-402055] Richard Mudgett <rmudgett@digium.com>
- * res/res_stasis.c: res_stasis.c: Made use the ao2_container
- callback templates. * Made res_stasis.c use the OBJ_SEARCH_XXX
- defines.
- * main/taskprocessor.c: taskprocessor: Made use pthread_equal() to
- compare thread ids. * Removed another silly use of RAII_VAR().
- RAII_VAR() and SCOPED_LOCK() are not silver bullets that allow
- you to turn off your brain.
- 2013-10-25 23:48 +0000 [r402043] Scott Griepentrog <sgriepentrog@digium.com>
- * include/asterisk/rtp_engine.h, main/rtp_engine.c, /: rtp_engine:
- fix rtp payloads copy and improve argument names In function
- ast_rtp_instance_early _bridge_make_compatible the use of
- instance 0/1 as arguments doesn't clearly communicate a direction
- that the copying of payloads from the source channel to the
- destination channel will occur, making it more probable to have
- the arguments to ast_rtp_codecs_payloads_copy() put in the
- reverse order. This patch renames the arguments with _dst and
- _src suffixes and corrects the copy direction. (closes issue
- ASTERISK-21464) Reported by: Kevin Stewart Review:
- https://reviewboard.asterisk.org/r/2894/ ........ Merged
- revisions 402000 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 Test shows
- rtpmap:119 being copied per this change, but is not in sip invite
- ........ Merged revisions 402042 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-25 22:02 +0000 [r402003] Richard Mudgett <rmudgett@digium.com>
- * res/stasis/app.c: You'd think that new files would be free of
- whitespace issues. But you would be wrong.
- 2013-10-25 21:53 +0000 [r401973-402001] Jonathan Rose <jrose@digium.com>
- * rest-api/api-docs/channels.json, res/ari/resource_channels.c,
- res/res_ari_channels.c, rest-api/api-docs/bridges.json,
- res/ari/resource_bridges.c, res/res_ari_bridges.c: ARI:
- channel/bridge recording errors when invalid format specified
- Asterisk will now issue 422 if recording is requested against
- channels or bridges with an unknown format (closes issue
- ASTERISK-22626) Reported by: Joshua Colp Review:
- https://reviewboard.asterisk.org/r/2939/
- * res/res_ari_channels.c, rest-api/api-docs/bridges.json,
- rest-api/api-docs/recordings.json, res/ari/resource_bridges.c,
- res/ari/ari_model_validators.h, res/res_ari_bridges.c,
- rest-api/api-docs/events.json, res/res_stasis_recording.c,
- rest-api/api-docs/channels.json, res/ari/resource_channels.c,
- res/ari/ari_model_validators.c: ARI recordings: Issue HTTP
- failures for recording requests with file conflicts If a file
- already exists in the recordings directory with the same name as
- what we would record, issue a 422 instead of relying on the
- internal failure and issuing success. (closes issue
- ASTERISK-22623) Reported by: Joshua Colp Review:
- https://reviewboard.asterisk.org/r/2922/
- 2013-10-25 20:47 +0000 [r401961] Scott Griepentrog <sgriepentrog@digium.com>
- * include/asterisk/pbx.h, main/pbx.c, /: pbx.c: fix confused match
- caller id that deleted exten still in hash This fixes a bug where
- a zero length callerid match adjacent to a no match callerid
- extension entry would be deleted together, which then resulted in
- hashtable references to free'd memory. A third state of the
- matchcid value has been added to indicate match to any extension
- which allows enforcing comparison of matchcid on/off without
- errors. (closes issue AST-1235) Reported by: Guenther Kelleter
- Review: https://reviewboard.asterisk.org/r/2930/ ........ Merged
- revisions 401959 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401960 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-25 17:34 +0000 [r401897-401938] Jonathan Rose <jrose@digium.com>
- * res/res_pjsip/pjsip_distributor.c,
- res/res_pjsip_endpoint_identifier_user.c: PJSIP: Add log messages
- when requests are received for non-existent endpoints (closes
- issue ASTERISK-22552) Reported by: Rusty Newton Review:
- https://reviewboard.asterisk.org/r/2934/
- * utils/clicompat.c, utils/refcounter.c, /: Put clicompat-r2.patch
- back in We've figured out how to resolve the problems this was
- causing in 12/trunk, so this can go back in now. (issue
- ASTERISK-22467) Reported by: Corey Farrell Patches:
- clicompat-r2.patch uploaded by coreyfarrell (license 5909)
- ........ Merged revisions 401914 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401935 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, utils/clicompat.c: revert clicompat-r2.patch from r401704
- Patch caused the following build errors against testsuite
- https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD4-244
- (issue ASTERISK-22467) Reported by: Corey Farrell ........ Merged
- revisions 401895 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401896 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-25 16:07 +0000 [r401885] Kevin Harwell <kharwell@digium.com>
- * /, channels/chan_sip.c: chan_sip: Allow a sip peer to accept both
- AVP and AVPF calls Adapts the behaviour of avpf to only impact
- the format of outgoing calls. For inbound calls, both AVP and
- AVPF calls will be accepted regardless of the value of avpf in
- the configuration. (closes issue ASTERISK-22005) Reported by:
- Torrey Searle Patches: optional_avpf_trunk.patch uploaded by
- tsearle (license 5334) ........ Merged revisions 401884 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-25 13:48 +0000 [r401872] David M. Lee <dlee@digium.com>
- * tests/test_json.c: test_json: Fix deprecation warnings After a
- series of upgrades over recent weeks, I've discovered that
- test_json.c won't compile in dev mode any more for me. One of
- gcc-4.8.2, OS X Mavericks or Xcode 5 has decided to deprecate
- tempnam. Which, in general, is a good thing. But for test code
- that just needs a temporary file, it's just annoying. This patch
- replaces usage of tempname with mkstemp, avoiding the deprecation
- warning. It also removes the temporary files when the test is
- complete, which apparently we weren't doing before (oops).
- Review: https://reviewboard.asterisk.org/r/2957/
- 2013-10-24 20:56 +0000 [r401835] Kevin Harwell <kharwell@digium.com>
- * /, main/logger.c: Logging: Logging types ignored after specifying
- a verbose level If one specified a verbose level within a logging
- facility in logger.conf then any component after it was ignored.
- Fixed so all values are correctly read. (closes issue
- ASTERISK-22456) Reported by: Kevin Harwell ........ Merged
- revisions 401833 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-24 20:34 +0000 [r401706-401831] Jonathan Rose <jrose@digium.com>
- * main/utils.c, /: utils: Fix memory leaks and missed
- unregistration of CLI commands on shutdown Final set of patches
- in a series of memory leak/cleanup patches by Corey Farrell
- (closes issue ASTERISK-22467) Reported by: Corey Farrell Patches:
- main-utils-1.8.patch uploaded by coreyfarrell (license 5909)
- main-utils-11.patch uploaded by coreyfarrell (license 5909)
- main-utils-12up.patch uploaded by coreyfarrell (license 5909)
- ........ Merged revisions 401829 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401830 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * tests/test_linkedlists.c, /: test_linkedlists: Fix memory leak
- (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
- test_linkedlists-1.8.patch uploaded by coreyfarrell (license
- 5909) test_linkedlists-11up.patch uploaded by coreyfarrell
- (license 5909) ........ Merged revisions 401790 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401791 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/jitterbuf.c: jitterbuf: Fix memory leak on jitter buffer
- reset (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
- jitterbuf-jb_reset-leak-1.8.patch
- jitterbuf-jb_reset-leak-11up.patch ........ Merged revisions
- 401786 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 401787 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/astobj2.c: astobj2: Unregister debug CLI commands at exit
- (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
- astobj2-clean-debug-cli-1.8-11.patch uploaded by coreyfarrell
- (license 5909) astobj2-clean-debug-cli-12up.patch uploaded by
- coreyfarrell (license 5909) ........ Merged revisions 401781 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401783 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/app_voicemail.c, /: app_voicemail: Memory Leaks against
- tests (issue ASTERISK-22467) Reported by: Corey Farrell Patches:
- app_voicemail-1.8.patch uploaded by coreyfarrell (license 5909)
- app_voicemail-11up.patch uploaded by coreyfarrell (license 5909)
- ........ Merged revisions 401743 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401744 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/app.c, main/asterisk.c, utils/clicompat.c,
- channels/chan_dahdi.c, codecs/ilbc/doCPLC.c, main/data.c, /:
- memory leaks: Memory leak cleanup patch by Corey Farrell (second
- set) Also covers ast_app_parse_timelen-fail-zero-length.patch,
- but the patch was replaced with one of my own. (issue
- ASTERISK-22467) Reported by: Corey Farrell Patches:
- chan_dahdi-cleanup_push.patch uploaded by coreyfarrell (license
- 5909) clicompat-r2.patch uploaded by coreyfarrell (license 5909)
- codecs-ilbc-doCPLC.patch uploaded by coreyfarrell (license 5909)
- data-cleanup-test-registration.patch uploaded by coreyfarrell
- (license 5909) main-asterisk-kill-listener.patch uploaded by
- coreyfarrell (license 5909) ........ Merged revisions 401704 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401705 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-24 03:12 +0000 [r401701] David M. Lee <dlee@digium.com>
- * rest-api-templates/ari_model_validators.c.mustache,
- rest-api-templates/models.wiki.mustache,
- rest-api/api-docs/events.json,
- rest-api-templates/swagger_model.py: The Swagger 1.2
- specification for type extension ended up being slightly
- different than my proposal. Instead of putting an 'extends' field
- on the subtype, the base type has a 'subTypes' field, which is a
- list of the subTypes. Given that its a messaging model and not an
- object model, kinda makes sense. This patch changes the
- events.json api-doc, and the python translators to take the new
- format into account. Other changes that are in Swagger 1.2 were
- not adopted, since the spec is still in flux, and could change
- before it's finalized. A summary of changes to the Swagger-1.2
- spec can be found at
- https://github.com/wordnik/swagger-core/wiki/1.2-transition.
- (closes issue ASTERISK-22440) Review:
- https://reviewboard.asterisk.org/r/2909/
- 2013-10-23 20:02 +0000 [r401621-401662] Jonathan Rose <jrose@digium.com>
- * /, tests/test_dlinklists.c, funcs/func_math.c,
- channels/sip/reqresp_parser.c, main/test.c,
- main/editline/readline.c: memory leaks: Memory leak cleanup patch
- by Corey Farrell (first set) (issue ASTERSIK-22467) Reported by:
- Corey Farrell Patches:
- chan_sip-parse_contact_header_test-free-contacts.patch uploaded
- by coreyfarrell (license 5909) cli-filename-completion-leak.patch
- uploaded by coreyfarrell (license 5909) func_math.patch uploaded
- by corefarrell (license 5909) main-test-cleanup.patch uploaded by
- coreyfarrell (license 5909) test_dlinklists.patch uploaded by
- coreyfarrell (license 5909) ........ Merged revisions 401660 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401661 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_rtp_asterisk.c, /, main/translate.c: res_rtp_asterisk:
- Address jittery DTMF events in RTP streams (closes issue
- ASTERISK-21170) Reported by: NITESH BANSAL Patches:
- dtmf-timestamp.patch uploaded by NITESH BANSAL (license 6418)
- Review: https://reviewboard.asterisk.org/r/2938/ ........ Merged
- revisions 401619 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401620 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-23 16:49 +0000 [r401581] Richard Mudgett <rmudgett@digium.com>
- * cdr/cdr_adaptive_odbc.c, /: cdr_adaptive_odbc: Also apply a
- filter when the CDR value is empty. Extra CDR records are written
- if a filtered CDR value is empty because the filter is not
- checked. (closes issue ASTERISK-22272) Reported by: Jordi Llull
- Chavarria ........ Merged revisions 401577 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401579 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-23 16:37 +0000 [r401578] John Bigelow <jbigelow@digium.com>
- * main/bridge_channel.c: Add a test suite event to indicate when
- the atxfer 3-way feature is detected This adds a test suite event
- that indicates to tests when the attended transfer three-way call
- feature is detected. Review:
- https://reviewboard.asterisk.org/r/2912/
- 2013-10-23 15:23 +0000 [r401539] Kinsey Moore <kmoore@digium.com>
- * channels/chan_mgcp.c, /: chan_mgcp: Properly handle malformed
- media lines This corrects a situation in which a media line was
- not parsed properly and resulted in a crash. (closes issue
- ASTERISK-21190) Reported by: adomjan Patches:
- chan_mgcp.c-sscnaf_fix uploaded by adomjan (License 5448)
- ........ Merged revisions 401537 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401538 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-23 11:14 +0000 [r401499] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_sip.c: chan_sip: Fix an issue where an
- incompatible audio format may be added to SDP. If preferred
- codecs included any non-audio format the code would mistakenly
- add the audio format, even if it was not a joint capability with
- the remote side. (closes issue ASTERISK-21131) Reported by:
- nbougues Patches: patch_unsupported_codec_1.8.patch uploaded by
- nbougues (license 6470) ........ Merged revisions 401497 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401498 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-23 02:31 +0000 [r401488] Michael L. Young <elgueromexicano@gmail.com>
- * channels/chan_iax2.c, configs/iax.conf.sample: chan_iax2: Fix
- Binding To Multiple Addresses Again When reworking chan_iax2 for
- IPv6, the ability to bind to multiple addresses was removed by
- mistake. This patch restores this functionality and adds notes
- about IPv6 addresses in the sample config. (closes issue
- ASTERISK-22741) Reported by: Joshua Colp Tested by: Michael L.
- Young Patches: asterisk-22741-fix-binding-multiple-addr.diff
- uploaded by Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2945/
- 2013-10-22 22:50 +0000 [r401447] Matthew Jordan <mjordan@digium.com>
- * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Fix crash when RTCP
- is not available during SSRC change In r400089, a patch was put
- in to correct erroneous RTCP statistic resets. Unfortunately,
- ast_rtp_read can be called on an RTP instance that does not have
- RTCP information. This patch prevents that crash by only
- resetting the statistics if we do actually have an RTCP instance.
- (issue AST-1174) (closes issue ASTERISK-22667) Reported by: John
- Bigelow ........ Merged revisions 401445 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401446 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-22 19:03 +0000 [r401420-401434] Richard Mudgett <rmudgett@digium.com>
- * apps/app_queue.c, /: app_queue: Fix CLI "queue remove member"
- queue_log entry. The queue_log entry resulting from CLI "queue
- remove member" when log_membername_as_agent is enabled is wrong.
- It always uses the interface name instead of the member name in
- the queue_log entry. * Get the queue member before removing it
- from the queue so the member name is available for the queue_log
- entry. (closes issue ASTERISK-21826) Reported by: Oscar Esteve
- Patches: fix_membername.diff (license #6505) patch uploaded by
- Oscar Esteve (modified to fix potential ref leak) ........ Merged
- revisions 401433 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/bridge_channel.c,
- include/asterisk/bridge_channel_internal.h, main/bridge.c:
- Bridging: Fix orphaned bridge if neither of the joining channels
- can join. The original issue noted that the bridge is orphaned
- when res_parking.so is not loaded and a call uses the dial kK
- flags. A similar issue happens when only one of the park flags is
- used. In this case you have the bridge with one or the other
- channel left in it. The channel and bridge will stay around until
- the channel hangs up. * Fixed the initial bridge channel push
- failure to act as if the channel were kicked out of the bridge.
- The bridge then decides if it needs to be dissolved. (closes
- issue ASTERISK-22629) Reported by: Kevin Harwell Review:
- https://reviewboard.asterisk.org/r/2928/
- * res/parking/parking_bridge_features.c,
- res/parking/parking_bridge.c: res_parking: Give parking timeout
- comebacktoorigin channel DTMF features. Parking timeouts did not
- set any DTMF features for the channel calling the parker back. *
- Added code to set the parkedcalltransfers, parkedcallreparking,
- parkedcallhangup, and parkedcallrecording options appropriately
- for the channels when a parking timeout occurs. The recall
- channel DTMF options are set using the BRIDGE_FEATURES channel
- variable to allow the other timeout options to have the DTMF
- features available. (closes issue ASTERISK-22630) Reported by:
- Kevin Harwell Review: https://reviewboard.asterisk.org/r/2942/
- * res/res_parking.c: res_parking: Update XML documention for DTMF
- features after parking timeout. * Updated the XML documentation
- to indicate that the parkedcalltransfers, parkedcallreparking,
- parkedcallhangup, and parkedcallrecording configuration options
- also apply to parking timeouts. (issue ASTERISK-22630) Reported
- by: Kevin Harwell Review:
- https://reviewboard.asterisk.org/r/2942/
- 2013-10-21 21:05 +0000 [r401364] Mark Michelson <mmichelson@digium.com>
- * main/bridge_channel.c: Remove a noisy debug message from bridging
- code. This particular debug message, during a stress test, was
- logged so often that it appeared that there may be a memory leak
- in the logger code. In actuality, there was no memory leak, but
- the logger thread was having a hard time keeping up with the
- demands of the rest of the system. Since this debug message has
- no value at all, the best way to fix the problem was to just
- remove the message. (closes issue AST-1225) reported by John
- Bigelow Patches: spammy_log.diff uploaded by Mark Michelson
- (License #5049)
- 2013-10-21 19:48 +0000 [r401327] Kevin Harwell <kharwell@digium.com>
- * main/editline/term.c, /: Segfault in LIBEDIT_INTERNAL after
- tgetstr(), when libncurses5-dev isn't installed Include the
- appropriate declarations when not using termcap, but term+curses
- and [n]curses do not exist. (closes issue ASTERISK-22351)
- Reported by: A. Iglesias Patches:
- issueA22351_libedit_internal_without_ncurses_dev.patch uploaded
- by wdoekes (license 5674) ........ Merged revisions 401325 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401326 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-21 18:58 +0000 [r401315] David M. Lee <dlee@digium.com>
- * rest-api/api-docs/channels.json: Fixing r401281; the model name
- is Channel, with a capital C
- 2013-10-19 21:53 +0000 [r401291] Kinsey Moore <kmoore@digium.com>
- * channels/chan_iax2.c: Fix IAX2 incoming call address lookups This
- fixes address lookup for incoming calls without a peer
- definition. The address family was unset instead of being set to
- AST_AF_UNSPEC which was causing lookup failures on "127.0.0.1".
- This is one of the causes of the current failure of the app_page
- integration test. Review:
- https://reviewboard.asterisk.org/r/2933/
- 2013-10-19 14:43 +0000 [r401281] Joshua Colp <jcolp@digium.com>
- * res/res_ari_channels.c, res/ari/resource_channels.h, main/pbx.c,
- rest-api/api-docs/channels.json, res/ari/resource_channels.c:
- Return a channel snapshot when originating using ARI, and
- subscribe the Stasis application to it. This change allows a user
- of ARI to know what channel it has originated and also follow any
- progress. If a Stasis application is provided it will be
- automatically subscribed to the originated channel immediately.
- (closes issue ASTERISK-22485) Reported by: David Lee Review:
- https://reviewboard.asterisk.org/r/2910/
- 2013-10-18 22:51 +0000 [r401271] Richard Mudgett <rmudgett@digium.com>
- * res/parking/parking_controller.c: res_parking: Remove setting
- useless flag.
- 2013-10-18 21:49 +0000 [r401261] David M. Lee <dlee@digium.com>
- * contrib/scripts/get_swagger_ui.sh (added), Makefile, static-http:
- This is just a quick script for dumping swagger-ui into
- static-http, so that it can be served by the Asterisk web server.
- I had to change the Makefile in order to recursively install
- content from the static-http directory, hence the code review
- instead of just putting it in. Review:
- https://reviewboard.asterisk.org/r/2924/
- 2013-10-18 18:33 +0000 [r401248] Mark Michelson <mmichelson@digium.com>
- * main/manager.c, main/bridge.c, main/bucket.c, main/sorcery.c,
- main/cli.c: Resolve some memory leaks due to incorrect for loop /
- ao2 ref usage. A common idiom in Asterisk is to due something
- like: for (ao2_obj = list_beginning; ao2_obj = next_item;
- ao2_ref(ao2_obj, -1)) { ...do stuff... } This is nice because it
- automatically takes care of the object references for you.
- However, there is a pitfall here. If a break statement is in the
- for loop, then the current reference is not cleaned up. In some
- cases, this is on purpose, but in others there is a leak. This
- commit fixes the leak cases.
- 2013-10-18 16:52 +0000 [r401232-401239] Richard Mudgett <rmudgett@digium.com>
- * apps/app_dial.c, main/channel.c, res/res_fax.c,
- include/asterisk/channel.h: Add channel lock protection around
- translation path setup. Most callers of
- ast_channel_make_compatible() happen before the channels enter a
- two party bridge. With the new bridging framework, two party
- bridging technologies may also call ast_channel_make_compatible()
- when there is more than one thread involved with the two
- channels. * Added channel lock protection in set_format() and
- ast_channel_make_compatible_helper() when dealing with the
- channel's native formats while setting up a translation path. *
- Fixed best_src_fmt and best_dst_fmt usage consistency in
- ast_channel_make_compatible_helper(). The call to
- ast_translator_best_choice() got them backwards. * Updated some
- callers of ast_channel_make_compatible() and the function
- documentation. There is actually a difference between the two
- channels passed in. * Fixed the deadlock potential in res_fax.c
- dealing with ast_channel_make_compatible(). The deadlock
- potential was already there anyway because res_fax called
- ast_channel_make_compatible() with chan locked. (closes issue
- ASTERISK-22542) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2915/
- * include/asterisk/bridge.h: Tweak ast_bridge_depart() doxygen.
- 2013-10-18 16:05 +0000 [r401212-401223] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/bridge.h: Remove the bit about requiring
- ast_bridge_depart() to be called before ast_bridge_destroy().
- * include/asterisk/bridge.h: Clarify in ast_bridge_destroy() about
- how departable channels must be handled.
- 2013-10-18 15:13 +0000 [r401183] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c: Remove Port Restriction When Checking For
- NAT When trying to determine if a peer is behind NAT, we should
- not be using the ports when comparing addresses. This patch
- removes the port from being checked and just useds the addresses
- now. (closes issue ASTERISK-22729) Reported by: Michael L. Young
- Tested by: Michael L. Young Patches:
- asterisk-remove-using-port-for-nat-check.diff uploaded by Michael
- L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2927/ ........ Merged
- revisions 401182 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-18 14:47 +0000 [r401180] Walter Doekes <walter+asterisk@wjd.nu>
- * main/channel.c, /: Properly copy/remove the device state cache
- flag over a masquerade. In r378303 the
- AST_FLAG_DISABLE_DEVSTATE_CACHE flag was added that tells the
- devstate system to not cache states for non-real devices.
- However, when optimizing away channels (ast_do_masquerade), that
- flag wasn't copied. In my case, using Local devices as queue
- members created a situation where the endpoint was considered in
- use, but the state change of the device being available again was
- ignored (not cached). The endpoint channel was optimized into the
- (previously) Local channel, but kept the do-not-cache flag. The
- end result being that the queue member apparently stayed in use
- forever. (closes issue ASTERISK-22718) Reported by: Walter Doekes
- Review: https://reviewboard.asterisk.org/r/2925/ ........ Merged
- revisions 401178 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401179 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-17 20:37 +0000 [r401168] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c: Fix Setting A chan_sip Dialog's
- SIP_NAT_FORCE_RPORT Flag A condition was added in a commit to fix
- ASTERISK-21374, that, if the SIP_PAGE3_NAT_AUTO_RPORT flag was
- set, to then copy a peer's SIP_NAT_FORCE_RPORT flag to the
- dialog. This condition should not have been there since it
- assumed that if Asterisk is in an environment where NAT is
- involved, that the auto_* nat settings or force_rport setting
- would be on in the global settings. If the nat setting in the
- global setting is set to 'nat=no' and then turned on for peers
- (which is not quite the recommended way, although it is allowed)
- this flag is never copied to the dialog resulting in problems
- like, REGISTER replies going to the wrong port. This patch
- removes this conditional check and will now always use the peer's
- flag which by this point in the code the checks on whether the
- peer is behind NAT or not (if using auto_force_rport) have
- already been run. (closes issue ASTERISK-22236) Reported by:
- Filip Frank Tested by: Michael L. Young Patches:
- asterisk-2236-always-set-rport.diff uploaded by Michael L. Young
- (license 5026) Review: https://reviewboard.asterisk.org/r/2919/
- ........ Merged revisions 401167 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-17 18:16 +0000 [r401158] Jonathan Rose <jrose@digium.com>
- * res/res_parking.c: res_parking: Fix bug where reloading
- immediately wipes new parkpos extensions (closes issue
- ASTERISK-22631) Reported by: Kevin Harwell
- 2013-10-17 15:40 +0000 [r401121] Kinsey Moore <kmoore@digium.com>
- * /, res/res_xmpp.c, res/res_jabber.c: Reduce log level of a
- non-pubsub error message Drop an error log message to debug level
- 1 since distributed device state functions correctly when
- receiving this message and it spams the logs. (closes issue
- ASTERISK-22410) Reported by: abelbeck Patches:
- asterisk-1.8-res_jabber-log-nonpubsub-error-to-debug.patch
- uploaded by abelbeck (License 5903)
- asterisk-11-res_xmpp-log-nonpubsub-error-to-debug.patch uploaded
- by abelbeck (License 5903) ........ Merged revisions 401119 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401120 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-16 21:20 +0000 [r401107] Richard Mudgett <rmudgett@digium.com>
- * res/ari/resource_playback.c: ARI: Fix crash when POST
- /playback/{id}/control does not have an operation parameter.
- (closes issue ASTERISK-22680) Reported by: John Bigelow
- 2013-10-16 21:17 +0000 [r401096-401106] David M. Lee <dlee@digium.com>
- * res/res_ari.c: Fixed malformed Access-Control-Allow-Methods
- header. Was causing Safari to barf on POST and DELETE.
- * rest-api/resources.json: Oops. Leftover /stasis reference
- 2013-10-16 14:01 +0000 [r401087] Kinsey Moore <kmoore@digium.com>
- * res/ari/resource_bridges.h, rest-api/api-docs/channels.json,
- rest-api/api-docs/bridges.json, res/ari/resource_channels.h:
- Clarify documentation for channel and bridge list This makes it
- clear that the ARI API calls for listing channels and bridges
- will list all channels or bridges in the system and not just
- those that are in or are controlled by a Stasis application.
- (closes issue ASTERISK-22635) Reported by: Kevin Harwell
- 2013-10-16 12:12 +0000 [r401077] Walter Doekes <walter+asterisk@wjd.nu>
- * apps/app_queue.c, /: Don't check all realtime queues when doing
- "queue show some_queue". When using realtime queues, queues have
- to be fetched from the database every now and then to see if any
- info has been changed or to see if the queue has been removed.
- When fetching info for an individual queue, the pruning of other
- queues is unnecessarily costly. Review:
- https://reviewboard.asterisk.org/r/2907/ ........ Merged
- revisions 401049 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 401076 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-16 00:02 +0000 [r401040] Paul Belanger <paul.belanger@polybeacon.com>
- * res/res_ari_bridges.c, rest-api/api-docs/bridges.json: Use POST /
- DELETE to toggle ARI bridge moh Review:
- https://reviewboard.asterisk.org/r/2911/
- 2013-10-15 20:25 +0000 [r401030] Richard Mudgett <rmudgett@digium.com>
- * channels/dahdi/bridge_native_dahdi.c: bridge_native_dahdi: Return
- channel join failure if could not make the channels compatible.
- 2013-10-15 20:02 +0000 [r401018] Kinsey Moore <kmoore@digium.com>
- * rest-api/api-docs/bridges.json, res/res_ari_bridges.c: Ensure
- bridge record error responses validate This adds the list of
- expected errors to the /bridges/{bridgeId}/record ARI
- documentation so that outbound 4xx errors validate properly.
- Previously, this would result in a response validation failure.
- (closes issue ASTERISK-22627) Reported by: Joshua Colp
- 2013-10-15 20:01 +0000 [r401017] Richard Mudgett <rmudgett@digium.com>
- * /, channels/chan_iax2.c: chan_iax2: Fix channel left locked in
- off nominal code path. ........ Merged revisions 401016 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-15 15:26 +0000 [r400999] Paul Belanger <paul.belanger@polybeacon.com>
- * rest-api/api-docs/channels.json, res/res_ari_channels.c: Use POST
- / DELETE to toggle hold / moh for ARI channels This change
- updates how we handle toggle events, rather then create two
- different function names, we'll just use POST / DELETE from HTTP
- to handle it. Review: https://reviewboard.asterisk.org/r/2906/
- 2013-10-15 15:21 +0000 [r400984] Mark Michelson <mmichelson@digium.com>
- * /, channels/chan_sip.c: Prevent chan_sip from sending duplicate
- BYEs. When a 200 OK for an initial INVITE is received, we were
- doing the right thing by ACKing and sending an immediate BYE.
- However, we also were doing the wrong thing and queuing an answer
- frame, thus causing the call to be answered. This would cause the
- call to be hung up by the channel thread, thus resulting in a
- second BYE being sent out. In this fix, I also have set the
- hangupcause to be correct since the initial BYE being sent by
- Asterisk had an unknown hangup cause. I have changed to using
- "Bearer capabilty not available" since the call was hung up due
- to an SDP offer/answer error. (closes issue ASTERISK-22621)
- reported by Kinsey Moore ........ Merged revisions 400970 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400971 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-15 13:43 +0000 [r400958] David M. Lee <dlee@digium.com>
- * rest-api-templates/asterisk_processor.py: My doc correction in
- r400842 had a silly bug. Because I added a wiki_description to
- models and not their properties, the rendered wiki page had the
- model description instead of the property descriptions, which
- looks very silly indeed. (closes issue ASTERISK-22705)
- 2013-10-14 21:55 +0000 [r400911] Richard Mudgett <rmudgett@digium.com>
- * /, channels/chan_dahdi.h, channels/chan_dahdi.c: chan_dahdi:
- Reflect the set software gain in the CLI "dahdi show channel"
- output. * Remember the swgain setting from CLI "dahdi set swgain"
- command so the CLI "dahdi show channel" output will reflect the
- current setting. * Updated CLI "dahdi set hwgain" and "dahdi set
- swgain" documentation. (issue ASTERISK-22429) Reported by: Jaco
- Kroon Patches: jira_asterisk_22429_v1.8_v2.patch (license #5621)
- patch uploaded by rmudgett ........ Merged revisions 400907 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400909 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-14 21:52 +0000 [r400910] Mark Michelson <mmichelson@digium.com>
- * /, channels/chan_sip.c: chan_sip: Do not increment the SDP
- version between 183 and 200 responses. Bumping the SDP version
- number can cause interoperability problems since receivers of the
- responses will expect that a 200 SDP will be identical to a
- previous 183 SDP. (closes issue ASTERISK-21204) reported by
- NITESH BANSAL Patches:
- dont-increment-session-version-in-2xx-after-183.patch uploaded by
- NITESH BANSAL (License #6418) ........ Merged revisions 400906
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 400908 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-14 15:52 +0000 [r400890] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_outbound_registration.c: pjsip outbound
- registration: Log message says received a 408 when we didn't If
- the server didn't exist that we are trying to register to the log
- message would say that a 408 was received from that server when
- in reality one wasn't. Added log messages stating no response was
- received if the response does not exist. (closes issue
- ASTERISK-22554) Reported by: Rusty Newton Review:
- https://reviewboard.asterisk.org/r/2893/
- 2013-10-14 14:57 +0000 [r400881] Matthew Jordan <mjordan@digium.com>
- * res/res_pjsip_mwi.c: Remove duplicate module info block The
- module info block was repeated twice. Once is sufficient.
- 2013-10-13 15:41 +0000 [r400872] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_session.c: Fix a race condition in
- res_pjsip_session with rapidly terminating the session. The
- INVITE session state callback wrongly assumes that a session will
- always exist, but when rapidly terminating the session this
- assumption goes out the window. As all handler code for the
- INVITE session state callback requires the session it will now
- just exit immediately if no session exists. (closes issue
- ASTERISK-22668) Reported by: John Bigelow
- 2013-10-12 16:49 +0000 [r400863] Kinsey Moore <kmoore@digium.com>
- * res/res_pjsip_outbound_authenticator_digest.c: Fix realm
- comparison for outbound auth When generating the list of
- authentication credentials to pass to PJSIP, Asterisk was using
- the raw pointer of a pj_str_t which is not always
- NULL-terminated. This sometimes resulted in incorrect text for
- the realm and a failure to match the realm for authentication
- purposes which was causing the outbound nominal auth pjsip basic
- call test to bounce. This now uses the pj_str_t that contains the
- realm instead of generating a new one. Thanks to John Bigelow for
- helping to narrow this down.
- 2013-10-11 16:53 +0000 [r400849-400854] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/channel.h: channel.h: whitespace changes.
- * bridges/bridge_softmix.c: Softmix: Fix crash when switching from
- softmix to another bridge technology. The crash is caused by a
- race condition when switching between native RTP and softmix
- bridging technologies. In this situation, the bridging technology
- is switched from native RTP to softmix, and then back to native
- RTP fast enough that the softmix private data gets destroyed
- before the softmix mixing thread gets started. Thanks to Kinsey
- Moore for the crash analysis. * Fix race condition when starting
- the softmix mixing thread and switching to another bridge
- technology. (closes issue ASTERISK-22678) Reported by: John
- Bigelow Patches: jira_asterisk_22678_v12.patch (license #5621)
- patch uploaded by rmudgett Tested by: John Bigelow
- 2013-10-11 16:18 +0000 [r400842-400848] David M. Lee <dlee@digium.com>
- * res/ari/resource_playback.h, rest-api/api-docs/playback.json: Fix
- a stupid copy/paste error in ARI docs. Patches: ari-doc-patch.txt
- uploaded by jbigelow (license 5091)
- * res/ari/resource_bridges.h, rest-api/api-docs/channels.json,
- rest-api/api-docs/bridges.json, res/ari/resource_channels.h:
- Updated /play resource docs. The playback of http: resources
- isn't implemented... yet
- * rest-api-templates/models.wiki.mustache,
- rest-api-templates/api.wiki.mustache,
- rest-api-templates/asterisk_processor.py: Correct some ARI wiki
- rendering errors
- 2013-10-10 18:21 +0000 [r400824-400833] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip/location.c: Perform validation of permanent
- contacts on AORs in res_pjsip.
- * res/res_pjsip/pjsip_configuration.c, res/res_pjsip.c: Fix an
- assertion in res_pjsip when specifying an invalid outbound proxy.
- This change fixes two issues when setting an outbound proxy: 1.
- The outbound proxy URI was not parsed and validated during
- configuration. 2. If an outgoing dialog was created and the
- outbound proxy could not be set an assertion would occur because
- the usage count on the dialog was not decremented. The
- documentation has also been updated to specify that a full URI
- must be specified for the outbound proxy. (closes issue
- ASTERISK-22672) Reported by: Antti Yrjola
- 2013-10-09 11:00 +0000 [r400771-400812] Matthew Jordan <mjordan@digium.com>
- * res/res_pjsip_header_funcs.c: Use 'z' as the format specifier for
- size_t Using 'lu' will produce a compiler warning for some
- versions of gcc and on some architectures. 'z' should be portable
- as a format specifier for size_t.
- * res/res_pjsip_header_funcs.c (added): Add PJSIP_HEADER function
- for manipulation of SIP headers in the PJSIP stack This patch
- adds support to the PJSIP stack in Asterisk for SIP header
- manipulation. Note that this is analagous to
- SIPAddHeader/SIPRemoveHeader. For PJSIP_HEADER, an incoming
- supplemental session callback is registered that takes the
- pjsip_hdrs from the incoming session and stores them in a linked
- list in the session datastore. Calls to PJSIP_HEADER traverse
- over the list and return the nth matching header where 'n' is the
- 'number' argument to the function. When adding a header, the
- first call creates a datastore and linked list and adds the
- datastore to the session. The header is then created as a
- pjsip_hdr and added to the list. An outgoing supplemental session
- callback then traverses the list and adds the headers to the
- outgoing pjsip_msg. When removing a header, the list created with
- PJSIP_HEADER(add,...) is traversed and all matching entries are
- removed. (closes issue ASTERISK-22498) Reported by: George Joseph
- patch: res_pjsip_header_funcs_v1.patch uploaded by george.joseph
- (License 6322)
- 2013-10-08 22:30 +0000 [r400769] Kinsey Moore <kmoore@digium.com>
- * /, configure, configure.ac: Add warning when compiling with iODBC
- support When running configure, libiodbc2 development headers
- will fulfill the requirement for ODBC development headers, but
- will not function properly. This adds a warning when libiodbc2
- development headers are detected instead of unixodbc development
- headers. (closes issue ASTERISK-22459) Reported by: Patrick
- Maille Tested by: Walter Doekes Patches:
- issueA22459_warn_when_using_iodbc.patch uploaded by Walter Doekes
- (License 5674) ........ Merged revisions 400767 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400768 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-08 21:19 +0000 [r400754] Richard Mudgett <rmudgett@digium.com>
- * apps/app_agent_pool.c: app_agent_pool: Fix AMI/CLI AgentLogoff
- soft preventing agents from logging back in. * Clear the
- deferred_logoff flag when an agent logs in. (closes issue
- ASTERISK-22669) Reported by: John Bigelow
- 2013-10-08 20:51 +0000 [r400749] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip.c, res/res_pjsip/config_transport.c: Switch from
- using pjsip_strerror to pj_strerror. pjsip_strerror is only aware
- of PJSIP-specific error codes. pj_strerror() is aware of all
- PJProject error codes and OS-specific error codes. This
- specifically fixes an oft-seen error in transport configuration
- code where EADDRINUSE would result in "Unknown PJSIP error
- 120098" instead of a useful message.
- 2013-10-08 20:16 +0000 [r400724-400742] Richard Mudgett <rmudgett@digium.com>
- * apps/app_confbridge.c, CHANGES,
- apps/confbridge/conf_config_parser.c,
- configs/confbridge.conf.sample, /,
- apps/confbridge/include/confbridge.h: app_confbridge: Can now set
- the language used for announcements to the conference. ConfBridge
- now has the ability to set the language of announcements to the
- conference. The language can be set on a bridge profile in
- confbridge.conf or by the dialplan function
- CONFBRIDGE(bridge,language)=en. (closes issue ASTERISK-19983)
- Reported by: Jonathan White Patches: M19983_rev2.diff (license
- #5138) patch uploaded by junky (modified) Tested by: rmudgett
- ........ Merged revisions 400741 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/confbridge/conf_config_parser.c, /: app_confbridge: Fix
- duplicate default_user profile. * Fixed looking in the wrong
- profiles container to see if the default_user profile is already
- created in verify_default_profiles(). The bridge profile
- container is never going to hold user profiles. :) ........
- Merged revisions 400723 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-08 18:19 +0000 [r400682-400701] Kinsey Moore <kmoore@digium.com>
- * funcs/func_config.c, /: Fix func_config list entry allocation The
- AST_CONFIG dialplan function defined in func_config.c allocates
- its config file list entries using ast_malloc. List entry
- allocations destined for use with Asterisk's linked list API must
- be ast_calloc()d or otherwise initialized so that list pointers
- are set to NULL. These uses of ast_malloc have been replaced by
- ast_calloc to prevent dereferencing of uninitialized pointer
- values when traversing the list. (closes issue ASTERISK-22483)
- Reported by: Brian Scott ........ Merged revisions 400694 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400697 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_rtp_asterisk.c, /: Fix STUN crash when using IPv6 any
- address Ensure that when chan_sip binds to the IPv6 any address
- ([::]), IPv4 candidates are also added. (closes issue
- ASTERISK-21917) Reported by: Torrey Searle Patches:
- 0023_ipv6_stun_crash.patch uploaded by Torrey Searle (License
- 5334) ........ Merged revisions 400681 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-08 15:36 +0000 [r400680] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip/pjsip_options.c: Push CLI qualify into the
- threadpool. If you run Asterisk in the background and then
- connect to it through a separate console, the thread that runs
- CLI commands is not registered with PJLIB. Thus PJLIB does not
- like it when you attempt to send OPTIONS requests from that
- thread. So now we push the task into the threadpool, which we
- know to be registered with PJLIB. Thanks to Antti Yrjola for
- reporting this.
- 2013-10-08 15:11 +0000 [r400661-400671] Richard Mudgett <rmudgett@digium.com>
- * res/res_agi.c, apps/app_queue.c: Make app_queue and res_agi
- independent of AMI being enabled. The
- https://reviewboard.asterisk.org/r/2888/ review changes manager
- to not subscribe to stasis when it is disabled for performance
- reasons. When manager is disabled app_queue and res_agi decline
- to load and fail to clean up what they have already allocated. *
- Made app_queue and res_agi clean up allocated resources when they
- decline to load. * Made app_queue and res_agi use their own
- subscriptions to the stasis topics instead of borrowing manager's
- message router structure inappropriately. (closes issue
- ASTERISK-22604) Reported by: rmudgett Review:
- https://reviewboard.asterisk.org/r/2902/
- * include/asterisk/stasis.h, apps/app_queue.c,
- include/asterisk/manager.h: Miscellaneous stand alone comment
- cleanups.
- 2013-10-06 17:11 +0000 [r400624] Michael L. Young <elgueromexicano@gmail.com>
- * apps/app_queue.c, /: app_queue: Fix Queuelog EXITWITHKEY only
- logging two of four fields Commit r62462 added two extra fields
- for logging "the original position the caller entered the queue
- at, and the amount of time the caller was waiting in the queue."
- But when r75969 was merged from 1.4 into trunk (r75977), these
- two fields disappeared. Those two extra fields were not logged in
- 1.4 and when the patch was merged, those fields went away.
- Therefore, this is a regression and was caught by the reporter
- because he was reading the awesome "Asterisk: The Definitive
- Guide" book. (closes issue ASTERISK-22197) Reported by: Dalius M.
- Tested by: Dalius M. Patches:
- asterisk-22197-q-log-exitwithkey.diff uploaded by Michael L.
- Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2901/ ........ Merged
- revisions 400622 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400623 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-05 00:41 +0000 [r400588] Richard Mudgett <rmudgett@digium.com>
- * channels/iax2/include/parser.h: chan_iax2: Fix compile error.
- 2013-10-04 21:40 +0000 [r400567] Michael L. Young <elgueromexicano@gmail.com>
- * channels/iax2/include/parser.h, main/acl.c,
- include/asterisk/netsock2.h, CHANGES, channels/chan_iax2.c,
- channels/iax2/parser.c, main/netsock.c, main/netsock2.c: Add IPv6
- Support To chan_iax2 This patch adds IPv6 support to chan_iax2.
- Yay! (closes issue ASTERISK-22025) Patches:
- iax2-ipv6-v5-reviewboard.diff by Michael L. Young (license 5026)
- Review: https://reviewboard.asterisk.org/r/2660/
- 2013-10-04 19:31 +0000 [r400552] David M. Lee <dlee@digium.com>
- * rest-api/api-docs/applications.json (added): Added missing file
- from r400522
- 2013-10-04 18:42 +0000 [r400532-400542] Jonathan Rose <jrose@digium.com>
- * res/res_pjsip_logger.c: chan_pjsip: Make logger togglable without
- loading/unloading This patch makes the res_pjsip_logger do a few
- things... First, it will be built and installed by default now,
- so end users won't need to enable it in menuselect. Second, while
- it is loaded, it no longer will immediately issue log messages.
- Upon loading, it is in the disabled state and must be turned on
- with the new CLI command. The CLI command 'pjsip set logger
- <on/off/host> has been added and can be used to do the following:
- pjsip set logger on: Enables logger for all PJSIP traffic pjsip
- set logger off: Disables logger for all PJSIP traffic pjsip set
- logger host <host>: Enables logger for the specific host Review:
- https://reviewboard.asterisk.org/r/2900/
- * contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
- configs/extconfig.conf.sample, configs/sorcery.conf.sample,
- contrib/ast-db-manage/config/versions/43956d550a44_add_tables_for_pjsip.py
- (added): chan_pjsip: Add alembic scripts for generating db tables
- for PJSIP Also updates sample configurations for sorcery and
- extconfig to demonstrate how to use databases created by that
- alembic script. (closes issue ASTERISK-22133) Reported by: Matt
- Jordan Review: https://reviewboard.asterisk.org/r/2892/
- 2013-10-04 15:54 +0000 [r400522] Matthew Jordan <mjordan@digium.com>
- * res/stasis/app.h, rest-api/resources.json,
- include/asterisk/_private.h, main/endpoints.c,
- res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
- res/res_ari_model.c, main/json.c, res/ari.make,
- res/ari/resource_applications.c (added),
- res/ari/resource_applications.h (added), res/res_stasis.c,
- main/asterisk.c, rest-api/api-docs/endpoints.json,
- rest-api/api-docs/events.json, res/stasis/app.c,
- include/asterisk/endpoints.h,
- rest-api-templates/ari_model_validators.h.mustache,
- res/res_ari_applications.c (added), res/ari/resource_endpoints.h,
- include/asterisk/stasis_app.h: ARI: Add subscription support This
- patch adds an /applications API to ARI, allowing explicit
- management of Stasis applications. * GET /applications - list
- current applications * GET /applications/{applicationName} - get
- details of a specific application * POST
- /applications/{applicationName}/subscription - explicitly
- subscribe to a channel, bridge or endpoint * DELETE
- /applications/{applicationName}/subscription - explicitly
- unsubscribe from a channel, bridge or endpoint Subscriptions work
- by a reference counting mechanism: if you subscript to an event
- source X number of times, you must unsubscribe X number of times
- to stop receiveing events for that event source. Review:
- https://reviewboard.asterisk.org/r/2862 (issue ASTERISK-22451)
- Reported by: Matt Jordan
- 2013-10-04 15:48 +0000 [r400510-400520] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip.c: Enclose the To URI and update its user portion
- if a request user has been specified.
- * res/res_pjsip_session.c: Replace the connection address at the
- SDP level if altering the SDP with the external media address.
- 2013-10-04 04:54 +0000 [r400508] David M. Lee <dlee@digium.com>
- * rest-api/api-docs/playback.json, res/res_ari_playback.c:
- Corrected response class for stopPlayback
- 2013-10-03 23:11 +0000 [r400471] Jonathan Rose <jrose@digium.com>
- * /, channels/chan_sip.c: chan_sip: Don't ignore expires value in
- contact header if it lacks semicolon (closes issue
- ASTERISK-22574) Reported by: Filip Jenicek Patches:
- chan_sip_expires.patch uploaded by Filip Jenicek (license 6277)
- ........ Merged revisions 400469 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400470 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-03 21:40 +0000 [r400460] Matthew Jordan <mjordan@digium.com>
- * main/channel_internal_api.c: Remove publication of a channel
- snapshot when the technology is set This patch removes said
- publication for a few reasons: (1) It is unnecessary. Association
- of the channel technology with a specific channel is an
- implementation detail that should be assumed to "just happen",
- and consumers of Stasis don't need to be informed about it. (2)
- Publication of said message can now cause crashes, as the actual
- creation of a channel in normal locations now stages its
- messages. As a result, things that create dummy channels (such as
- the SIP RTP QOS unit test) and associate them with a channel
- technology were now crashing, as the channel itself was not known
- by Stasis.
- 2013-10-03 19:31 +0000 [r400442] Joshua Colp <jcolp@digium.com>
- * main/cdr.c: When serializing CDR variables (like for "core show
- channels") don't output an error if CDRs aren't enabled.
- 2013-10-03 19:29 +0000 [r400440] Kinsey Moore <kmoore@digium.com>
- * /, main/security_events.c: Fix security events for AMI invalid
- password In r337595, additional security events were added for
- chan_sip authentication failures. The new IEs added to the
- existing invalid password event were defined as required IEs, but
- existing users of the event did not set the new IEs and could not
- since they didn't apply to existing uses. They are now marked as
- optional IEs. (closes issue ASTERISK-22578) Reported by: Matt
- Jordan ........ Merged revisions 400421 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-03 19:11 +0000 [r400403] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/bridge_technology.h,
- bridges/bridge_native_rtp.c: Fix assumption in
- bridge_native_rtp.c regarding number of participants in a bridge.
- When a party leaves a bridge, there may be more participants in
- the bridge than expected. As such, it is important not to make
- assumptions regarding the list of channels in a bridge. This
- change makes it so that when a party leaves a native RTP bridge,
- we unbridge it and the party it was bridged with. Previously, the
- first and last channels in the list were unbridged since it was
- assumed that these were the two channels that had been bridged.
- As previously stated, a new party had been inserted into the
- bridge, so this logic did not work properly. (closes issue
- ASTERISK-22615) reported by Matt Jordan (closes issue
- ASTERISK-22532) reported by Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2899
- 2013-10-03 19:05 +0000 [r400401] Joshua Colp <jcolp@digium.com>
- * res/ari/resource_channels.c: Fix a crash caused by muting and
- unmuting a channel in ARI without specifying a direction. (closes
- issue ASTERISK-22637) Reported by: Scott Griepentrog Patch by
- Matt Jordan, whose office I have taken over in the name of
- Canada.
- 2013-10-03 18:44 +0000 [r400398] Richard Mudgett <rmudgett@digium.com>
- * main/cel.c: cel: Some whitespace cleanups
- 2013-10-03 18:28 +0000 [r400384-400395] Kinsey Moore <kmoore@digium.com>
- * res/res_rtp_multicast.c, /: res_rtp_multicast: Ensure SSRC is set
- properly This fixes a bug where the SSRC field on multicast RTP
- can be stuck at 0 which can cause problems for endpoints trying
- to make sense of incoming streams. (closes issue ASTERISK-22567)
- Reported by: Simone Camporeale Patches:
- 22567_res_mulitcast_ssrc.patch uploaded by Simone Camporeale
- (License 6536) ........ Merged revisions 400393 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400394 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * configure, include/asterisk/autoconfig.h.in, configure.ac,
- main/xml.c: Detect and use xsltCleanupGlobals when available This
- introduces usage of an additional libxslt cleanup function,
- xsltCleanupGlobals, when the configure script detects that it is
- available. Early versions of the library did not include this
- function. (closes issue ASTERISK-22570) Reported by: Corey
- Farrell Patches: xsltCleanupGlobals.patch uploaded by Corey
- Farrell (License 5909)
- 2013-10-03 17:55 +0000 [r400383] Matthew Jordan <mjordan@digium.com>
- * contrib/ast-db-manage/config/env.py,
- contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py,
- contrib/ast-db-manage/voicemail/env.py: Update Alembic database
- scripts for external scripting and PostgreSQL, Oracle This patch
- does the following: 1) The env scripts have been updated to be
- tolerant of a NULL configuration file. This occurs when
- configuration is provided by an external script, such that the
- actual config.ini file is not used. 2) Enum types have all been
- given names. This is needed for PostgreSQL script generation. 3)
- The identifier meetme_confno_starttime_endtime is greater than 30
- characters, and hence invalid for Oracle databases. This has been
- truncated down to meetme_confno_start_end.
- 2013-10-03 16:22 +0000 [r400373] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_vpb.cc: chan_vpb: Make compile again.
- 2013-10-03 14:56 +0000 [r400362] Mark Michelson <mmichelson@digium.com>
- * tests/test_cel.c: Get rid of uses of stasis_topic_wait()
- 2013-10-03 14:51 +0000 [r400360] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_sdp_rtp.c, res/res_pjsip_t38.c: Fix crashes in
- res_pjsip_sdp_rtp and res_pjsip_t38 when a stream is rejected and
- external_media_address is set. The callback function for changing
- the media address in streams wrongly assumes that a connection
- line will always be present. This is false as no line is present
- if a stream has been rejected. (closes issue ASTERISK-22645)
- Reported by: Rusty Newton
- 2013-10-02 22:34 +0000 [r400318-400356] Mark Michelson <mmichelson@digium.com>
- * main/rtp_engine.c, addons/chan_ooh323.c,
- channels/chan_multicast_rtp.c, main/ccss.c, apps/app_meetme.c,
- bridges/bridge_holding.c, main/bridge_basic.c,
- bridges/bridge_softmix.c, channels/chan_gtalk.c,
- channels/chan_iax2.c, main/media_index.c, main/channel.c,
- channels/chan_phone.c, channels/chan_dahdi.c, main/dial.c,
- main/manager.c, pbx/pbx_spool.c, channels/chan_skinny.c,
- main/format_cap.c, channels/chan_motif.c, res/res_agi.c,
- channels/chan_alsa.c, apps/app_confbridge.c,
- addons/chan_mobile.c, channels/chan_mgcp.c,
- res/res_clioriginate.c, channels/chan_sip.c,
- channels/chan_bridge_media.c, res/res_pjsip_sdp_rtp.c,
- tests/test_format_api.c, bridges/bridge_simple.c,
- apps/app_originate.c, res/parking/parking_applications.c,
- main/core_local.c, channels/chan_console.c, channels/chan_oss.c,
- include/asterisk/format_cap.h, res/res_pjsip_session.c,
- res/ari/resource_bridges.c, channels/chan_jingle.c,
- channels/chan_misdn.c, channels/dahdi/bridge_native_dahdi.c,
- channels/chan_h323.c, main/file.c,
- res/res_pjsip/pjsip_configuration.c, tests/test_config.c,
- channels/chan_nbs.c, bridges/bridge_native_rtp.c,
- res/res_stasis.c, channels/chan_pjsip.c, channels/chan_unistim.c:
- Cache string values of formats on ast_format_cap() to save
- processing. Channel snapshots have string representations of the
- channel's native formats. Prior to this change, the format
- strings were re-created on ever channel snapshot creation. Since
- channel native formats rarely change, this was very wasteful.
- Now, string representations of formats may optionally be stored
- on the ast_format_cap for cases where string representations may
- be requested frequently. When formats are altered, the string
- cache is marked as invalid. When strings are requested, the cache
- validity is checked. If the cache is valid, then the cached
- strings are copied. If the cache is invalid, then the string
- cache is rebuilt and copied, and the cache is marked as being
- valid again. Review: https://reviewboard.asterisk.org/r/2879
- * /: Remove svn:mergeinfo property.
- * main/stasis_endpoints.c, main/stasis_wait.c (removed),
- res/ari/resource_endpoints.c, /, include/asterisk/stasis.h,
- tests/test_cel.c, include/asterisk/stasis_endpoints.h,
- channels/chan_pjsip.c, main/stasis.c: Remove unnecessary waits
- from stasis. Since caches are updated on publisher threads, there
- is no need to wait for the cache updates to occur after a stasis
- message is published. In the case of chan_pjsip device state
- changes, this set of changes caused an improvement to
- performance. Review: https://reviewboard.asterisk.org/r/2890
- 2013-10-02 21:32 +0000 [r400316] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_iax2.c: Cast Integer Argument To Unsigned Char
- The member reg in the peercnt structure is an unsigned char and
- peercnt_modify() is expecting an unsigned char argument which
- gets assigned to peercnt->reg. This patch fixes that by casting
- the integer argument being passed to peercnt_modify to unsigned
- char. ........ Merged revisions 400314 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400315 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-02 21:25 +0000 [r400312] Matthew Jordan <mjordan@digium.com>
- * main/cel.c, main/cdr.c, main/manager.c: Only create Stasis
- subscriptions when enabled Subscribing to Stasis isn't free. As
- such, this patch makes AMI, CDR, and CEL - the "big 3" - only
- subscribe when enabled. Toggling their availability via a .conf
- file will unsubscribe/subscribe as appropriate. Review:
- https://reviewboard.asterisk.org/r/2888/
- 2013-10-02 20:30 +0000 [r400303] Richard Mudgett <rmudgett@digium.com>
- * main/pbx.c: Originate: Make setting caller id on outgoing call
- use either name or number. Previous code was requiring both name
- and number to be available. Also restored a comment block on why
- caller id is also set on an outgoing call leg in addition to
- connected line from earlier versions of Asterisk.
- 2013-10-02 19:19 +0000 [r400291] Kinsey Moore <kmoore@digium.com>
- * rest-api/api-docs/asterisk.json: Correct allowable values for ARI
- general information filter
- 2013-10-02 18:57 +0000 [r400286] Matthew Jordan <mjordan@digium.com>
- * main/cdr.c: Fix the CDR CLI command 'cdr show active {channel}'
- When the switch from channel names to channel unique IDs
- happened, the poor CLI command got left in the dust. This fixes
- the command so that users can once again see how Asterisk is
- messing up your billing information.
- 2013-10-02 18:42 +0000 [r400284] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_t38.c: Fix a crash in res_pjsip_t38 caused by the
- wrong assumption that a session will always have a channel. When
- starting up or shutting down this assumption is false.
- 2013-10-02 18:25 +0000 [r400281] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
- * Makefile, doc/astdb2sqlite3.8 (added), /, doc/astdb2bdb.8
- (added): man pages for astdb2bdb and astdb2sqlite3 Review:
- https://reviewboard.asterisk.org/r/2898/ ........ Merged
- revisions 400279 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-10-02 17:11 +0000 [r400268-400270] Richard Mudgett <rmudgett@digium.com>
- * main/utils.c, apps/app_stack.c, res/stasis_recording/stored.c,
- main/json.c, main/stasis_cache.c, res/res_ari.c: MALLOC_DEBUG:
- Fix some misuses of free() when MALLOC_DEBUG is enabled. * There
- were several places in ARI where an external library was
- mallocing memory that must always be released with free(). When
- MALLOC_DEBUG is enabled, free() is redirected to the MALLOC_DEBUG
- version. Since the external library call still uses the normal
- malloc(), MALLOC_DEBUG complains that the freed memory block is
- not registered and will not free it. These cases must use
- ast_std_free(). * Changed calls to asprintf() and vasprintf() to
- the equivalent ast_asprintf() and ast_vasprintf() versions
- respectively.
- * channels/sig_ss7.c: sig_ss7: Fix compiler warnings.
- 2013-10-02 16:20 +0000 [r400245-400265] Joshua Colp <jcolp@digium.com>
- * channels/chan_jingle.c, main/channel.c, main/dial.c,
- channels/chan_dahdi.c, include/asterisk/stasis_channels.h,
- channels/chan_skinny.c, channels/chan_motif.c,
- channels/chan_alsa.c, main/stasis_channels.c,
- channels/chan_pjsip.c, channels/sig_ss7.c, channels/chan_mgcp.c,
- channels/chan_unistim.c, apps/app_dial.c, main/pbx.c,
- channels/chan_sip.c, main/bridge.c, include/asterisk/channel.h,
- channels/chan_gtalk.c, channels/chan_console.c,
- channels/sig_pri.c, channels/chan_iax2.c: Reduce channel snapshot
- creation and publishing by up to 50%. This change introduces the
- ability to stage channel snapshot creation and publishing by
- suppressing the implicit creation and publishing that some
- functions have. Once all operations are executed the staging is
- marked as done and a single snapshot is created and published.
- Review: https://reviewboard.asterisk.org/r/2889/
- * res/res_pjsip_session.c: Fix a random one way audio issue in
- PJSIP. Due to the asynchronous design of the PJMEDIA SDP
- negotiator it was possible for the SDP to be negotiated *after* a
- channel was created and after it was being wait on by an
- application. It is only after negotiation occurs that the file
- descriptors for RTP are placed on the channel. Since the channel
- was already being waited on these file descriptors were not
- monitored, causing incoming media to never be read. This change
- wakes up any application waiting on the channel so that added
- file descriptors end up being monitored. (closes issue AST-1227)
- Reported by: John Bigelow
- * res/stasis/control.c, include/asterisk/stasis_app.h,
- res/ari/resource_channels.c: Allow specifying a channel to dial
- an extension and context in an ARI dial operation. (issue
- ASTERISK-22625) Reported by: Scott Griepentrog
- * res/res_pjsip_session.c: Retrieve and store the hostname only
- once so multiple threads do not potentially initialize it at the
- same time.
- 2013-10-01 21:17 +0000 [r400227-400236] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_dahdi.c, channels/sig_analog.c: chan_dahdi: Fix
- analog parking using flash-hook. Transferring an analog call
- using a flash-hook to parking would fail to park the call and
- result in an invalid ao2 object unref. * Park the correct bridged
- channel.
- * main/features_config.c: Features: Rearm the parking config
- options have moved warning for each reload.
- 2013-10-01 15:48 +0000 [r400217] Matthew Jordan <mjordan@digium.com>
- * main/cdr.c: Filter out internal channels for bridge leave
- messages and parked call messages Granted, if you manage to park
- a Conference announcer channel, something has gone horrifically
- wrong.
- 2013-09-30 21:31 +0000 [r400205] Jonathan Rose <jrose@digium.com>
- * configs/res_parking.conf.sample, configs/features.conf.sample:
- configuration samples: Pull all parking related stuff out of
- features.conf This patch also adds documentation for parking from
- features.conf to res_parking.conf
- 2013-09-30 19:57 +0000 [r400194-400196] Matthew Jordan <mjordan@digium.com>
- * funcs/func_cdr.c: Parse arguments passed to the CDR_PROP function
- correctly I can only blame this on a bad merge, because this in
- no way worked properly the way it was written. Mea culpa. The
- function should now parse its arguments correctly and function
- properly. (Note that the API used by the CDR_PROP function has
- working unit tests... this was merely bad coding of the actual
- registered function) (closes issue ASTERISK-22613) Reported by:
- Private Name
- * main/cdr.c: Remove spurious event raised when CDRs are reloaded
- The Reload event is now raised by the module loading core. As
- such, the Reload event in the CDR engine was a duplicate and not
- needed.
- 2013-09-30 18:48 +0000 [r400178-400181] David M. Lee <dlee@digium.com>
- * include/asterisk/stasis.h, main/devicestate.c, res/res_xmpp.c,
- main/taskprocessor.c, main/sounds_index.c, main/endpoints.c,
- channels/chan_iax2.c, res/res_jabber.c,
- res/parking/parking_bridge_features.c, res/res_chan_stats.c,
- main/cdr.c, main/manager_bridges.c, main/manager.c,
- channels/chan_skinny.c, tests/test_devicestate.c,
- res/res_pjsip_mwi.c, tests/test_taskprocessor.c,
- tests/test_stasis.c, res/parking/parking_manager.c,
- channels/chan_mgcp.c, res/res_security_log.c, main/pbx.c,
- main/ccss.c, apps/app_meetme.c, include/asterisk/taskprocessor.h,
- res/parking/parking_applications.c, channels/sig_pri.c,
- apps/app_queue.c, main/cel.c, main/stasis.c,
- channels/chan_dahdi.c, main/stasis_message_router.c,
- funcs/func_presencestate.c, apps/confbridge/confbridge_manager.c,
- res/res_agi.c, res/res_stasis_test.c, main/manager_channels.c,
- main/manager_mwi.c, res/res_pjsip_refer.c, apps/app_voicemail.c,
- main/stasis_cache.c, main/stasis_wait.c, res/stasis/app.c,
- include/asterisk/stasis_internal.h, channels/chan_sip.c,
- main/manager_endpoints.c: Remove dispatch object allocation from
- Stasis publishing While looking for areas for performance
- improvement, I realized that an unused feature in Stasis was
- negatively impacting performance. When a message is sent to a
- subscriber, a dispatch object is allocated for the dispatch,
- containing the topic the message was published to, the subscriber
- the message is being sent to, and the message itself. The topic
- is actually unused by any subscriber in Asterisk today. And the
- subscriber is associated with the taskprocessor the message is
- being dispatched to. First, this patch removes the unused topic
- parameter from Stasis subscription callbacks. Second, this patch
- introduces the concept of taskprocessor local data, data that may
- be set on a taskprocessor and provided along with the data
- pointer when a task is pushed using the
- ast_taskprocessor_push_local() call. This allows the task to have
- both data specific to that taskprocessor, in addition to data
- specific to that invocation. With those two changes, the dispatch
- object can be removed completely, and the message is simply
- refcounted and sent directly to the taskprocessor. Review:
- https://reviewboard.asterisk.org/r/2884/
- * main/manager_system.c, tests/test_stasis.c,
- main/manager_channels.c, main/manager_mwi.c,
- main/stasis_cache_pattern.c, include/asterisk/vector.h (added),
- res/stasis/app.c, main/channel_internal_api.c,
- include/asterisk/stasis.h, apps/app_queue.c, main/cel.c,
- main/stasis.c, tests/test_stasis_endpoints.c, main/cdr.c,
- main/manager_bridges.c, main/manager.c: Optimize how Stasis
- forwards are dispatched This patch optimizes how forwards are
- dispatched in Stasis. Originally, forwards were dispatched as
- subscriptions that are invoked on the publishing thread. This did
- not account for the vast number of forwards we would end up
- having in the system, and the amount of work it would take to
- walk though the forward subscriptions. This patch modifies Stasis
- so that rather than walking the tree of forwards on every
- dispatch, when forwards and subscriptions are changed, the
- subscriber list for every topic in the tree is changed. This has
- a couple of benefits. First, this reduces the workload of
- dispatching messages. It also reduces contention when dispatching
- to different topics that happen to forward to the same
- aggregation topic (as happens with all of the channel, bridge and
- endpoint topics). Since forwards are no longer subscriptions, the
- bulk of this patch is simply changing stasis_subscription objects
- to stasis_forward objects (which, admittedly, I should have done
- in the first place.) Since this required me to yet again put in a
- growing array, I finally abstracted that out into a set of
- ast_vector macros in asterisk/vector.h. Review:
- https://reviewboard.asterisk.org/r/2883/
- * configure, include/asterisk/autoconfig.h.in,
- configs/stasis.conf.sample (removed), include/asterisk/sem.h
- (added), configure.ac, include/asterisk/stasis.h,
- main/taskprocessor.c, main/sem.c (added), main/stasis.c,
- main/stasis_config.c (removed), include/asterisk/taskprocessor.h:
- Taskprocessor optimization; switch Stasis to use taskprocessors
- This patch optimizes taskprocessor to use a semaphore for
- signaling, which the OS can do a better job at managing
- contention and waiting that we can with a mutex and condition.
- The taskprocessor execution was also slightly optimized to reduce
- the number of locks taken. The only observable difference in the
- taskprocessor implementation is that when the final reference to
- the taskprocessor goes away, it will execute all tasks to
- completion instead of discarding the unexecuted tasks. For
- systems where unnamed semaphores are not supported, a really
- simple semaphore implementation is provided. (Which gives
- identical performance as the original taskprocessor
- implementation). The way we ended up implementing Stasis caused
- the threadpool to be a burden instead of a boost to performance.
- This was switched to just use taskprocessors directly for
- subscriptions. Review: https://reviewboard.asterisk.org/r/2881/
- 2013-09-30 15:55 +0000 [r400141] Kinsey Moore <kmoore@digium.com>
- * configs/pjsip.conf.sample, res/res_pjsip_outbound_registration.c,
- configs/sip.conf.sample, CHANGES, /, channels/chan_sip.c:
- chan_sip: Allow Asterisk to retry after 403 on register This adds
- a global option in chan_sip to allow it to continue attempting
- registration if a 403 is received, clearing the cached nonce and
- treating it as a non-fatal response. Normally, this would cause
- registration attempts to that endpoint to stop. This also adds a
- similar per-outbound-registration option to chan_pjsip which
- allows the retry interval to be altered for 403 responses to
- REGISTER requests. (closes issue ASTERISK-17138) Review:
- https://reviewboard.asterisk.org/r/2874/ Reported by: Rudi
- ........ Merged revisions 400137 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400140 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-30 15:24 +0000 [r400138] David M. Lee <dlee@digium.com>
- * main/astobj2.c, main/stasis.c, main/stasis_message_router.c,
- main/taskprocessor.c, include/asterisk/stasis_message_router.h,
- res/res_pjsip/include/res_pjsip_private.h, tests/test_stasis.c:
- Stasis performance improvements This patch addresses several
- performance problems that were found in the initial performance
- testing of Asterisk 12. The Stasis dispatch object was allocated
- as an AO2 object, even though it has a very confined lifecycle.
- This was replaced with a straight ast_malloc(). The Stasis
- message router was spending an inordinate amount of time
- searching hash tables. In this case, most of our routers had 6 or
- fewer routes in them to begin with. This was replaced with an
- array that's searched linearly for the route. We more heavily
- rely on AO2 objects in Asterisk 12, and the memset() in ao2_ref()
- actually became noticeable on the profile. This was #ifdef'ed to
- only run when AO2_DEBUG was enabled. After being misled by an
- erroneous comment in taskprocessor.c during profiling, the wrong
- comment was removed. Review:
- https://reviewboard.asterisk.org/r/2873/
- 2013-09-28 22:56 +0000 [r400058-400121] Matthew Jordan <mjordan@digium.com>
- * res/res_pjsip_notify.c, configs/pjsip_notify.conf.sample (added):
- res_pjsip_notify: Add documentation We forgot to add
- documentation for res_pjsip_notify, which would prevent it from
- being loaded. Whoops. This patch also updates res_pjsip_notify to
- use pjsip_notify.conf, which now has its own sample file in the
- configs directory as well. Review:
- https://reviewboard.asterisk.org/r/2835/
- * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Correct erroneous
- lost packet information in RTCP reports RTCP's calculation of the
- number of lost packets in an RTP stream is based on that stream's
- sequence number count, the number of received packets, and how
- many packets we expect to receive. When the SSRC for an RTP
- stream changes, there can - and almost always will be - a large
- jump in the next packet's timestamp and sequence number. If we
- don't reset the number of received packets, sequence number
- count, and other metrics used by RTCP, the next RR/SR report will
- use the previous SSRC's values to calculate the lost packet count
- for the new SSRC - resulting in a very large number of lost
- packets. This patch modifies res_rtp_asterisk such that, if it
- detects a SSRC change, it will reset the various values used by
- the RTCP calculations. From the perspective of RTCP, this appears
- as a new media stream - which is what it is. Review:
- https://reviewboard.asterisk.org/r/2886/ (closes issue AST-1174)
- Reported by: Thomas Arimont ........ Merged revisions 400089 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400093 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * configure.ac, /, configure: Add check for openSUSE when detecting
- bfd library In ASTERISK-17842, some additional library checks
- were added to the configure script so that the bfd library could
- be found on CentOS and Fedora systems. As it turns out, openSUSE
- requires an additional library. This patch adds another check to
- the configure script for openSUSE that will add that library.
- Review: https://reviewboard.asterisk.org/r/2885/ (closes issue
- AST-1169) Reported by: Guenther Kelleter ........ Merged
- revisions 400073 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400075 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/cdr.c: CDR: Improve handling of parking; resolve assertion
- when originating into park This patch covers two problems: 1)
- Currently, when a call is transferred into a parking lot from a
- bridge (using either the blind transfer or one touch parking
- mechanisms), the application fails to be set to "Park" in the
- resulting CDR record for the parked channel. This is due to the
- ParkedCall message arriving before the BridgeEnter for the
- channel entering the parking bridge. The ParkedCall message isn't
- handled as the CDR for the channel has already been finalized
- (due to the channel having left its two party bridge), and the
- BridgeEnter - which creates the new CDR - doesn't have the
- parking information. This patch modifies the behavior so that
- reception of a ParkedCall message will - if not handled by a CDR
- chain - cause a new CDR to be created and put into the Parking
- state. 2) It fixes a FRACK that occurred when a channel is
- originated into a parking space. The DialedPending state - which
- occurs for both Dialed and Originated channels - assumed that it
- couldn't handle the parking transitions due to it having a Party
- B; however, Originated channels don't have a Party B. As such,
- the existing CDR needs to transition into the parking state -
- this patch does that. Review:
- https://reviewboard.asterisk.org/r/2877/ (closes issue
- ASTERISK-22482) Reported by: Richard Mudgett
- * apps/app_queue.c: app_queue: Make manager events tolerant of
- Local channel shenanigans app_queue currently attempts to handle
- Local channel optimizations in an effort to provide accurate
- information in Stasis messages (and their corresponding AMI
- events) as well as the Queue log. Sometimes, however, things
- don't go as planned. Consider the following scenario: SIP/foo <->
- L;1 <-> L;2 <-> SIP/agent SIP/agent answers, triggering a Local
- channel optimization. app_queue will normally do the following: *
- Listen for the Local optimization events and update our agent
- accordingly to SIP/agent in the queue log and messages * When we
- get a hangup, publish the AgentComplete event based on our
- information (SIP/foo and SIP/agent) However, as with all things
- that depend on sanity from something as capricious as Local
- channels, things can go wrong: (1) SIP/agent immediately hangs up
- upon answering. This triggers a race condition between
- termination messages coming from SIP/agent and the ongoing Local
- channel optimization messages. (Note that this can also occur
- with SIP/foo) (2) In a race condition, Asterisk can (rarely)
- deliver the hangup messages prior to the Local channel
- optimization. In that case, the messages *may* arrive to
- app_queue in the following order: * Hangup SIP/Agent * Hangup
- SIP/foo * Optimize L;1/L;2 * Hangup L;2 * Hangup L;1 When
- app_queue receives the hangup of the agent or the caller, it will
- attempt to publish the AgentComplete event. However, it now has a
- problem - it thinks its agent is the ;1 side of the Local
- channel, as it never received the optimization event. At the same
- time, that channel is already gone. This results in getting NULL
- from the Stasis cache. What's more, we can't really wait for the
- optimization message, as we are currently handling the hangup of
- the channel that the optimization event would tell us to use.
- This patch modifies the behavior in app_queue such that, since we
- still have a lot of pertinent queue information (interface, queue
- name, etc.), we now raise the event with what information we
- know. The channels involved now may or may not be present. Users
- will still at least get the "AgentComplete" event, which
- "completes" the known Agent information. Review:
- https://reviewboard.asterisk.org/r/2878/ (closes issue
- ASTERISK-22507) Reported by: Richard Mudgett
- * main/manager.c: manager: Fix crash when appending a manager
- channel variable In r399887, a minor performance improvement was
- introduced by not allocating the manager variable struct if it
- wasn't used. Unfortunately, when directly accessing an
- ast_channel struct, manager assumed that the struct was always
- allocated. Since this was no longer the case, things got a bit
- crashy. This fixes that problem by simply bypassing appending
- variables if the manager channel variable struct isn't there.
- 2013-09-27 21:56 +0000 [r400015-400020] Richard Mudgett <rmudgett@digium.com>
- * apps/app_cdr.c, res/res_parking.c: app_cdr and res_parking: Fix
- some resource leaks. * app_cdr left the ResetCDR application
- registered. * res_parking leaked a ref to config global. (closes
- issue ASTERISK-22566) Reported by: Corey Farrell Patches:
- ASTERISK-22566-r2.patch (license #5909) patch uploaded by Corey
- Farrell
- * /, channels/chan_sip.c, channels/sip/reqresp_parser.c: chan_sip:
- Increase some scratch buffer sizes dealing with caller id. *
- Eliminated an unnecessary initialization in check_user_full().
- (closes issue ASTERISK-22477) Reported by: Michael Shepelev
- ........ Merged revisions 400013 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 400014 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-27 18:26 +0000 [r399990] Kevin Harwell <kharwell@digium.com>
- * include/asterisk/res_pjsip.h, res/res_pjsip.exports.in,
- res/res_pjsip.c, res/res_pjsip_session.c: res_pjsip: crash when
- using localnet and external_signaling_address options There was a
- collision of mod_data use on the transaction between using a nat
- hook and an session response callback. During state change it was
- assumed what was in the mod_data was nothing or the response
- callback. However, it was possible for it to also contain a nat
- hook thus resulting in a bad cast and a crash. Added the ability
- to store multiple data elements in mod_data via a hash table. In
- this instance, mod_data now stores a hash table of the two values
- that can be retrieved using an associated string key. (closes
- issue ASTERISK-22394) Reported by: Rusty Newton Review:
- https://reviewboard.asterisk.org/r/2843/
- 2013-09-27 17:34 +0000 [r399976] Jonathan Rose <jrose@digium.com>
- * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
- Reject calls on 200 OKs if no SDP has been received When Asterisk
- receives a 200 OK in response to an invite, that peer should have
- sent an SDP at some point by then. If the channel has never
- received an SDP, media won't have been set and the remote address
- won't be known. Endpoints in general should not be doing this.
- This patch makes it so that Asterisk will simply hang up a call
- if it sends a 200 OK at this point. So far this odd behavior for
- endpoints has only been observed in tests which involved manually
- created SIP transactions in SIPp. (closes issue ASTERISK-22424)
- Reported by: Jonathan Rose Review:
- https://reviewboard.asterisk.org/r/2827/ ........ Merged
- revisions 399939 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 399962 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-27 17:03 +0000 [r399937] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/astobj2.h, tests/test_astobj2.c, main/astobj2.c:
- astobj2: Remove OBJ_CONTINUE support. OBJ_CONTINUE was a strange
- feature that came into the world under suspicious circumstances
- to support an abuse of the ao2_container by chan_iax2. Since
- chan_iax2 no longer uses OBJ_CONTINUE, it is safe to remove it.
- The simplified code should help performance slightly and make
- understanding the code easier. Review:
- https://reviewboard.asterisk.org/r/2887/
- 2013-09-27 14:29 +0000 [r399924] Mark Michelson <mmichelson@digium.com>
- * bridges/bridge_native_rtp.c: Fix refleaks of ast_rtp_instance
- structures. These refleaks were causing bridged calls not to
- close their RTP ports. Thus a call would leave open 4 ports (RTP
- for party A, RTCP for party A, RTP for party B, and RTCP for
- party B). This led to an eventual depletion of available RTP
- ports.
- 2013-09-27 14:01 +0000 [r399912] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/cel.h, tests/test_cel.c, main/cel.c: Restore
- usefulness of the CEL Peer field This change makes the CEL peer
- field useful again for BRIDGE_ENTER and BRIDGE_EXIT events and
- fills the field with a comma-separated list of all channels in
- the bridge other than the channel that is entering or exiting the
- bridge. Review: https://reviewboard.asterisk.org/r/2840/ (closes
- issue ASTERISK-22393)
- 2013-09-26 18:48 +0000 [r399897] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip/security_events.c, res/res_pjsip_registrar.c,
- include/asterisk/res_pjsip.h, res/res_pjsip.exports.in: pjsip:
- race condition in registrar While handling a registration request
- a race condition could occur if/when two+ clients registered at
- the same time. This happened when one request obtained a copy of
- the current contacts for an AOR and another request did the same
- before the first request updated. Thus the second would update
- and overwrite the first (or vice-versa depending on which
- actually updated first). In the case of it being the same contact
- two "add" events would be raised. pjsip registration handling is
- now serialized to alleviate this issue. (closes issue AST-1213)
- Reported by: John Bigelow Review:
- https://reviewboard.asterisk.org/r/2860/
- 2013-09-26 15:41 +0000 [r399887] David M. Lee <dlee@digium.com>
- * main/channel.c: Minor performance bump by not allocate manager
- variable struct if we don't need it
- 2013-09-26 14:12 +0000 [r399874] Rusty Newton <rnewton@digium.com>
- * apps/app_dial.c: Adding a few words to the Dial option 'r' help
- text to clarify its tone argument description
- 2013-09-25 20:36 +0000 [r399842] Richard Mudgett <rmudgett@digium.com>
- * channels/sig_ss7.c, channels/chan_dahdi.c, /: chan_dahdi: CLI
- "core stop gracefully" has needless delay for PRI and SS7. The
- PRI and SS7 link control threads are not stopped correctly when
- the chan_dahdi.so module is unloaded. The link control threads
- pri_dchannel() and ss7_linkset() are not awakened from a poll()
- to cancel the thread. * Added a SIGURG signal after requesting
- the thread cancel to break the link control thread poll()
- immediately. For SS7 it was slightly worse, the link poll()
- timeout would always be whatever was the last libss7 scheduled
- event time used. If no libss7 scheduled event was pending, the
- thread could run more often than necessary. * Set nextms to 60
- seconds for the ss7_linkset() poll() if there is no other libss7
- scheduled event. ........ Merged revisions 399818 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 399834 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-25 19:40 +0000 [r399798] Rusty Newton <rnewton@digium.com>
- * res/res_pjsip.c: Broke the build - Fixing XML DTD violation added
- in r399782, missing <para> tags inside a <note>
- 2013-09-25 19:28 +0000 [r399796] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c: chan_sip: Fix Realtime Peer Update
- Problem When Un-registering And Expires Header In 200ok 1st Issue
- When a realtime peer sends an un-REGISTER request, Asterisk
- un-registers the peer but the database table record still has
- regseconds and fullcontact for the peer. This results in calls
- attempting to be routed to the peer which is no longer
- registered. The expected behavior is to get busy/congested when
- attempting to call an un-registered peer through the dialplan.
- What was discovered is that we are clearing out the peer's
- registration in the database in parse_register_contact() when
- calling expire_register() but then upon returning from
- parse_register_contact(), update_peer() is run which stores back
- in the database table regseconds and fullcontact. 2nd Issue The
- reporter pointed out that the 200 ok being returned by Asterisk
- after un-registering a peer contains a Contact header with
- ;expires= and the Expires header is not set to 0. This is
- actually a regression. Tests were created for this second issue
- (ASTERISK-22548). The tests have been reviewed and a Ship It! was
- received on those tests. This patch does the following: * Do not
- ignore the Expires header value even when it is set to 0. The
- patch sets the pvt->expiry earlier on in the function so that it
- is set properly and used. * If pvt->expiry is 0, do not call
- update_peer since that means the peer has already been
- un-registered and there is no need to update the database record
- again since nothing has changed. (closes issue ASTERISK-22428)
- Reported by: Ben Smithurst Tested by: Ben Smithurst, Michael L.
- Young Patches:
- asterisk-22428-rt-peer-update-and-expires-header.diff by Michael
- L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2869/ ........ Merged
- revisions 399794 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 399795 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-25 18:36 +0000 [r399781] Rusty Newton <rnewton@digium.com>
- * res/res_pjsip.c: Fixing documentation for the configOption
- "external_media_address" of both Endpoints and Transports
- Re-using some of Mark Michelson's text from an E-mail discussion
- for: * Modifying synopsis for both options * Adding description
- to both options * Changing name of "external_media_address" for
- Endpoint configuration to "media_address" in anticipation of the
- option name being changed. (As it is not really specific to
- external destinations) (issue ASTERISK-22405) (closes issue
- ASTERISK-22405) Reported by: Rusty Newton Review:
- https://reviewboard.asterisk.org/r/2850/
- 2013-09-24 22:50 +0000 [r399736-399749] Richard Mudgett <rmudgett@digium.com>
- * main/astobj2.c: astobj2: Made use OBJ_SEARCH_xxx identifiers as
- field enum values internally. * Made ao2_unlink to protect itself
- from stray OBJ_SEARCH_xxx values passed in.
- * channels/chan_iax2.c, /: chan_iax2: Prevent some needless
- breaking of the native IAX2 bridge. * Clean up some twisted code
- in the iax2_bridge() loop. * Add AST_CONTROL_VIDUPDATE and
- AST_CONTROL_SRCCHANGE to a list of frames to prevent the native
- bridge loop from breaking. * Passing the
- AST_CONTROL_T38_PARAMETERS frame should also allow FAX over a
- native IAX2 bridge. (issue ABE-2912) Review:
- https://reviewboard.asterisk.org/r/2870/ ........ Merged
- revisions 399697 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 399708 from
- http://svn.asterisk.org/svn/asterisk/branches/11 For v12 and
- above this is really just documentation until IAX2 native
- bridging is restored.
- 2013-09-24 19:22 +0000 [r399666-399695] Matthew Jordan <mjordan@digium.com>
- * apps/app_queue.c: app_queue: Don't be quite so aggressive in
- initializing the array We only need the first character.
- * apps/app_queue.c: app_queue: Initialize array holding MixMonitor
- exec options If the channel variable MONITOR_EXEC is set,
- app_queue will pass the specified execution parameters to the
- MixMonitor application when a queue is recorded. If that channel
- variable is not set, the buffer that holds the escaped value was
- not being initialized to NULL, and so would be passed to the
- MixMonitor application with garbage. Hilarity ensued as
- app_mixmonitor attempted to execute gobeldy-gook.
- * main/cdr.c, main/stasis_bridges.c, tests/test_cdr.c: Fix a
- performance problem CDRs There is a large performance price
- currently in the CDR engine. We currently perform two
- ao2_callback calls on a container that has an entry for every
- channel in the system. This is done to create matching pairs
- between channels in a bridge. As such, the portion of the CDR
- logic that this patch deals with is how we make pairings when a
- channel enters a mixing bridge. In general, when a channel enters
- such a bridge, we need to do two things: (1) Figure out if anyone
- in the bridge can be this channel's Party B. (2) Make pairings
- with every other channel in the bridge that is not already our
- Party B. This is a two step process. In the first step, we look
- through everyone in the bridge and see if they can be our Party B
- (single_state_process_bridge_enter). If they can - yay! We mark
- our CDR as having gotten a Party B. If not, we keep searching. If
- we don't find one, we wait until someone joins who can be our
- Party B. Step 2 is where we changed the logic
- (handle_bridge_pairings and bridge_candidate_process).
- Previously, we would first find candidates - those channels in
- the bridge with us - from the active_cdrs_by_channel container.
- Because a channel could be a candidate if it was Party B to an
- item in the container, the code implemented multiple
- ao2_container callbacks to get all the candidates. We also had to
- store them in another container with some other meta information.
- This was rather complex and costly, particularly if you have 300
- Local channels (600 channels!) going at once. Luckily, none of it
- is needed: when a channel enters a bridge (which is when we're
- figuring all this stuff out), the bridge snapshot tells us the
- unique IDs of everyone already in the bridge. All we need to do
- is: For all channels in the bridge: If the channel is us or our
- Party B that we got in step 1, skip it Compare us and the
- candidate to figure out who is Party A (based on some specific
- rules) If we are Party A: Make a new CDR for us, append it to our
- chain, and set the candidate as Party B If they are Party A: If
- they don't have a Party B: Make a new CDR for them, append us to
- their chain, and us as Party B Otherwise: Copy us over as Party B
- on their existing CDR. This patch does that. Because we now use
- channel unique IDs to find the candidates during bridging,
- active_cdrs_by_channel now looks up things using uniqueid instead
- of channel name. This makes the more complex code simpler; it
- does, however, have the drawback that dialplan applications and
- functions will be slightly slower as they have to iterate through
- the container looking for the CDR by name. That's a small price
- to pay however as the bridging code will be called a lot more
- often. This patch also does two other minor changes: (1) It
- reduces the container size of the channels in a bridge snapshot
- to 1. In order to be predictable for multi-party bridges, the
- order of the channels in the container must be stable; that is,
- it must always devolve to a linked list. (2) CDRs and the
- multi-party test was updated to show the relationship between two
- dialed channels. You still want to know if they talked -
- previously, dialed channels were always ignored, which is wrong
- when they have managed to get a Party B. (closes issue
- ASTERISK-22488) Reported by: Richard Mudgett Review:
- https://reviewboard.asterisk.org/r/2861/
- 2013-09-23 12:02 +0000 [r399624] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip.c, res/res_pjsip_session.c: Fix crash in res_pjsip
- on load if error occurs, and prevent unloading of res_pjsip and
- res_pjsip_session. During load time in res_pjsip if an error
- occurred the operation would attempt to rollback all operations
- done during load. This is not permitted by PJSIP as it will
- assert if the operation has not been done. This fix changes the
- code so it will only rollback what has been initialized already.
- Further changes also prevent res_pjsip and res_pjsip_session from
- being unloaded. This is due to limitations within PJSIP itself.
- The library environment can only be changed to a certain extent
- and does not provide the ability, currently, to deinitialize
- certain required functionality. (closes issue ASTERISK-22474)
- Reported by: Corey Farrell
- 2013-09-21 04:48 +0000 [r399576-399607] Richard Mudgett <rmudgett@digium.com>
- * res/res_rtp_asterisk.c: res_rtp_asterisk: Fix ref leaks in
- ast_rtcp_read(). Moved rtcp_report RAII_VAR declaration into the
- loop so it is unref'ed after every loop. Moved message_blob to
- loop and switched it to a regular variable. The regular variable
- was used since message_blob is used in a very contained way.
- (closes issue ASTERISK-22565) Reported by: Corey Farrell Patches:
- rtcp_report-leak.patch (license #5909) patch uploaded by Corey
- Farrell Tested by: Corey Farrell
- * main/media_index.c: media_index: Fix process_description_file()
- memory leak of file_id_persist.
- * main/features_config.c: features_config: Fix config ref leak of
- parkinglots. This leak happend for just about every channel
- created.
- * apps/app_queue.c: app_queue: Fix json blob ref leak. The json ref
- from queue_member_blob_create() was never released.
- * main/json.c: json: Make it obvious that ast_json_unref() is NULL
- safe. It looked like the safety check was done after the NULL
- pointer was used.
- 2013-09-20 22:41 +0000 [r399565] Kinsey Moore <kmoore@digium.com>
- * main/config_options.c, /: Ensure global types in the config
- framework are initialized If a config object was allocated but
- one of its global objects was never encountered, then the global
- object's defaults were never applied. Ensure that global objects
- are initialized properly upon allocation instead of on
- configuration. Review: https://reviewboard.asterisk.org/r/2866/
- ........ Merged revisions 399564 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-20 22:04 +0000 [r399553] Jonathan Rose <jrose@digium.com>
- * main/dial.c: originate/call forwarding: Fix a crash when
- forwarding a call from originate (closes issue ASTERISK-22487)
- Reported by: David M. Lee Review:
- https://reviewboard.asterisk.org/r/2868/
- 2013-09-20 16:17 +0000 [r399531] Joshua Colp <jcolp@digium.com>
- * channels/chan_pjsip.c: Add a missing session supplement
- unregistration in chan_pjsip for ACKs. (closes issue
- ASTERISK-22453) Reported by: Corey Farrell Patches:
- chan_pjsip_session_unregister_supplement.patch uploaded by Corey
- Farrell (license 5909)
- 2013-09-20 14:25 +0000 [r399514] Kevin Harwell <kharwell@digium.com>
- * /, main/logger.c: Fix memory leak in logger. Fixed a memory leak
- discovered in the logger where a temporary string buffer was not
- being freed. (closes issue ASTERISK-22540) Reported by: John
- Hardin ........ Merged revisions 399513 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-19 23:16 +0000 [r399501] Richard Mudgett <rmudgett@digium.com>
- * main/optional_api.c: optional_api: Make always use the standard
- malloc functions even with MALLOC_DEBUG.
- 2013-09-19 16:53 +0000 [r399458] Jonathan Rose <jrose@digium.com>
- * /, channels/chan_sip.c: chan_sip: Make direct media reinvites for
- T38 put Asterisk in the media path Prior to this patch, Asterisk
- would incorrectly use the previous endpoint addresses in SDP in
- spite of providing its own port. T38 is never meant to be done
- through directmedia and Asterisk should always be in the media
- path for these streams. (closes issue ASTERISK-17273) Reported
- by: Kevin Stewart (closes issue ASTERISK-18706) Reported by:
- Jeremy Kister Review: https://reviewboard.asterisk.org/r/2853/
- ........ Merged revisions 399456 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 399457 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-18 19:59 +0000 [r399404] Kinsey Moore <kmoore@digium.com>
- * main/abstract_jb.c, /: Fix jitter buffer log file creation This
- adjusts '/'-to-'#' replacement to replace all instances of '/'
- instead of just the first to ensure that the jitter buffer log
- file gets the correct name as per Richard Kenner's suggestion.
- (closes issue ASTERISK-21036) Reported by: Richard Kenner
- ........ Merged revisions 399402 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 399403 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-18 17:23 +0000 [r399365-399376] Matthew Jordan <mjordan@digium.com>
- * /, build_tools/prep_tarball: Update prep_tarball with new
- documentation files on the Asterisk wiki This will now pull both
- a command reference for the version being prepared, as well as an
- Admin Guide that applies to all versions of Asterisk. (issue
- ASTERISK-22439) Reported by: Olle Johansson ........ Merged
- revisions 399351 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 399373 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * bridges/bridge_softmix.c, /: Add a WARNING in bridge_softmix when
- a timing module isn't loaded If bridge_softmix fails to be
- created because no timing source is present in Asterisk, this
- will currently fail gracefully but with (most likely) a generic
- error message by whatever module tried to create the softmix
- bridge. This patch adds a more explicit warning so you can
- actually diagnose and fix the problem. Review:
- https://reviewboard.asterisk.org/r/2857/ ........ Merged
- revisions 399353 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-18 14:34 +0000 [r399339] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_messaging.c: res_pjsip_messaging: Register message
- technology as pjsip pjsip's message technology was being
- registered as 'sip', which was causing it to not load due it
- conflicting with chan_sip's registered 'sip' technology for
- messaging. It now registers as 'pjsip'. However, due to this
- change the "to" field for outgoing pjsip messages need to be
- prefixed with 'pjsip:' instead of 'sip:'. Incoming messages to
- res_pjsip_messaging will automatically have their "to" fields
- altered in order to accommodate the change. Outgoing messages
- also handle changing it back to 'sip' before being sent so the
- pjsip library will properly handle it. (closes issue
- ASTERISK-22445) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2833/
- 2013-09-18 00:12 +0000 [r399294] Michael L. Young <elgueromexicano@gmail.com>
- * main/features_config.c: Fix Segfault In features-config.c When
- Application Has No Arguments Some applications do not require
- arguments. Therefore, when parsing application maps in
- features.conf, it is possible that app_data will be set to NULL.
- * This patch sets app_data to "" if it is NULL. Review:
- https://reviewboard.asterisk.org/r/2804
- 2013-09-17 23:08 +0000 [r399283] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/res_pjsip.h, res/res_pjsip_sdp_rtp.c,
- res/res_pjsip/pjsip_configuration.c, res/res_pjsip_t38.c: Change
- the "external_media_address" PJSIP endpoint option to
- "media_address". The endpoint option does not apply to
- communication with external entities. Rather, the option is
- applied to all communications with the endpoint. The
- external_media_address transport configuration option may
- override the endpoint option if it turns out that we are going to
- be communicating with an external entity. Two things of note: 1)
- I have not updated the XML documentation. This is being taken
- care of by Rusty as part of his work on issue ASTERISK-22405 2)
- This commit is likely to cause testsuite failures since there are
- tests that use the external_media_address endpoint option, and
- they will need to be changed over. Well, I'm planning to get that
- updated ASAP after this commit. (closes issue ASTERISK-22528)
- reported by Rusty Newton
- 2013-09-17 18:37 +0000 [r399268] Kevin Harwell <kharwell@digium.com>
- * main/asterisk.c, /, main/logger.c: Remote console: more output
- discrepancies The remote console continued to have issues with
- its output. In this case CLI command output would either not show
- up (if verbose level = 0) or would contain verbose prefixes (if
- verbose level > 0) once log messages were sent to the remote
- console. The fix now now adds verbose prefix data to all new
- lines contained in a verbose log string. (closes issue
- ASTERISK-22450) Reported by: David Brillert (closes issue
- AST-1193) Reported by: Guenther Kelleter Review:
- https://reviewboard.asterisk.org/r/2825/ ........ Merged
- revisions 399267 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-17 17:54 +0000 [r399257] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/features_config.h: Fix doxygen to use correct
- units of features.conf options.
- 2013-09-17 17:09 +0000 [r399237-399247] Mark Michelson <mmichelson@digium.com>
- * main/features_config.c, main/bridge_basic.c: Fix other timeouts
- (atxferloopdelay and atxfernoanswertimeout) to use seconds
- instead of milliseconds. Thanks to Richard Mudgett for pointing
- this out.
- * include/asterisk/features_config.h, main/bridge_basic.c,
- main/features_config.c: Switch transferdigittimeout to be
- configured as seconds instead of milliseconds. This was an
- unintentional consequence of the update of features.conf to use
- the config framework in Asterisk 12. Thanks to Marco Signorini on
- the Asterisk developers list for pointing out the problem.
- 2013-09-17 14:48 +0000 [r399225] Kevin Harwell <kharwell@digium.com>
- * /, apps/confbridge/conf_state_multi_marked.c: Confbridge: empty
- conference not being torn down Confbridge would not properly tear
- down an empty conference bridge when all users were kicked via
- end_marked=yes and at least one user was also set to wait_marked.
- This occurred because while end_marked users were being kicked
- and at least one was also set to wait_marked then the leave
- wait_marked handler would be called on that user, but there would
- be no waiting user (still considered active). The waiting users
- would decrement and now be negative. The conference would remain,
- but be put into an inactive state. The solution was to move from
- the active list to the wait list, those users with wait_marked
- set right before kicking. This allows both the active and wait
- users to decrement correctly and the confbridge to tear down
- properly. A crashed also occurred when trying to list the
- specific conference from the CLI. This happened because the
- conference specified was invalid. Since the conference properly
- tears down now there is no way to reference it thus alleviating
- the crash as well. (closes issue ASTERISK-21859) Reported by:
- Chris Gentle Review: https://reviewboard.asterisk.org/r/2848/
- ........ Merged revisions 399222 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-16 18:34 +0000 [r399160-399207] Richard Mudgett <rmudgett@digium.com>
- * tests/test_ari_model.c: Fix module load errors for
- test_ari_model.so. You cannot use a function pointer variable
- with an external function from another dynamically loaded module
- because data variables are always resolved even with RTLD_LAZY. *
- Added wrapper functions for ast_ari_validate_int() and
- ast_ari_validate_string() to use instead for the function pointer
- variable. (closes issue ASTERISK-22457) Reported by: David M. Lee
- * res/res_speech.exports.in, apps/app_speech_utils.c:
- app_speech_utils: Fix unresolved symbol ast_speech_get_setting().
- Fixes regression introduced by -r374096. * Made
- res_speech.export.in export ast_* symbols instead of specific
- functions. * Made app_speech_utils.c declare that it is dependent
- upon res_speech. (issue ASTERISK-17136) Reported by: Richard
- Kenner
- * /, channels/chan_iax2.c: chan_iax2: Fix saving the wrong expiry
- time in astdb. When a new IAX2 client registers, the astdb
- database is updated with the value of minregexpire defined in
- iax.conf instead of using the expiry time that is provided by the
- client. The provided expiry time of the client is updated after
- inserting the astdb entry. As a consequence, restarting or
- reloading asterisk creates clients whose registration may expire
- before they reregister. The clients are therefore unavailable
- after minregexpire seconds until they reregister. * Move updating
- of the expiry time to before inserting into the astdb. (closes
- issue ASTERISK-22504) Reported by: Stefan Wachtler Patches:
- chan_iax2.c.patch (license #6533) patch uploaded by Stefan
- Wachtler ........ Merged revisions 399158 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 399159 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-16 02:33 +0000 [r399146] Matthew Jordan <mjordan@digium.com>
- * main/cdr.c: Filter internal channels out of bridge enter/leave
- message handling Some channels exist merely as an implementation
- detail in Asterisk, such as ConfBridge's announcer/recorder
- channels. These channels should never be exposed to the outside
- world, or to interfaces that report on Asterisk. We already
- filter out such channels in snapshot processing; however, we
- failed to filter out bridge related messages that involved these
- channels. This patch filters out bridge related messages that are
- for such channels. This prevents a spurious WARNING message from
- being displayed when those channels move in and out of bridges.
- 2013-09-13 22:05 +0000 [r399136] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_sip.c, res/stasis/control.c, main/bridge.c,
- main/bridge_basic.c, main/core_unreal.c,
- res/parking/parking_applications.c, main/core_local.c,
- res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
- include/asterisk/features.h, main/channel.c,
- include/asterisk/bridge_channel.h, res/parking/parking_tests.c,
- main/features.c, tests/test_cel.c, main/bridge_channel.c,
- include/asterisk/bridge.h, apps/confbridge/conf_chan_announce.c,
- tests/test_cdr.c, res/res_pjsip_refer.c: Restore Dial, Queue, and
- FollowMe 'I' option support. The Dial, Queue, and FollowMe
- applications need to inhibit the bridging initial connected line
- exchange in order to support the 'I' option. * Replaced the
- pass_reference flag on ast_bridge_join() with a flags parameter
- to pass other flags defined by enum ast_bridge_join_flags. *
- Replaced the independent flag on ast_bridge_impart() with a flags
- parameter to pass other flags defined by enum
- ast_bridge_impart_flags. * Since the Dial, Queue, and FollowMe
- applications are now the only callers of ast_bridge_call() and
- ast_bridge_call_with_flags(), changed the calling contract to
- require the initial COLP exchange to already have been done by
- the caller. * Made all callers of ast_bridge_impart() check the
- return value. It is important. As a precaution, I also made the
- compiler complain now if it is not checked. * Did some cleanup in
- parking_tests.c as a result of checking the ast_bridge_impart()
- return value. An independent, but associated change is: * Reduce
- stack usage in ast_indicate_data() and add a dropping redundant
- connected line verbose message. (closes issue ASTERISK-22072)
- Reported by: Joshua Colp Review:
- https://reviewboard.asterisk.org/r/2845/
- 2013-09-13 20:54 +0000 [r399100] David M. Lee <dlee@digium.com>
- * main/astobj2.c, /: Don't write to /tmp/refs when REF_DEBUG is not
- defined. If MALLOC_DEBUG is enabled, then the debug destructor
- for the container is used, which would erroneously write to
- /tmp/refs. This patch only uses the debug destructor if ref_debug
- is used. (closes issue ASTERISK-22536) ........ Merged revisions
- 399098 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 399099 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-13 14:49 +0000 [r399083] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip.c, res/res_pjsip_pubsub.c, res/res_pjsip_session.c,
- include/asterisk/res_pjsip.h, res/res_pjsip.exports.in: Create
- more accurate Contact headers for dialogs when we are the UAS.
- (closes issue AST-1207) reported by John Bigelow Review:
- https://reviewboard.asterisk.org/r/2842
- 2013-09-13 14:25 +0000 [r399064] Rusty Newton <rnewton@digium.com>
- * res/res_pjsip_endpoint_identifier_ip.c: Broke the build! Forgot
- para tags within my description.
- https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD-304
- 2013-09-13 14:24 +0000 [r399059] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_outbound_authenticator_digest.c,
- res/res_pjsip_authenticator_digest.c,
- res/res_pjsip/config_auth.c: Change how realms are handled for
- outbound authentication. With this change, if no realm is
- specified in an outbound auth section, then we will simply match
- the realm that was present in the 401/407 challenge. (closes
- issue ASTERISK-22471) Reported by George Joseph (closes issue
- ASTERISK-22386) Reported by Rusty Newton Patches:
- outbound_auth_realm_v4.patch uploaded by George Joseph (License
- #6322)
- 2013-09-13 14:21 +0000 [r399039-399049] David M. Lee <dlee@digium.com>
- * res/res_pjsip_logger.c, res/res_rtp_asterisk.c,
- res/res_pjsip_log_forwarder.c (added): res_pjsip: Forward PJSIP
- logging to Asterisk logging This patch uses PJSIP's
- pj_log_set_log_func() to forward PJSIP's log messages to
- Asterisk's logger. This is done in a new module:
- res_pjsip_log_forwarder.so. This patch sets defaultenabled on the
- existing res_pjsip_logger.so to no, since logging every SIP
- packet seems a bit odd to do by default, and is (hopefully) less
- necessary with regular PJSIP logging. It also removes
- res_rtp_asterisk's disabling of PJSIP logging. (closes issue
- ASTERISK-22360) Reported by: Joshua Colp Review:
- https://reviewboard.asterisk.org/r/2830/
- * res/res_http_websocket.c: ARI: Fix WebSocket response when
- subprotocol isn't specified When I moved the ARI WebSocket from
- /ws to /ari/events, I added code to allow a WebSocket to connect
- without specifying the subprotocol if there's only one
- subprotocol handler registered for the WebSocket. Naively, I
- coded it to always respond with the subprotocol in use.
- Unfortunately, according to RFC 6455, if the server's response
- includes a subprotocol header field that "indicates the use of a
- subprotocol that was not present in the client's handshake [...],
- the client MUST _Fail the WebSocket Connection_.", emphasis
- theirs. This patch correctly omits the Sec-WebSocket-Protocol if
- one is not specified by the client. (closes issue ASTERISK-22441)
- Review: https://reviewboard.asterisk.org/r/2828/
- 2013-09-13 13:54 +0000 [r399035] Kinsey Moore <kmoore@digium.com>
- * /, apps/app_meetme.c: Fix several crashes in MeetMeAdmin This
- change ensures that MeetMeAdmin commands requiring a user
- actually get a user and fixes another issue where an extra
- dereference could occur for a last-entered user being ejected if
- a user identifier was also provided. (closes issue
- ASTERISK-21907) Reported by: Alex Epshteyn Review:
- https://reviewboard.asterisk.org/r/2844/ ........ Merged
- revisions 399033 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 399034 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-13 13:27 +0000 [r399031] Rusty Newton <rnewton@digium.com>
- * res/res_pjsip_endpoint_identifier_ip.c: 'identify' configObject
- doesn't have a synopsis Add a straightforward synopsis and
- description to the identify config object in XML documentation.
- (issue ASTERISK-22311) (closes issue ASTERISK-22311) Reported By:
- Rusty Newton
- 2013-09-12 23:41 +0000 [r399019-399021] Richard Mudgett <rmudgett@digium.com>
- * main/bridge.c: CLI bridge: Fix "bridge destroy <id>" and "bridge
- kick <id> <chan>" tab completion. These two commands must deal
- with the live bridges container for tab completion and not the
- stasis cache.
- * main/bridge.c: astobj2: Register the bridges container for debug
- inspection.
- 2013-09-12 23:21 +0000 [r399017] Rusty Newton <rnewton@digium.com>
- * res/res_pjsip_acl.c: Documentation fix and improvements to XML
- configuration help res_pjsip_acl * One bug fix. Made the synopsis
- for "type" to accurate. * changing the usage of "IP-domains" to
- "IP addresses" * clarifying the usage for the options, by adding
- a relevant description for each * modified other areas of the XML
- help for clarity, such as the module description and a few
- synopsis changes here and there. See the patch. (issue
- ASTERISK-22458) (closes issue ASTERISK-22458) Reported By: Rusty
- Newton Review: https://reviewboard.asterisk.org/r/2823/
- 2013-09-12 20:20 +0000 [r398991] Jonathan Rose <jrose@digium.com>
- * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
- Revert r398835 due to failing tests involving originate (issue
- ASTERISK-22424) Reported by: Jonathan Rose ........ Merged
- revisions 398977 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398986 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-12 16:38 +0000 [r398938] Richard Mudgett <rmudgett@digium.com>
- * main/core_unreal.c: core_local: Fix memory corruption race
- condition. The masquerade super test is failing on v12 with high
- fence violations and crashing. The fence violations are showing
- that party id allocated memory strings are somehow getting
- corrupted in the bridge_reconfigured_connected_line_update()
- function. The invalid string values happen to be the freed memory
- fill pattern. After much puzzling, I deduced that the
- bridge_reconfigured_connected_line_update() is copying a string
- out of the source channel's caller party id struct just as
- another thread is updating it with a new value. The copying
- thread is using the old string pointer being freed by the
- updating thread. A search of the code found the
- unreal_colp_redirect_indicate() routine updating the caller party
- id's without holding the channel lock. A latent bug in v1.8 and
- v11 hatched in v12 because of the bridging and connected line
- changes. :) (issue ASTERISK-22221) Reported by: Matt Jordan
- Review: https://reviewboard.asterisk.org/r/2839/
- 2013-09-12 15:23 +0000 [r398927] David M. Lee <dlee@digium.com>
- * res/res_pjsip.c: Fix symbol collision with pjsua. We shouldn't be
- exporting any symbols that start with pjsip_.
- 2013-09-12 00:04 +0000 [r398882-398886] Rusty Newton <rnewton@digium.com>
- * apps/app_queue.c, /: 'queue add member' help text correction You
- are adding dial strings to the queue, not channels. An aribitrary
- string could be used, but you are typically referencing a
- channel. Correcting the command help text. (issue ASTERISK-22263)
- (closes issue ASTERISK-22263) Reported By: Rusty Newton ........
- Merged revisions 398884 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398885 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * configs/chan_dahdi.conf.sample, /: Documentation fix -
- waitfordialtone is not boolean, it's time in milliseconds
- Changing text in chan_dahdi.conf sample to be accurate. (issue
- ASTERISK-22308) (closes issue ASTERISK-22308) Reported By:
- Malcolm Davenport ........ Merged revisions 398880 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398881 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-11 19:56 +0000 [r398837] Jonathan Rose <jrose@digium.com>
- * channels/sip/include/sip.h, /, channels/chan_sip.c: chan_sip:
- Reject calls without prior SDP on 200 OK If we receive a 200 OK
- without SDP, we will now check to see if the remote address has
- been established for that channel's RTP session and if the to tag
- for that channel has changed from the most recent to tag in a
- response less than 200. If either a change has been made since
- the last to-tag was received or the remote address is unset, then
- we will drop the call. (closes issue ASTERISK-22424) Reported by:
- Jonathan Rose Review:
- https://reviewboard.asterisk.org/r/2827/diff/#index_header
- ........ Merged revisions 398835 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398836 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-11 18:02 +0000 [r398821] Russell Bryant <russell@russellbryant.com>
- * configs/confbridge.conf.sample, /: Fix typo in
- confbridge.conf.sample The denoise filter requires func_speex,
- not codec_speex. Fix this in the description of the denoise=yes
- option in confbridge.conf. ........ Merged revisions 398820 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-11 14:14 +0000 [r398806] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_caller_id.c, channels/chan_pjsip.c: pjsip: reinvite
- for connected line updates occurs when it should not Connected
- line updates are now only sent out if an actual update needs to
- occur. This happens under the following conditions: 1. The
- endpoint we are sending to is trusted. 2. Either a
- P-Asserted-Identity or Remote Party-ID header needs to be
- added/sent. 3. The connected id's number and name are valid. Also
- added an SDP when an update is sent out. (closes issue AST-1212)
- Reported by: John Bigelow Review:
- https://reviewboard.asterisk.org/r/2831/
- 2013-09-10 18:03 +0000 [r398759] Richard Mudgett <rmudgett@digium.com>
- * res/res_musiconhold.c, main/indications.c, main/asterisk.c,
- main/xmldoc.c, main/cli.c, /, funcs/func_dialgroup.c,
- main/heap.c, res/res_pjsip/pjsip_configuration.c, main/event.c:
- Fix incorrect usages of ast_realloc(). There are several
- locations in the code base where this is done: buf =
- ast_realloc(buf, new_size); This is going to leak the original
- buf contents if the realloc fails. Review:
- https://reviewboard.asterisk.org/r/2832/ ........ Merged
- revisions 398757 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398758 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-10 17:49 +0000 [r398750-398754] David M. Lee <dlee@digium.com>
- * /, utils/check_expr.c: Fixed utils directory breakage from
- r398748, this time with extra hate. ........ Merged revisions
- 398752 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 398753 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * utils/ael_main.c, utils/conf2ael.c, utils/check_expr.c, /: Fixed
- utils directory breakage from r398648 ........ Merged revisions
- 398748 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 398749 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-09 23:23 +0000 [r398726] Richard Mudgett <rmudgett@digium.com>
- * /, main/astmm.c: MALLOC_DEBUG: Change fence magic number to be
- completely different from the freed magic number. Race conditions
- between freeing a nul terminated string and ast_strdup()'ing it
- are more likely to be detected if the fence and freed magic
- numbers are completely different. ........ Merged revisions
- 398703 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 398721 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-09 21:59 +0000 [r398694] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_endpoint_identifier_ip.c: Add extra debugging to
- res_pjsip_endpoint_identifier_ip
- 2013-09-09 20:12 +0000 [r398638-398651] David M. Lee <dlee@digium.com>
- * main/lock.c, /, main/utils.c, include/asterisk/lock.h: Fix
- DEBUG_THREADS when lock is acquired in __constructor__ This patch
- fixes some long-standing bugs in debug threads that were
- exacerbated with recent Optional API work in Asterisk 12. With
- debug threads enabled, on some systems, there's a lock ordering
- problem between our mutex and glibc's mutex protecting its module
- list (Ubuntu Lucid, glibc 2.11.1 in this instance). In one
- thread, the module list will be locked before acquiring our
- mutex. In another thread, our mutex will be locked before locking
- the module list (which happens in the depths of calling
- backtrace()). This patch fixes this issue by moving backtrace()
- calls outside of critical sections that have the mutex acquired.
- The bigger change was to reentrancy tracking for
- ast_cond_{timed,}wait, which wrongly assumed that waiting on the
- mutex was equivalent to a single unlock (it actually suspends all
- recursive locks on the mutex). (closes issue ASTERISK-22455)
- Review: https://reviewboard.asterisk.org/r/2824/ ........ Merged
- revisions 398648 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398649 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/ari/resource_channels.h: Added note about expected behavior
- of originate (the rest of the commit)
- * rest-api/api-docs/channels.json: Added note about expected
- behavior of originate
- 2013-09-08 23:25 +0000 [r398628] Matthew Jordan <mjordan@digium.com>
- * tests/test_cdr.c: Update CDR Unit tests to reflect container
- changes in r398579 When a channel joins a multi-party bridge, the
- ordering of the CDRs that is created is determined by the
- ordering of the channels who happen to be in that bridge. When
- r398579 changed the number of buckets in the container to
- something sensible, it changed the ordering that the CDRs was
- created in, causing one of the multiparty tests to fail. This
- fixes the test with the now expected ordering.
- 2013-09-07 01:02 +0000 [r398580-398619] Kinsey Moore <kmoore@digium.com>
- * /, res/res_xmpp.c: Prevent XMPP timeout on blank responses
- Sometimes the Google Voice servers have a bad habit of sending
- out 1 byte replies to the xmpp resource. When a blank 1 byte
- reply is received from the socket the buffer attempts to wait
- (endlessly) for the rest of the reply from google which
- effectively blocks the socket and google voice calls will no
- longer come into the server. This patch allows the xmpp module to
- correctly detect empty packets and send out ping replies to
- google. It also sets a socket timeout on the default socket which
- prevents the xmpp socket from closing and preventing future
- google voice calls from coming into the server. Furthermore
- instead of sending an empty reply back to google we send a proper
- xmpp ping reply back. This also adds several more socket
- messages. (closes issue ASTERISK-22347) Reported by: Andrew Nagy
- Review: https://reviewboard.asterisk.org/r/2771 Patches:
- xmpp_fix_1.diff uploaded by Andrew Nagy (License #6524) ........
- Merged revisions 398618 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, res/res_xmpp.c, res/res_jabber.c: Multiple revisions
- 398558,398577 ........ r398558 | kmoore | 2013-09-06 14:28:16
- -0500 (Fri, 06 Sep 2013) | 17 lines Fix Jabber/XMPP distributed
- MWI The mailbox and context are swapped on the receiving end for
- all users of Jabber and XMPP distributed MWI in Asterisk 1.8 and
- all more recent versions. This swaps those values to be correct
- when publishing to the internal event system from Jabber/XMPP
- distributed MWI state. (closes issue ASTERISK-22435) Reported by:
- abelbeck Tested by: Michael Keuter Patches:
- asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch uploaded by
- abelbeck asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch
- uploaded by abelbeck ........ Merged revisions 398523 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- r398577 | kmoore | 2013-09-06 16:00:56 -0500 (Fri, 06 Sep 2013) |
- 10 lines Commit the remainder of r398523 This is a missing part
- of the commit in revision 398523 that corrects the name of a
- variable. (issue ASTERISK-22435) ........ Merged revisions 398576
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 398558,398577 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-06 21:16 +0000 [r398579] Richard Mudgett <rmudgett@digium.com>
- * main/cdr.c: cdr: Change the number of container buckets to be
- similar to the channels container. * Fix the temporary cdr
- candidate containers to use a prime number of buckets.
- 2013-09-06 21:03 +0000 [r398578] Kinsey Moore <kmoore@digium.com>
- * /: Unblock r398558
- 2013-09-06 20:20 +0000 [r398533-398572] Richard Mudgett <rmudgett@digium.com>
- * main/core_local.c: core_local: Fix LocalOptimizationBegin AMI
- event missing Source channel snapshot. * Fix the
- LocalOptimizationBegin AMI event by eliminating an artificial
- buffer size limitation that is too small anyway.
- * main/cdr.c: cdr: Fix some ref leaks. * Added missing unregister
- of the cdr container in cdr_engine_shutdown(). * Fixed ref leak
- in off nominal path of cdr_object_alloc(). * Removed some
- unnecessary NULL checks in cdr_object_dtor().
- * main/parking.c, main/stasis_config.c, include/asterisk/astobj2.h,
- main/cel.c, main/features_config.c, apps/app_agent_pool.c,
- main/cdr.c, main/udptl.c: astobj2: Add warn unused attribute to
- some functions. * Fixed resulting warnings with improper use of
- ao2_global_obj_replace(). * Made a couple uses of
- ao2_global_obj_replace_unref(x, NULL) into the equivalent and
- more appropriate ao2_global_obj_release() call.
- 2013-09-06 18:49 +0000 [r398511-398521] Kinsey Moore <kmoore@digium.com>
- * res/stasis/app.c, main/http.c: Fix build warnings When
- AST_DEVMODE is not defined, ast_asserts are not compiled into the
- binary. In some cases, this means variables are not referenced or
- are set but unused which causes warnings to show up. (closes
- issue ASTERISK-22446) Reported by: Jason Parker (qwell)
- * channels/chan_h323.c, /: Fix chan_h323 compilation This fixes the
- things in chan_h323 that were missed or ignored in the great
- channel opaquification and gets chan_h323 back into a compiling
- state. (closes issue ASTERISK-22365) Reported by: Dmitry Melekhov
- Patches: chan_h323.patch uploaded by Dmitry Melekhov ........
- Merged revisions 398510 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-05 21:46 +0000 [r398381-398498] Richard Mudgett <rmudgett@digium.com>
- * main/astobj2.c: astobj2: Only define ao2_bt() once. * Make
- ao2_bt() not use single char variable names. * Fix ao2_bt()
- formatting.
- * channels/chan_iax2.c, /: chan_iax2: Reduce indentation in
- __attempt_transmit(). * Reduce indentation in
- __attempt_transmit(). * Don't update the static last error time
- variable every time in __schedule_action() and socket_read().
- ........ Merged revisions 398456 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398457 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_iax2.c, /: chan_iax2: Fix stray reference to worker
- thread idle_list. * Fix stray reference to idle_list in
- cleanup_thread_list(). This may be the reason for the note in
- iax2_process_thread() about threads not being removed from the
- task lists. * Move cleanup_thread_list(&idle_list) to after the
- other lists are cleaned up. ........ Merged revisions 398416 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398417 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_iax2.c, /: chan_iax2: Fix bridgecallno deadlock
- avoidance. * Fix bridgecallno deadlock avoidance. When doing
- deadlock avoidance, you need to retest the status of values for
- each loop to see if you still need the lock for bridgecallno. *
- As a safety check, after acquiring the bridgecallno lock you
- should check if iaxs[bridgecallno] is NULL just like the current
- callno checks. * Move setting thread->iostate to IAX_IOSTATE_IDLE
- to after processing any deferred frames to ensure that the
- iostate is IDLE when it is placed back into the idle list.
- defer_full_frame() tries to ensure iax2_process_thread() wakes up
- to process the frame. ........ Merged revisions 398379 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398380 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-05 14:09 +0000 [r398368] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_outbound_registration.c: Clarify server_uri and
- client_uri registration settings. Used some of Rusty's suggested
- language plus also included more SIPesque descriptions of where
- the URIs are actually used in an outgoing REGISTER. (closes issue
- ASTERISK-22390) reported by Rusty Newton
- 2013-09-04 23:06 +0000 [r398303] Richard Mudgett <rmudgett@digium.com>
- * channels/iax2/parser.c, /: chan_iax2: Add missing control frame
- names to debug frame decode output. ........ Merged revisions
- 398301 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 398302 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-04 22:28 +0000 [r398299] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_outbound_authenticator_digest.c: Give more detail
- regarding failures to create request with auth credentials.
- (issue ASTERISK-22386)
- 2013-09-04 21:36 +0000 [r398283-398286] Jonathan Rose <jrose@digium.com>
- * /, tests/test_voicemail_api.c: unit tests: test_voicemail_api
- leaks stringfields from snapshots (closes issue ASTERISK-22414)
- Reported by: Corey Farrell Patches:
- test_voicemail_api-leaks-11.patch uploaded by coreyfarrell
- (license 5909) ........ Merged revisions 398285 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/app_voicemail.c, /: app_voicemail: Fix leaking config
- objects when msg_id doesn't match (issues ASTERISK-22414)
- Reported by: Corey Farrell Patch:
- test_voicemail_api-leaks-11.patch uploaded by coreyfarrell
- (license 5909) ........ Merged revisions 398281 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-04 16:00 +0000 [r398237] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_misdn.c, /: chan_misdn: Fix misdn debug output
- printed with arbitrary verbose levels. Fix the misdn debug output
- to remote consoles. chan_misdn uses ast_console_puts() which
- doesn't know about verbose levels. Better to use ast_verbose()
- instead. Without this patch the misdn debug messages are appended
- to the verbose level which ever was set by the message sent to
- the console before, i.e. any undefined level. (closes issue
- AST-1218) Reported by: Guenther Kelleter Patches: misdnlog.patch
- (license #6372) patch uploaded by Guenther Kelleter ........
- Merged revisions 398235 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398236 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-04 14:29 +0000 [r398226] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip_outbound_registration.c: Debug messages for pjsip
- outbound registration Added debug messages indicating that an
- outbound registration attempt was made and it was successful in
- pjsip. (closes issue ASTERISK-22388) Reported by: Rusty Newton
- 2013-09-03 19:49 +0000 [r398215] Alexandr Anikin <may@telecom-service.ru>
- * /, addons/ooh323c/src/ooh245.c: Fix remote tcs sequence handling
- on empty tcs received ........ Merged revisions 398214 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-09-03 18:08 +0000 [r398206] Kinsey Moore <kmoore@digium.com>
- * res/res_pjsip_dtmf_info.c: Prevent a crash in
- res_pjsip_dtmf_info.c This change makes sure that a content type
- header exists before checking the contents of the header against
- known SIP INFO DTMF content types.
- 2013-09-03 14:36 +0000 [r398198] David M. Lee <dlee@digium.com>
- * Makefile: Fixed 'make clean' for wiki docs
- 2013-09-03 14:27 +0000 [r398196] Walter Doekes <walter+asterisk@wjd.nu>
- * /, cel/cel_custom.c: Be a little more verbose when loading
- cel_custom.conf. Review: https://reviewboard.asterisk.org/r/2805/
- ........ Merged revisions 398167 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398168 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-30 20:58 +0000 [r398149] David M. Lee <dlee@digium.com>
- * main/optional_api.c, main/asterisk.c,
- include/asterisk/optional_api.h: Fix graceful shutdown crash. The
- cleanup code for optional_api needs to happen after all of the
- optional API users and providers have unused/unprovided.
- Unfortunately, regsitering the atexit() handler at the beginning
- of main() isn't soon enough, since module destructors run after
- that.
- 2013-08-30 20:34 +0000 [r398147] Rusty Newton <rnewton@digium.com>
- * configs/pjsip.conf.sample: New pjsip.conf.sample (issue
- ASTERISK-22145) (closes issue ASTERISK-22145) Reported By: Matt
- Jordan Review: https://reviewboard.asterisk.org/r/2811/
- 2013-08-30 19:51 +0000 [r398116-398139] Kevin Harwell <kharwell@digium.com>
- * include/asterisk/sorcery.h, res/res_pjsip.c,
- res/res_pjsip/config_transport.c, main/sorcery.c,
- res/res_pjsip_outbound_registration.c: Add a reloadable option
- for sorcery type objects Some configuration objects currently
- won't place nice if reloaded. Specifically, in this case the
- pjsip transport objects. Now when registering an object in
- sorcery one may specify that the object is allowed to be reloaded
- or not. If the object is set to not reload then upon reloading of
- the configuration the objects of that type will not be reloaded.
- The initially loaded objects of that type however will remain.
- While the transport objects will not longer be reloaded it is
- still possible for a user to configure an endpoint to an invalid
- transport. A couple of log messages were added to help diagnose
- this problem if it occurs. (closes issue ASTERISK-22382) Reported
- by: Rusty Newton (closes issue ASTERISK-22384) Reported by: Rusty
- Newton Review: https://reviewboard.asterisk.org/r/2807/
- * main/translate.c, main/named_acl.c, main/indications.c,
- main/config.c, res/res_security_log.c, /, channels/chan_sip.c:
- Fix various memory leaks main/config.c - cleanup cache fie
- includes res/res_security_log.c - unregister logger level
- channesl/chan_sip.c - cleanup io context and notify_types
- main/translator.c - cleanup at shutdown main/named_acl.c -
- cleanup cli commands main/indications.c -
- ast_get_indication_tone() unref default_tone_zone if used (closes
- issues ASTERISK-22378) Reported by: Corey Farrell Patches:
- config_shutdown.patch uploaded by coreyfarrell (license 5909)
- res_security_log.patch uploaded by coreyfarrell (license 5909)
- chan_sip-11.patch uploaded by coreyfarrell (license 5909)
- indications_refleak.patch uploaded by coreyfarrell (license 5909)
- named_acl-cli_unreg-trunk.patch uploaded by coreyfarrell (license
- 5909) translate_shutdown.patch uploaded by coreyfarrell (license
- 5909) ........ Merged revisions 398102 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398103 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-30 18:35 +0000 [r398100] Matthew Jordan <mjordan@digium.com>
- * UPGRADE.txt: Update UPGRADE.txt file for Asterisk 12 This simply
- pulls in the changes that were breaking from the CHANGES file and
- updates a few other areas accordingly. It also removes the 10 =>
- 11 notes, which are traditionally removed from each major version
- and stored in the appropriate UPGRADE-X.txt file.
- 2013-08-30 18:18 +0000 [r398068] Jonathan Rose <jrose@digium.com>
- * main/config_options.c, main/features_config.c: features_config:
- Ignore parkinglots in features.conf instead of failing to load
- Parkinglots are defined in res_features.conf now, but this patch
- fixes features_config so that features don't fail to load when
- parkinglots are present in features.conf Review:
- https://reviewboard.asterisk.org/r/2801/
- 2013-08-30 17:57 +0000 [r398062] Kevin Harwell <kharwell@digium.com>
- * main/manager.c, /, res/res_agi.c: Memory leak fix
- ast_xmldoc_printable returns an allocated block that must be
- freed by the caller. Fixed manager.c and res_agi.c to stop
- leaking these results. (closes issue ASTERISK-22395) Reported by:
- Corey Farrell Patches: manager-leaks-12.patch uploaded by
- coreyfarrell (license 5909) res_agi-xmldoc-leaks.patch uploaded
- by coreyfarrell (license 5909) ........ Merged revisions 398060
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 398061 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-30 17:10 +0000 [r398023-398025] Richard Mudgett <rmudgett@digium.com>
- * tests/test_substitution.c: test_substitution: Fix failing test.
- Revert the -r392190 change. The original test was correct. The
- CDR code was actually returning an unititialized buffer.
- * /, tests/test_substitution.c: test_substituition: Fix failed test
- reporting to actually report failure. You cannot put the "Testing
- <blah> pass/fail" on a single line before actually performing the
- test. Now any additional failure information is logged before the
- test pass/fail announcement. * Added an additional CDR(answer,u)
- test. ........ Merged revisions 398018 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 398019 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-30 16:57 +0000 [r398020] Jonathan Rose <jrose@digium.com>
- * main/udptl.c, main/features_config.c: features_config: Don't
- require features.conf to be present for Asterisk to load (closes
- issue ASTERISK-22426) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2806/
- 2013-08-30 16:26 +0000 [r398002-398016] Kevin Harwell <kharwell@digium.com>
- * apps/app_mixmonitor.c, /: Fix memory leaks (closes issue
- ASTERISK-22368) Reported by: Corey Farrell Patches:
- issueA22368_mixmonitor_free_filename.patch uploaded by wdoekes
- (license 5674) ........ Merged revisions 398004 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 398011 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/asterisk.c, /: Check return value on fwrite ........ Merged
- revisions 398000 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-30 13:39 +0000 [r397985-397989] David M. Lee <dlee@digium.com>
- * build_tools/cflags.xml, configure, res/res_ari_events.c,
- include/asterisk/http_websocket.h, main/optional_api.c (added),
- rest-api-templates/swagger_model.py, res/ari/ari_websockets.c,
- main/asterisk.c, channels/sip/include/sip.h, res/res_ari.c,
- tests/test_optional_api.c (added), channels/chan_sip.c,
- include/asterisk/autoconfig.h.in, configure.ac,
- rest-api-templates/res_ari_resource.c.mustache,
- res/ari/internal.h, res/res_http_websocket.c, CHANGES,
- include/asterisk/compiler.h, include/asterisk/ari.h,
- main/loader.c, include/asterisk/optional_api.h: optional_api: Fix
- linking problems between modules that export global symbols With
- the new work in Asterisk 12, there are some uses of the
- optional_api that are prone to failure. The details are rather
- involved, and captured on [the wiki][1]. This patch addresses the
- issue by removing almost all of the magic from the optional API
- implementation. Instead of relying on weak symbol resolution, a
- new optional_api.c module was added to Asterisk core. For modules
- providing an optional API, the pointer to the implementation
- function is registered with the core. For modules that use an
- optional API, a pointer to a stub function, along with a
- optional_ref function pointer are registered with the core. The
- optional_ref function pointers is set to the implementation
- function when it's provided, or the stub function when it's now.
- Since the implementation no longer relies on magic, it is now
- supported on all platforms. In the spirit of choice, an
- OPTIONAL_API flag was added, so we can disable the optional_api
- if needed (maybe it's buggy on some bizarre platform I haven't
- tested on) The AST_OPTIONAL_API*() macros themselves remained
- unchanged, so existing code could remain unchanged. But to help
- with debugging the optional_api, the patch limits the #include of
- optional API's to just the modules using the API. This also
- reduces resource waste maintaining optional_ref pointers that
- aren't used. Other changes made as a part of this patch: * The
- stubs for http_websocket that wrap system calls set errno to
- ENOSYS. * res_http_websocket now properly increments module use
- count. * In loader.c, the while() wrappers around dlclose() were
- removed. The while(!dlclose()) is actually an anti-pattern, which
- can lead to infinite loops if the module you're attempting to
- unload exports a symbol that was directly linked to. * The
- special handling of nonoptreq on systems without weak symbol
- support was removed, since we no longer rely on weak symbols for
- optional_api. [1]: https://wiki.asterisk.org/wiki/x/wACUAQ
- (closes issue ASTERISK-22296) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2797/
- * res/stasis_recording (added), res/ari/resource_recordings.c,
- res/ari/ari_model_validators.h, res/res_ari_recordings.c,
- res/res_stasis_playback.c,
- include/asterisk/stasis_app_recording.h,
- res/ari/resource_recordings.h, res/res_stasis_recording.c,
- res/Makefile, res/ari/ari_model_validators.c,
- rest-api/api-docs/recordings.json: ARI: Implement
- /recordings/stored API's his patch implements the ARI API's for
- stored recordings. While the original task only specified
- deleting a recording, it was simple enough to implement the GET
- for all recordings, and for an individual recording. The
- recording playback operation was modified to use the same code
- for accessing the recording as the REST API, so that they will
- behave consistently. There were several problems with the
- api-docs that were also fixed, bringing the ARI spec in line with
- the implementation. There were some 'wishful thinking' fields on
- the stored recording model (duration and timestamp) that were
- removed, because I ended up not implementing a metadata file to
- go along with the recording to store such information. The GET
- /recordings/live operation was removed, since it's not really
- that useful to get a list of all recordings that are currently
- going on in the system. (At least, if we did that, we'd probably
- want to also list all of the current playbacks. Which seems
- weird.) (closes issue ASTERISK-21582) Review:
- https://reviewboard.asterisk.org/r/2693/
- 2013-08-30 01:19 +0000 [r397975-397977] Richard Mudgett <rmudgett@digium.com>
- * main/pbx.c: pbx.c: Make pbx_substitute_variables_helper_full()
- not mask variables.
- * main/pbx.c, tests/test_substitution.c, funcs/func_cdr.c: Revert
- last commit.
- * funcs/func_cdr.c, main/pbx.c, tests/test_substitution.c: pbx.c:
- Make ast_str_substitute_variables_full() not mask variables.
- 2013-08-30 00:10 +0000 [r397960-397968] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_pidf.c: Sanitize XML output for PIDF bodies.
- PJSIP's PIDF API does not replace angle brackets with their
- appropriate counterparts for XML. So we have to do it ourself. In
- this particular case, the problem had to do with attempting to
- place an unsanitized SIP URI into an XML node. Now we don't get a
- 488 from recipients of our PIDF NOTIFYs.
- * res/res_pjsip_pidf.c: Fix method for creating activities string
- in PIDF bodies. The previous method did not allocate enough space
- to create the entire string, but adjusted the string's slen value
- to be larger than the actual allocation. This resulted in garbled
- text in NOTIFY requests from Asterisk. This method allocates the
- proper amount of space first and then writes the content into the
- buffer.
- 2013-08-29 22:45 +0000 [r397958] Kevin Harwell <kharwell@digium.com>
- * apps/app_verbose.c, main/asterisk.c, channels/chan_misdn.c, /,
- apps/app_dumpchan.c, main/logger.c: Verbose logging discrepancies
- Refactored cases where a combination of
- ast_verbose/options_verbose were present. Also in general tried
- to eliminate, in as many places as possible, where the
- options_verbose global variable was being used. Refactored the
- way local and remote consoles handle verbose message logging in
- an attempt to solve the various discrepancies that sometimes
- would show between the two. (closes issue AST-1193) Reported by:
- Guenther Kelleter Review:
- https://reviewboard.asterisk.org/r/2798/ ........ Merged
- revisions 397948 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-29 22:24 +0000 [r397955] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_pubsub.c: Fix when the subscription_terminated
- callback is called for subscription handlers. The previous
- placement would result in the resubscribe() callback called
- instead of the subscription_terminated() callback being called
- when a subscription was ended via a SUBSCRIBE request. This would
- result in confusing PJSIP and having it throw an assertion.
- 2013-08-29 21:34 +0000 [r397946] Kevin Harwell <kharwell@digium.com>
- * main/cel.c, main/asterisk.c, main/cdr.c, main/manager.c,
- main/stasis_config.c, main/file.c, main/app.c,
- main/config_options.c: Memory leaks fix (closes ASTERISK-22376)
- Reported by: John Hardin Patches: memleak.patch uploaded by
- jhardin (license 6512) memleak2.patch uploaded by jhardin
- (license 6512)
- 2013-08-29 21:33 +0000 [r397945] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_session.c: Fix a race condition where a canceled
- call was answered. RFC 5407 section 3.1.2 details a scenario
- where a UAC sends a CANCEL at the same time that a UAS sends a
- 200 OK for the INVITE that the UAC is canceling. When this
- occurs, it is the role of the UAC to immediately send a BYE to
- terminate the call. This scenario was reproducible by have a
- Digium phone with two lines place a call to a second phone that
- forwarded the call to the second line on the original phone. The
- Digium phone, upon realizing that it was connecting to itself,
- would attempt to cancel the call. The timing of this happened to
- trigger the aforementioned race condition about 80% of the time.
- Asterisk was not doing its job of sending a BYE when receiving a
- 200 OK on a cancelled INVITE. The result was that the ast_channel
- structure was destroyed but the underlying SIP session, as well
- as the PJSIP inv_session and dialog, were still alive. Attempting
- to perform an action such as a transfer, once in this state,
- would result in Asterisk crashing. The circumstances are now
- detected properly and the session is ended as recommended in RFC
- 5407. (closes issue AST-1209) reported by John Bigelow
- 2013-08-29 20:21 +0000 [r397938] Matthew Jordan <mjordan@digium.com>
- * CHANGES, contrib/scripts/safe_asterisk, Makefile,
- configs/safe_asterisk.conf.sample (removed): Revert r394939 due
- to (numerous) objections The patch from ASTERISK-21965 was
- committed perhaps a bit too hastily. Walter and Tzafrir have
- pointed out numerous issues with the approach and have propsed an
- alternative in r/2757. Since it's not a time critical issue and
- is not worth holding up the release of 12 for it, I've gone ahead
- and reverted r394939 from 12/trunk and re-opened ASTERISK-21965.
- 2013-08-29 16:18 +0000 [r397927] David M. Lee <dlee@digium.com>
- * rest-api-templates/asterisk_processor.py,
- rest-api-templates/make_ari_stubs.py,
- rest-api-templates/api.wiki.mustache: Account for {} in Swagger
- notes
- 2013-08-29 16:04 +0000 [r397924] Matthew Jordan <mjordan@digium.com>
- * Makefile: Recursively search for '.c' files when making
- documentation with 'make full' Without this, documentation
- defined in sub-folders is ignored. Since having properly
- generated documentation is especially important in Asterisk 12 -
- not having it can cause a module to not load - 'make full' needs
- to look in all .c files.
- 2013-08-29 15:42 +0000 [r397921-397922] Mark Michelson <mmichelson@digium.com>
- * main/cel.c: Remove extra debug message.
- * apps/app_queue.c, main/cel.c, main/stasis_bridges.c: Resolve
- assumptions that bridge snapshots would be non-NULL for transfer
- stasis events. Attempting to transfer an unbridged call would
- result in crashes in either CEL code or in the conversion to AMI
- messages.
- 2013-08-29 12:27 +0000 [r397911] Matthew Jordan <mjordan@digium.com>
- * contrib/ast-db-manage/README.md (added),
- contrib/ast-db-manage/config/versions (added),
- contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py
- (added), contrib/ast-db-manage (added),
- contrib/ast-db-manage/voicemail/versions (added),
- contrib/ast-db-manage/config.ini.sample (added),
- contrib/ast-db-manage/config/env.py (added),
- contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py
- (added), contrib/ast-db-manage/config (added),
- contrib/ast-db-manage/config/script.py.mako (added),
- contrib/ast-db-manage/voicemail.ini.sample (added),
- contrib/ast-db-manage/voicemail/env.py (added),
- contrib/ast-db-manage/voicemail (added),
- contrib/ast-db-manage/voicemail/script.py.mako (added): Actually
- *add* the database schema management utilities In r397874, the
- scripts were removed... but not replaced. Thanks to Michael Young
- for noticing this!
- 2013-08-28 23:14 +0000 [r397885-397902] Richard Mudgett <rmudgett@digium.com>
- * main/stdtime/localtime.c, main/cdr.c, funcs/func_cdr.c: Fix some
- uninitialized buffers for CDR handling valgrind found. * Made
- ast_strftime_locale() ensure that the output buffer is
- initialized. The std library strftime() returns 0 and does not
- touch the buffer if it has an error. However, the function can
- also return 0 without an error. (closes issue ASTERISK-22412)
- Reported by: rmudgett
- * main/cdr.c: Fixed problems with ast_cdr_serialize_variables(). *
- Fixed return value of ast_cdr_serialize_variables() on error. It
- needs to return 0 indicating no CDR variables found. * Made
- ast_cdr_serialize_variables() check the return value of
- cdr_object_format_property() and assert if nonzero. A member of
- the cdr_readonly_vars[] was not handled. * Removed unused
- elements from cdr_readonly_vars[]: total_duration, total_billsec,
- first_start, and first_answer.
- * main/cdr.c: Made the on/off in CLI "cdr set debug [on|off]" case
- insensitive.
- * main/cdr.c: Make CDR variable name chandling consistently case
- insensitive.
- * main/cdr.c: Make CDR code deal with channel names case
- insensitively.
- * funcs/func_cdr.c, main/cdr.c: Some CDR code optimization.
- * funcs/func_cdr.c: Whitespace and curly braces.
- 2013-08-28 21:05 +0000 [r397876] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_refer.c: Improve detection of answer on SIP blind
- transfer. A problem encountered during testing was that
- res_pjsip_refer would not ever send a NOTIFY with a 200 OK
- sipfrag. This is because the framehook that was supposed to send
- the NOTIFY would never be told that an answer had occurred. This
- happened for two reasons: 1) The transferee channel on which the
- framehook was on was already up. 2) Answers are rarely if ever
- written to channels. Rather, the ast_answer() or ast_raw_answer()
- function is used to answer channels. Thanks to a suggestion by
- Matt Jordan, the best way to detect that the call had been
- answered was to find out when the transferee channel joined a
- bridge. With stasis this is an easy task. So now, in addition to
- the framehook logic, there is a stasis subscription used to
- determine when the transferee has entered a bridge. Once it has
- entered, an appropriate NOTIFY is sent.
- 2013-08-28 20:55 +0000 [r397870-397874] Matthew Jordan <mjordan@digium.com>
- * contrib/realtime/mysql/voicemail_messages.sql,
- contrib/realtime/postgresql/realtime.sql,
- contrib/realtime/mysql/voicemail_data.sql, CHANGES,
- contrib/realtime/mysql/musiconhold.sql,
- contrib/realtime/mysql/queue_log.sql,
- contrib/realtime/mysql/voicemail.sql,
- contrib/realtime/mysql/sippeers.sql,
- contrib/realtime/mysql/iaxfriends.sql,
- contrib/realtime/mysql/meetme.sql: Add database schema management
- using Alembic This patch replaces contrib/realtime/ with a new
- setup for managing the database schema required for database
- integration with Asterisk. In addition to initializing a database
- with the proper schema, alembic can do a database migration to
- assist with upgrading Asterisk in the future. Hopefully this
- helps make setting up and operating Asterisk with a database
- easier. With this the schema only needs to be maintained in one
- place instead of once per database. The schemas I have added here
- have a bit of improvement over the examples that were there
- before (some added consistency and added some missing indexes).
- Managing the schema in one place here also applies to all
- databases supported by SQLAlchemy. See
- contrib/ast-db-manage/README.md for more details. Review:
- https://reviewboard.asterisk.org/r/2731 patch by Russell Bryant
- (license 6300)
- * CHANGES: Update CHANGES file for Asterisk 12 This updates the
- Asterisk 12 CHANGES file with the things that were missed during
- the development cycle. Review:
- https://reviewboard.asterisk.org/r/2795/
- 2013-08-28 16:12 +0000 [r397856-397859] Richard Mudgett <rmudgett@digium.com>
- * main/pbx.c: pbx.c: Make ast_str_substitute_variables_full() not
- mask variables.
- * include/asterisk/threadstorage.h: Match use of ast_free() with
- ast_calloc() and add some curly braces.
- 2013-08-28 15:40 +0000 [r397854] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip/pjsip_distributor.c: Fix dialog matching in the SIP
- distributor. Dialog matching is performed in the distributor for
- the sole purpose of retrieving an associated serializer so the
- request may be serialized. This patch fixes two problems. First,
- incoming CANCEL requests that had no to-tag (which really should
- be *all* CANCEL requests) would not match with a dialog. An
- earlier bug fix to deal with early CANCEL requests would result
- in the CANCEL being replied to with a 481. The fix for this is to
- find the matching INVITE transaction and get the dialog from that
- transaction. Second, no SIP responses were matching dialogs. This
- is because we were inverting the tags that we were passing into
- PJSIP's dialog finding function. This logic has been corrected by
- setting local and remote tag variables based on whether the
- incoming message is a request or response.
- 2013-08-27 19:15 +0000 [r397816] David M. Lee <dlee@digium.com>
- * res/res_ari_bridges.c, res/stasis/app.c, res/res_ari_events.c,
- res/res_ari_asterisk.c,
- rest-api-templates/res_ari_resource.c.mustache, res/stasis/app.h,
- res/res_stasis.c, main/stasis_bridges.c,
- rest-api-templates/param_parsing.mustache: ARI: WebSocket event
- cleanup Stasis events (which get distributed over the ARI
- WebSocket) are created by subscribing to the channel_all_cached
- and bridge_all_cached topics, filtering out events for
- channels/bridges currently subscribed to. There are two issues
- with that. First was a race condition, where messages in-flight
- to the master subscribe-to-all-things topic would get sent out,
- even though the events happened before the channel was put into
- Stasis. Secondly, as the number of channels and bridges grow in
- the system, the work spent filtering messages becomes excessive.
- Since r395954, individual channels and bridges have caching
- topics, and can be subscribed to individually. This patch takes
- advantage, so that channels and bridges are subscribed to on
- demand, instead of filtering the global topics. The one case
- where filtering is still required is handling BridgeMerge
- messages, which are published directly to the bridge_all topic.
- Other than the change to how subscriptions work, this patch
- mostly just moves code around. Most of the work generating JSON
- objects from messages was moved to .to_json handlers on the
- message types. The callback functions handling app subscriptions
- were moved from res_stasis (b/c they were global to the model) to
- stasis/app.c (b/c they are local to the app now). (closes issue
- ASTERISK-21969) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2754/
- 2013-08-27 18:49 +0000 [r397809] Richard Mudgett <rmudgett@digium.com>
- * main/astmm.c: Made MALLOC_DEBUG less CPU intensive by default.
- Storing a backtrace for each allocation in anticipation of a
- memory management problem is very CPU intensive. * Added the CLI
- "memory backtrace {on|off}" command to request that the backtrace
- be gathered only on request. The backtrace is off by default.
- (issue ASTERISK-22221) Reported by: Matt Jordan
- 2013-08-27 18:05 +0000 [r397759] Matthew Jordan <mjordan@digium.com>
- * /, channels/chan_sip.c: AST-2013-005: Fix crash caused by invalid
- SDP If the SIP channel driver processes an invalid SDP that
- defines media descriptions before connection information, it may
- attempt to reference the socket address information even though
- that information has not yet been set. This will cause a crash.
- This patch adds checks when handling the various media
- descriptions that ensures the media descriptions are handled only
- if we have connection information suitable for that media. Thanks
- to Walter Doekes, OSSO B.V., for reporting, testing, and
- providing the solution to this problem. (closes issue
- ASTERISK-22007) Reported by: wdoekes Tested by: wdoekes patches:
- issueA22007_sdp_without_c_death.patch uploaded by wdoekes
- (License 5674) ........ Merged revisions 397756 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 397757 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 397758 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-27 16:47 +0000 [r397745] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_dahdi.c, channels/sig_analog.c, /,
- channels/chan_sip.c, channels/chan_motif.c, channels/chan_iax2.c,
- channels/sig_pri.c, channels/sig_ss7.c: Fix uninitialized value
- in struct ast_control_pvt_cause_code usage. ........ Merged
- revisions 397744 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-27 16:03 +0000 [r397690-397713] Matthew Jordan <mjordan@digium.com>
- * /, channels/chan_sip.c: AST-2013-004: Fix crash when handling ACK
- on dialog that has no channel A remote exploitable crash
- vulnerability exists in the SIP channel driver if an ACK with SDP
- is received after the channel has been terminated. The handling
- code incorrectly assumed that the channel would always be
- present. This patch adds a check such that the SDP will only be
- parsed and applied if Asterisk has a channel present that is
- associated with the dialog. Note that the patch being applied was
- modified only slightly from the patch provided by Walter Doekes
- of OSSO B.V. (closes issue ASTERISK-21064) Reported by: Colin
- Cuthbertson Tested by: wdoekes, Colin Cutherbertson patches:
- issueA21064_fix.patch uploaded by wdoekes (License 5674) ........
- Merged revisions 397710 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 397711 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 397712 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/bridge_channel.c: Better handle clearing the OUTGOING flag
- when a channel leaves a bridge When a channel with the OUTGOING
- flag leaves a bridge, and it will survive being pulled from the
- bridge (either because it will execute dialplan, go into another
- bridge, or live in a friendly autoloop), we have to clear the
- OUTGOING flag. This is the signal to the CDR engine that this
- channel is no longer a second class citizen, i.e., it is not
- "dialed". The soft hangup flags are only half the picture. If a
- channel is being moved from one bridge to another, the soft
- hangup flags aren't set; however, the state of the bridge_channel
- will not be hung up. Since the channel does not have one of the
- two hang up states, that implies that the channel is still
- technically alive. This patch modifies the check so that it
- checks both the soft hangup flags as well as the bridge_channel
- state. If either suggests that the channel is going to persist,
- we clear the OUTGOING flag.
- 2013-08-26 21:30 +0000 [r397673] David M. Lee <dlee@digium.com>
- * main/bucket.c: Fixed bucket.c for systems where tv_usec is not an
- unsigned long.
- 2013-08-26 16:24 +0000 [r397643-397650] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/bridge_channel.h, main/bridge_channel.c:
- bridging: Fix a livelock with local channel optimization. Use a
- better means of waking up the bridge channel thread.
- * channels/Makefile: chan_dahdi: Add some missing build cleanup.
- 2013-08-25 18:12 +0000 [r397621-397630] Matthew Jordan <mjordan@digium.com>
- * tests/test_bucket.c: Fix bucket unit tests After the review for
- buckets was completed (r2715), the handling of names in the
- bucket core was deferred to the wizards. As such, the bucket unit
- tests cannot expect that passing a URI with a scheme specified
- but no actual resource name will automatically fail. The tests
- have been updated to not make this check.
- * include/asterisk/config_options.h, main/config_options.c,
- tests/test_config.c: Fix the config_options_test The config
- options test requires the entire configuration item to be
- transparent from the documentation system. So we let it do that
- too. As an aside, please do not use this power for evil.
- Documentation is your friend, and you really should document your
- configurations. Hiding your module's configuration information
- from the system attempting to enforce some sanity in the universe
- is something only a Bond villain would contemplate.
- * res/res_pjsip/pjsip_configuration.c: Add rtpengine configuration
- parameter The rtpengine configuration parameter was documented in
- the XML documentation, but it was not actually registered with
- the sorcery object. This adds the parameter with a default of
- "asterisk", such that res_rtp_asterisk is chosen as the default
- RTP implementation. (closes issue ASTERISK-22380) Reported by:
- Rusty Newton Tested by: Rusty Newton
- 2013-08-23 22:36 +0000 [r397614] Matthew Jordan <mjordan@digium.com>
- * / (added): __________ | \ |_______ | | | ______| | / | _ _ _ _ _
- | _______| / \ ___| |_ ___ _ __(_)___| | __ / || | / _ \ / __|
- __/ _ \ '__| / __| |/ / | || |_______ / ___ \__ \| | __/ | | \__
- \ < | || | /_/ \_\___/\__\___|_| |_|___/_|\_\ |_| \__________|
- 2013-08-23 22:20 +0000 [r397613] Joshua Colp <jcolp@digium.com>
- * main/bucket.c: Fix building of trunk. Note: This is why I commit
- on the weekend.
- 2013-08-23 22:12 +0000 [r397606] Matthew Jordan <mjordan@digium.com>
- * main/pbx.c: Fix channel reference leak in Originated channels
- When originating channels, ast_pbx_outgoing_* caused the dialed
- channel reference to be bumped twice. Ostensibly, this routine is
- bumping the channel lifetime such that the channel doesn't get
- nuked in between locks/unlocks; however, since the routine should
- return the dialed channel with its reference bumped, it only
- needs to do this one time.
- 2013-08-23 21:53 +0000 [r397603] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip.c: Add some clarifying documentation to the
- rewrite_contact endpoint option.
- 2013-08-23 21:51 +0000 [r397602] Richard Mudgett <rmudgett@digium.com>
- * main/bridge_channel.c: Blank line tweaks.
- 2013-08-23 21:49 +0000 [r397599-397600] Joshua Colp <jcolp@digium.com>
- * makeopts.in, main/asterisk.c, include/asterisk/bucket.h (added),
- main/sorcery.c, include/asterisk/config_options.h,
- tests/test_bucket.c (added), build_tools/menuselect-deps.in,
- configure, include/asterisk/autoconfig.h.in, main/Makefile,
- main/bucket.c (added), configure.ac, main/config_options.c: Add
- the bucket API. Bucket is a URI based API for the creation,
- retrieval, updating, and deletion of "buckets" and files
- contained within them. Review:
- https://reviewboard.asterisk.org/r/2715/
- * include/asterisk/sorcery.h: Fix a bug where the argc value was
- passed as no_doc when registering custom sorcery types. This also
- adds a _nodoc equivalent.
- 2013-08-23 21:02 +0000 [r397593] Mark Michelson <mmichelson@digium.com>
- * main/bridge_channel.c: Add test events necessary for bridge tests
- to pass in the test suite. (closes issue AST-1200) reported by
- John Bigelow Review: https://reviewboard.asterisk.org/r/2790/
- 2013-08-23 20:14 +0000 [r397585] Matthew Jordan <mjordan@digium.com>
- * main/stasis_channels.c: Fix error in using
- ast_channel_snapshot_type before initialization Starting Asterisk
- would kick back an ERROR message stating that the Stasis message
- type ast_channel_snapshot_type was used prior to initialization.
- This occurred due to the caching topic being created prior to the
- message type that it depended on. This patch re-orders the start
- up such that the message type is initialized prior to the caching
- topic. It also checks the return value of the initialization of
- the agent login/logoff types.
- 2013-08-23 19:05 +0000 [r397578] Jonathan Rose <jrose@digium.com>
- * bridges/bridge_native_rtp.c: bridge_native_rtp: Fix hold chain
- bugs caused by native RTP bridge framehook Issuing hold/unhold
- would lead to odd behavior. Between two chan_sip devices, a hold
- could cause an endless chain of updates while with pjsip a
- similar chain would begin but then end somewhat randomly. This
- patch fixes that by no longer tweaking the RTP glue on both sides
- of the call for every HOLD/UNHOLD/UPDATE_RTP_PEER frame. (issue
- ASTERISK-22217) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2794/
- 2013-08-23 18:33 +0000 [r397577] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/bridge_channel.h, main/channel_internal_api.c,
- bridges/bridge_builtin_interval_features.c,
- include/asterisk/channel.h, res/res_musiconhold.c,
- main/bridge_channel.c, main/channel.c,
- include/asterisk/bridge_channel_internal.h, main/bridge.c: Handle
- DTMF and hold wrapup when a channel leaves the bridging system.
- DTMF start/end and hold/unhold events have state because a DTMF
- begin event and hold event must be ended by something. The
- following cases need to be handled when a channel is moved around
- in the system. * When a channel leaves a bridge it may owe a DTMF
- end event to the bridge. * When a channel leaves a bridge it may
- owe an UNHOLD event to the bridge. (This case is explicitly
- ignored because things like transfers need explicit control over
- this.) * When a channel leaves the bridging system it may need to
- simulate a DTMF end event to the channel. * When a channel leaves
- the bridging system it may need to simulate an UNHOLD event to
- the channel. The patch also fixes the following: * Fixes playing
- a file and restarting MOH using the latest MOH class used.
- (closes issue ASTERISK-22043) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2791/
- 2013-08-23 18:10 +0000 [r397571] Matthew Jordan <mjordan@digium.com>
- * tests/test_sorcery_realtime.c, tests/test_sorcery_astdb.c,
- tests/test_sorcery.c: Fix sorcery unit tests When strict XML
- documentation checking was re-enabled, the test objects used in
- sorcery would fail to register as the types were not marked
- internal and the nodoc option wasn't used for the options. This
- fixes that problem, such that, as one would hope, they once again
- pass.
- 2013-08-23 18:07 +0000 [r397570] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/utils.h, include/asterisk/astmm.h, /,
- main/backtrace.c, main/logger.c, main/utils.c,
- include/asterisk/lock.h, main/astmm.c, channels/sig_pri.c,
- main/astobj2.c, include/asterisk/backtrace.h, main/lock.c: Fix
- memory corruption when trying to get "core show locks". Review
- https://reviewboard.asterisk.org/r/2580/ tried to fix the
- mismatch in memory pools but had a math error determining the
- buffer size and didn't address other similar memory pool
- mismatches. * Effectively reverted the previous patch to go in
- the same direction as trunk for the returned memory pool of
- ast_bt_get_symbols(). * Fixed memory leak in ast_bt_get_symbols()
- when BETTER_BACKTRACES is defined. * Fixed some formatting in
- ast_bt_get_symbols(). * Fixed sig_pri.c freeing memory allocated
- by libpri when MALLOC_DEBUG is enabled. * Fixed
- __dump_backtrace() freeing memory from ast_bt_get_symbols() when
- MALLOC_DEBUG is enabled. * Moved __dump_backtrace() because of
- compile issues with the utils directory. (closes issue
- ASTERISK-22221) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2778/ ........ Merged
- revisions 397525 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 397528 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-23 18:02 +0000 [r397568] Matthew Jordan <mjordan@digium.com>
- * main/config_options.c: Prevent seg fault in off nominal path when
- registered option fails to validate If an option is registered to
- a type and it is the last known type in the list of registered
- types, and the option fails to register, an overrun of the types
- array can occur due to the index variable having been already
- incremented.
- 2013-08-23 17:45 +0000 [r397567] Kevin Harwell <kharwell@digium.com>
- * contrib/scripts/sip_to_res_sip/sip_to_res_sip.py,
- contrib/scripts/sip_to_res_sip/astconfigparser.py,
- contrib/scripts/sip_to_res_sip/astdicts.py: PSJIP - sip.conf to
- res_sip.conf script Most, if not all, of the backing features of
- a conf file should now be implemented (e.g. multi-line comments,
- includes, templates, etc...). A few of the options still need to
- be mapped. Those are currently listed in the 'sip_to_res_sip.py'
- file. Things to do: (1) There is more work to do here, at least
- for the sip.conf items that aren't currently parsed. An issue
- will be created for that. (2) All of the scripts should probably
- be passed through pylint and have as many PEP8 issues fixed as
- possible. (3) A public review is probably warranted at that point
- of the entire script. Reported by: Matt Jordan
- 2013-08-23 17:19 +0000 [r397565] David M. Lee <dlee@digium.com>
- * rest-api/api-docs/bridges.json, res/ari/resource_bridges.c,
- res/res_ari_bridges.c, res/stasis/control.c,
- include/asterisk/stasis_app.h,
- include/asterisk/stasis_app_impl.h: ARI: Correct error codes for
- bridge operations This patch adds error checking to ARI bridge
- operations, when adding/removing channels to/from bridges. In
- general, the error codes fall out as follows: * Bridge not found
- - 404 Not Found * Bridge not in Stasis - 409 Conflict * Channel
- not found - 400 Bad Request * Channel not in Stasis - 422
- Unprocessable Entity * Channel not in this bridge (on remove) -
- 422 Unprocessable Entity (closes issue ASTERISK-22036) Review:
- https://reviewboard.asterisk.org/r/2769/
- 2013-08-23 15:49 +0000 [r397524-397527] Matthew Jordan <mjordan@digium.com>
- * CHANGES: Update CHANGES file to reflect pass through support for
- Opus/VP8
- * channels/chan_sip.c, res/res_pjsip_sdp_rtp.c,
- include/asterisk/opus.h (added), include/asterisk/format.h,
- channels/chan_pjsip.c, res/res_format_attr_opus.c (added),
- main/channel.c, main/format.c, res/res_rtp_asterisk.c,
- main/frame.c, main/rtp_engine.c: Add pass through support for
- Opus and VP8; Opus format attribute negotiation This patch adds
- pass through support for Opus and VP8. That includes: * Format
- attribute negotiation for Opus. Note that unlike some other
- codecs, the draft RFC specifies having spaces delimiting the
- attributes in addition to ';', so you have "attra=X; attrb=Y".
- This broke the attribute parsing in chan_sip, so a small tweak
- was also included in this patch for that. * A format attribute
- negotiation module for Opus, res_format_attr_opus * Fast picture
- update for VP8. Since VP8 uses a different RTCP packet number
- than FIR, this really is specific to VP8 at this time. Note that
- the format attribute negotiation in res_pjsip_sdp_rtp was written
- by mjordan. The rest of this patch was written completely by
- Lorenzo Miniero. Review: https://reviewboard.asterisk.org/r/2723/
- (closes issue ASTERISK-21981) Reported by: Tzafrir Cohen patches:
- asterisk_opus+vp8_passthrough_20130718.patch uploaded by lminiero
- (License 6518)
- * main/sorcery.c, include/asterisk/config_options.h,
- include/asterisk/sorcery.h, res/res_pjsip/pjsip_configuration.c,
- main/config_options.c, main/features_config.c,
- res/res_pjsip/pjsip_options.c, res/res_pjsip.c: Update config
- framework/sorcery with types/options without documentation There
- are times when a configuration option should not have
- documentation. 1. Some options are registered with a particular
- object merely as a warning to users. These options aren't even
- really 'deprecated' - which has its own separate API call - they
- are actually provided by a different configuration file. The
- options are merely registered so that the user gets a warning
- that a different configuration file provides the item. 2. Some
- object types - most notably some used by modules that use sorcery
- - are completely internal and should never be shown to the user.
- 3. Sorcery itself has several 'hidden' fields that should never
- be shown to a user. This patch updates the configuration
- framework and sorcery with additional API calls that allow a
- module to register types as internal and options as not requiring
- documentation. This bypasses the XML documentation checking. This
- patch also re-enables the strict XML documentation checking in
- trunk, as well as updates some documentation that was missing.
- Review: https://reviewboard.asterisk.org/r/2785/ (closes issue
- ASTERISK-22359) Reported by: Matt Jordan (closes issue
- ASTERISK-22112) Reported by: Rusty Newton
- 2013-08-23 13:58 +0000 [r397515] Joshua Colp <jcolp@digium.com>
- * channels/chan_pjsip.c: Fix crash when answering after a transport
- error occurs. If a response to an initial incoming INVITE results
- in a transport error the INVITE transaction is removed from the
- INVITE session. Any attempts to answer the INVITE session after
- this results in a crash as it requires the INVITE transaction to
- exist. This change explicitly locks the dialog and checks to
- ensure that the INVITE transaction exists before answering.
- (closes issue AST-1203) Reported by: John Bigelow
- 2013-08-23 13:18 +0000 [r397514] Kinsey Moore <kmoore@digium.com>
- * configs/cel.conf.sample: Update CEL sample config
- 2013-08-23 00:26 +0000 [r397505] Jonathan Rose <jrose@digium.com>
- * res/res_stasis.c, rest-api/api-docs/bridges.json,
- res/ari/resource_bridges.c, res/res_ari_bridges.c,
- res/ari/resource_bridges.h, include/asterisk/stasis_app.h: ARI:
- Music on Hold/Background Music for bridges Adds ARI functions to
- be able to turn on/off music on hold in a bridge. It actually
- functions more as a background music without further actions on
- the bridge since if the rest of the channels in the bridge aren't
- explicitly muted, they will still be able to communicate. (closes
- issue ASTERISK-21974) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2688/
- 2013-08-22 23:15 +0000 [r397494] Richard Mudgett <rmudgett@digium.com>
- * apps/app_followme.c, main/channel.c, bridges/bridge_holding.c:
- Minor tweaks with ast_moh_start() callers.
- 2013-08-22 22:33 +0000 [r397493] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/say.h, apps/app_voicemail.c, main/channel.c,
- main/pbx.c, main/say.c, res/res_agi.c, CHANGES,
- apps/app_directory.c, apps/app_chanspy.c: Add SayAlphaCase and
- similar functionality for AGI This adds a new dialplan
- application, SayAlphaCase, that performs much the same function
- as SayAlpha except that it takes additional options which allow
- the user to specify whether the case of each letter should be
- announced for uppercase, lowercase, or all letters. Similar
- functionality has been added to the SAY ALPHA AGI command via an
- optional parameter. Original Patch by: Kevin Scott Adams Reported
- by: Kevin Scott Adams Review:
- https://reviewboard.asterisk.org/r/2725/ (closes issue
- ASTERISK-20782)
- 2013-08-22 22:09 +0000 [r397484] Kevin Harwell <kharwell@digium.com>
- * res/res_pjsip.c, res/res_pjsip_dtmf_info.c: res_sip_dtmf_info:
- Support sending of 'raw' DTMF Added the ability to handle 'raw'
- DTMF within the body of an INFO message. Also made it so values
- 10-16 are mapped to valid DTMF values. (closes issue
- ASTERISK-22144) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2776/
- 2013-08-22 21:39 +0000 [r397483] Kinsey Moore <kmoore@digium.com>
- * res/res_pjsip.c: Add missing configOption close tags
- 2013-08-22 21:29 +0000 [r397482] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/musiconhold.h: Update MOH start/stop routine
- doxygen.
- 2013-08-22 21:21 +0000 [r397481] Rusty Newton <rnewton@digium.com>
- * res/res_pjsip.c: Fix missing xml doc configOption 'type' for for
- both 'system' and 'global' configObjects (issue ASTERISK-22344)
- (closes issue ASTERISK-22344)
- 2013-08-22 21:09 +0000 [r397472] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/bridge_channel.h, main/features.c,
- bridges/bridge_builtin_interval_features.c,
- include/asterisk/bridge_internal.h, apps/app_confbridge.c,
- main/bridge_channel.c, res/res_stasis.c,
- include/asterisk/bridge.h, apps/app_dial.c, main/bridge.c,
- main/bridge_basic.c, apps/app_bridgewait.c,
- res/parking/parking_applications.c,
- res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
- res/res_parking.c, bridges/bridge_builtin_features.c: Bridge API:
- Set a cause code on a channel when it is ejected from a bridge.
- The cause code needs to be passed from the disconnecting channel
- to the bridge peers if the disconnecting channel dissolves the
- bridge. * Made the call to an app_agent_pool agent disconnect
- with the busy cause code if the agent does not ack the call in
- time or hangs up before acking the call. (closes issue
- ASTERISK-22042) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2772/
- 2013-08-22 20:29 +0000 [r397471] Kinsey Moore <kmoore@digium.com>
- * main/cel.c: Ensure CEL creates a default config if it isn't
- provided with one
- 2013-08-22 20:18 +0000 [r397466] Mark Michelson <mmichelson@digium.com>
- * apps/app_queue.c: Remove set but unused variable 'meid'.
- 2013-08-22 19:52 +0000 [r397461] Kinsey Moore <kmoore@digium.com>
- * main/cel.c: Fix crash when getting CEL config
- 2013-08-22 18:52 +0000 [r397441-397451] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/core_unreal.h, include/asterisk/features.h,
- include/asterisk/app.h, main/bridge.c, main/bridge_basic.c,
- main/features.c, main/app.c, main/core_local.c, CHANGES,
- apps/app_queue.c, include/asterisk/bridge_basic.h: Massively
- clean up app_queue. This essentially makes app_queue usable
- again. From reviewboard: * Reporting of transfers and call
- completion is done by creating stasis subscriptions and listening
- for specific events in order to determine when the call is
- finished (either via a transfer or hangup). * Dial end messages
- have been added where they were previously missing. * Queue stats
- are properly being updated again once calls have finished. *
- AgentComplete stasis messages and AMI events are now occurring
- again. * Mixmonitor starting has been factored into its own
- function and uses the Mixmonitor API now instead of using
- ast_pbx_run() In addition to the changes in app_queue, there are
- several supplementary changes as well: * Queue logging now
- differentiates between attended and blind transfers. A note about
- this is in the CHANGES file. * Local channel optimization events
- now report more information. This includes which of the two local
- channels involved is the destination of the optimization, the
- channel that is replacing the destination local channel, and an
- identifier so that begin and end events can be matched to each
- other. The end events are now sent whether the optimization was
- successful or not and includes an indicator of whether the
- optimization was successful. * Changes were made to features and
- bridging_basic so that additional flags may be set on a bridge.
- This is necessary because the queue requires that its bridge only
- allows move-swap local channel optimizations into the bridge.
- (closes issue ASTERISK-21517) Reported by Matt Jordan (closes
- issue ASTERISK-21943) Reported by Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2694
- * res/res_pjsip_exten_state.c, include/asterisk/res_pjsip_pubsub.h,
- res/res_pjsip_mwi.c, res/res_pjsip_pubsub.c: Handle default body
- types for SIP event packages in res_pjsip_pubsub Prior to this
- change, we would reject SUBSCRIBE requests that had no Accept
- headers. Now event package handlers that handle the default type
- for the event package indicate that they do so. Therefore, if we
- have a handler that can handle the default type, we can allow
- SUBSCRIBEs for the handler's event package that have no Accept
- headers. (closes issue ASTERISK-22067) reported by Mark Michelson
- Review: https://reviewboard.asterisk.org/r/2774
- 2013-08-22 17:34 +0000 [r397440] Richard Mudgett <rmudgett@digium.com>
- * main/bridge_channel.c, main/abstract_jb.c: Made the abstract
- jitter buffer resync on some more control frames. Resync the
- abstract jitter buffer on the following additional control
- frames: AST_CONTROL_HOLD AST_CONTROL_UNHOLD
- AST_CONTROL_T38_PARAMETERS
- 2013-08-22 17:13 +0000 [r397431] Kinsey Moore <kmoore@digium.com>
- * tests/test_cel.c, main/cel.c, include/asterisk/cel.h: Make CEL
- behavior conform to the documentation This modifies the behavior
- of the CEL engine to conform to documented behavior for Asterisk
- 12 as defined on the wiki
- https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+CEL+Specification
- The primary changes deal with removal of the peer field from
- function calls since it is no longer directly relevant to the
- bridging system and removal of the layer of CDR-like business
- logic that was providing a partial emulation of Asterisk 11 CEL
- functionality. With this change, there is no longer a distinction
- between "bridges" and "conferences" and all participation changes
- are denoted with bridge enter and bridge exit messages. This
- updates the CEL unit tests to handle these changes and simplifies
- some of the macros used in the process. This also fixes a
- segfault when attempting to ref a configuration that failed to
- load. Review: https://reviewboard.asterisk.org/r/2788/ (issue
- ASTERISK-21567)
- 2013-08-22 16:46 +0000 [r397426] Richard Mudgett <rmudgett@digium.com>
- * main/bridge.c: Update BUGBUG comment.
- 2013-08-22 12:28 +0000 [r397379-397415] Walter Doekes <walter+asterisk@wjd.nu>
- * main/asterisk.c: Don't store repeated commands in the editline
- history buffer. The equivalent of bash HISTCONTROL=ignoredups.
- Review: https://reviewboard.asterisk.org/r/2775/
- * /, main/asterisk.exports.in, default.exports: Add _IO_stdin_used
- in version-script to fix SIGBUSes on Sparc. The
- --version-script,asterisk.exports linker flag (and the module
- exports) didn't provide _IO_stdin_used in the list of exported
- symbols. That causes some kind of libc compatibility mode to kick
- in, where stdio file structures (stdout/stderr) land somewhere
- else. In the case of the Sparc, they landed on misaligned memory.
- This became apparent first after r376428 (Reorder startup
- sequence) when a lot of ast_log's were replaced with fprintf's.
- Writing to stderr triggered a SIGBUS. (Compared to x86 and amd64
- architectures, the Sparc is very picky about memory alignment.)
- (issue ASTERISK-21763) (issue ASTERISK-21665) Reported by: Jeremy
- Kister Review: https://reviewboard.asterisk.org/r/2760/ ........
- Merged revisions 397377 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 397378 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-21 23:09 +0000 [r397366] Jonathan Rose <jrose@digium.com>
- * main/udptl.c, /: UDPTL: Fix a regression where UDPTL won't load
- default settings If the file udptl.conf is unavailable at
- startup, UDPTL will fail to initialize and while it makes some
- noise, it isn't immediately obvious why consumers start to fail
- when using it. This patch makes UDPTL load as though an empty
- config was provided when udptl is unavailable at startup. (closes
- issue ASTERISK-22349) Reported by: Jonathan Rose Review:
- https://reviewboard.asterisk.org/r/2773/ ........ Merged
- revisions 397365 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-21 20:02 +0000 [r397346-397355] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/bridge_basic.h, main/bridge_basic.c,
- main/features.c: * Move ast_bridge_channel_setup_features() into
- bridge_basic.c. * Made application map hooks be removed on a
- basic bridge personality change.
- * main/bridge.c, main/bridge_channel.c: Deferred some more BUGBUG
- comments to a JIRA issue or XXX comment.
- 2013-08-21 17:12 +0000 [r397310] David M. Lee <dlee@digium.com>
- * /, main/http.c: Complete http_shutdown. This patch frees up some
- resources allocated in http.c. * tcp listeners stopped * tls
- settings freed * uri redirects freed * unregister internal http.c
- uri's (closes issue ASTERISK-22237) Reported by: Corey Farrell
- Patches: http.patch uploaded by Corey Farrell (license 5909)
- ........ Merged revisions 397308 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 397309 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-21 16:31 +0000 [r397307] Matthew Jordan <mjordan@digium.com>
- * include/asterisk/frame.h, /: Set 14400 as the default max bit
- rate if T38MaxBitRate is not specified If an endpoint fails to
- include the T38MaxBitRate attribute during negotiation, Asterisk
- will negotiate a bit rate of 2400 instead of the ITU recommended
- bit rate of 14400. This patch fixes this by making
- AST_T38_RATE_14400 the 'default' value of the enum by assigning
- it a value of 0, such that if an endpoint fails to include the
- attribute, the default will be 14400. Note that Walter Doekes
- included the nice comment in frame.h about why we are
- purposefully assigning AST_T38_RATE_14400 a value of 0. (closes
- issue ASTERISK-22275) Reported by: Andreas Steinmetz patches:
- fax-fix.patch uploaded by anstein (License 6523) ........ Merged
- revisions 397256 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 397257 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-21 16:23 +0000 [r397295-397306] David M. Lee <dlee@digium.com>
- * rest-api/api-docs/asterisk.json, res/ari/resource_asterisk.c,
- res/res_ari_asterisk.c, rest-api/api-docs/channels.json,
- res/ari/resource_channels.c, res/res_ari_channels.c: ARI: Correct
- segfault with /variable calls are missing ?variable parameter.
- Both /asterisk/variable and /channel/{channelId}/variable
- requires a ?variable parameter to be passed into the query. But
- we weren't checking for the parameter being missing, which caused
- a segfault. All calls now properly return 400 Bad Request errors
- when the parameter is missing. The Swagger api-docs were updated
- accordingly. (closes issue ASTERISK-22273)
- * main/stasis_endpoints.c: ARI: Remove the 'channel:' scheme from
- endpoint's channel list. For times when a reference in ARI might
- be ambiguous, the reference is built as an URI (such as
- channel:1376341790.3). An endpoint's channel list is not
- ambiguous, and in fact the field is named 'channel_ids', but it
- had channel URI's instead of channel id's. This patch changes the
- list to be the raw id instead of the URI. (closes issue
- ASTERISK-22291)
- * res/stasis/control.h, res/res_stasis.c: res_stasis: remove call
- to missing function control_continue. In the shuffling around of
- res_stasis, control_continue was renamed to
- stasis_app_control_continue, but the call in res_stasis wasn't
- updated. In looking into it, it turns out it wasn't really the
- right thing to do in res_stasis anyways. This patch changes the
- handling of received a AST_CONTROL_HANGUP frame to be the same as
- receiving a NULL frame, and removed the declaration of
- control_continue(), since it doesn't exist any more. (closes
- issue ASTERISK-22292) Reported by: Denis Smirnov
- 2013-08-21 15:51 +0000 [r397294] Richard Mudgett <rmudgett@digium.com>
- * apps/app_bridgewait.c, include/asterisk/bridge_features.h,
- main/bridge_channel.c, res/parking/parking_bridge_features.c,
- apps/app_agent_pool.c, bridges/bridge_holding.c, main/bridge.c,
- include/asterisk/bridge_channel.h, main/features.c,
- bridges/bridge_builtin_interval_features.c: Fix several
- interrelated issues dealing with the holding bridge technology. *
- Added an option flags parameter to interval hooks. Interval hooks
- now can specify if the callback will affect the media path or
- not. * Added an option flags parameter to the bridge action
- custom callback. The action callback now can specify if the
- callback will affect the media path or not. * Made the holding
- bridge technology reexamine the participant idle mode option
- whenever the entertainment is restarted. * Fixed app_agent_pool
- waiting agents needlessly starting and stopping MOH every second
- by specifying the heartbeat interval hook as not affecting the
- media path. * Fixed app_agent_pool agent alert from restarting
- the MOH after the alert beep. The agent entertainment is now
- changed from MOH to silence after the alert beep. * Fixed holding
- bridge technology to defer starting the entertainment. It was
- previously a mixture of immediate and deferred. * Fixed holding
- bridge technology to immediately stop the entertainment. It was
- previously a mixture of immediate and deferred. If the channel
- left the bridging system, any deferred stopping was discarded
- before taking effect. * Miscellaneous holding bridge technology
- rework coding improvements. Review:
- https://reviewboard.asterisk.org/r/2761/
- 2013-08-21 14:39 +0000 [r397255] Mark Michelson <mmichelson@digium.com>
- * /, channels/chan_sip.c: Prevent a crash on outbound SIP MESSAGE
- requests. If a From header on an outbound out-of-call SIP MESSAGE
- were malformed, the result could crash Asterisk. In addition, if
- a From header on an incoming out-of-call SIP MESSAGE request were
- malformed, the message was happily accepted rather than being
- rejected up front. The incoming message path would not result in
- a crash, but the behavior was bad nonetheless. (closes issue
- ASTERISK-22185) reported by Zhang Lei ........ Merged revisions
- 397254 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-21 14:08 +0000 [r397244] Kinsey Moore <kmoore@digium.com>
- * res/res_stasis.c: Allow channels in app_stasis to hangup properly
- This detects hangups that occur while bridged to allow channels
- to exit app_stasis even if the hangup frame was absorbed by the
- bridge the channel was in. Reported by: David Lee (closes issue
- ASTERISK-22297)
- 2013-08-21 13:41 +0000 [r397243] Matthew Jordan <mjordan@digium.com>
- * CHANGES, channels/chan_sip.c: Allow the SIP_CODEC family of
- variables to specify more than one codec The SIP_CODEC family of
- variables let you set the preferred codec to be offered on an
- outbound INVITE request. However, for video calls, you need to be
- able to set both the audio and video codecs to be offered. This
- patch lets the SIP_CODEC variables accept a comma delineated list
- of codecs. The first codec in the list is set as the preferred
- codec; additional codecs are still offered however. This lets a
- dialplan writer set both audio and video codecs, e.g.,
- Set(SIP_CODEC=ulaw,h264) Note that this feature was written by
- both Dennis Guse and Frank Haase Review:
- https://reviewboard.asterisk.org/r/2728 (closes issue
- ASTERISK-21976) Reported by: Denis Guse Tested by: mjordan,
- sysreq patches: patch-channels-chan__sip.c-393919 uploaded by
- dennis.guse (license 6513)
- 2013-08-21 02:15 +0000 [r397206] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c: Fix Not Storing Current Incoming Recv
- Address In 1.8, r384779 introduced a regression by retrieving an
- old dialog and keeping the old recv address since recv was
- already set. This has caused a problem when a proxy is involved
- since responses to incoming requests from the proxy server, after
- an outbound call is established, are never sent to the correct
- recv address. In 11, r382322 introduced this regression. The fix
- is to revert that change and always store the recv address on
- incoming requests. Thank you Walter Doekes for helping to point
- out this error and Mark Michelson for your input/review of the
- fix. (closes issue ASTERISK-22071) Reported by: Alex Zarubin
- Tested by: Alex Zarubin, Karsten Wemheuer Patches:
- asterisk-22071-store-recvd-address.diff by Michael L. Young
- (license 5026) ........ Merged revisions 397204 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 397205 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-20 21:01 +0000 [r397111-397193] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/res_pjsip.h, res/res_pjsip/config_security.c
- (removed), res/res_pjsip/pjsip_configuration.c,
- res/res_pjsip_acl.c: Localize and rename ACL configuration. This
- is more-or-less a reversion of previous ACL behavior so that it
- is more self-contained. ACL sections are now only parsed if
- res_pjsip_acl.so is loaded. Moreover, the configuration section
- is now "type=acl" instead of "type=security". The original reason
- for having ACLs configured in a "type=security" section was to
- lump ACLs and other security-related items into the same section.
- The problem is that ACLs really should be in their own sections
- and there are no other security-related options implemented
- anyways.
- * /, channels/chan_sip.c: Remove REF_DEBUG definition. ........
- Merged revisions 397156 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 397157 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c, channels/sip/dialplan_functions.c: Fix
- refcounting of sip_pvt in test_sip_rtpqos test and unlink it from
- the list of pvts. (closes issue ASTERISK-22248) reported by Corey
- Farrell patches: test_sip_rtpqos.patch uploaded by Corey Farrell
- (license #5909) ........ Merged revisions 397112 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 397133 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_pjsip.c: Clarify documentation for the "identify_by"
- option for SIP endpoints. This also removes documentation for the
- options that no longer exist. (closes issue ASTERISK-22306)
- reported by Rusty Newton
- 2013-08-20 15:36 +0000 [r397110] Kinsey Moore <kmoore@digium.com>
- * /, main/threadstorage.c, main/astfd.c: Unregister CLI commands on
- exit This patch ensures that CLI commands enabled by
- DEBUG_FD_LEAKS and DEBUG_THREADLOCALS are cleaned up properly on
- exit. (closes issue ASTERISK-22238) Reported by: Corey Farrell
- Tested by: Corey Farrell Patches: debug_cli_unregister.patch
- uploaded by Corey Farrell ........ Merged revisions 397106 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 397107 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-20 15:32 +0000 [r397073-397109] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_endpoint_identifier_ip.c: Add debug message to
- res_pjsip_endpoint_identifier_ip to indicate when an endpoint is
- successfully retrieved. (closes issue ASTERISK-22101) reported by
- Rusty Newton
- * res/res_pjsip_registrar.c: Add warning messages for registration
- failure paths. (closes issue ASTERISK-22089) reported by Rusty
- Newton patches: patch1.txt uploaded by John Bigelow (License
- #5091)
- * res/res_pjsip.c: Add note to transport configuration that a
- restart is required to change transports. (closes issue
- ASTERISK-22094) reported by Rusty Newton
- 2013-08-20 14:26 +0000 [r397072] Kinsey Moore <kmoore@digium.com>
- * /: Recorded merge of revisions 397067 from
- http://svn.asterisk.org/svn/asterisk/branches/11 ........ Fix
- xmldoc memory leak This fixes a single-attribute memory leak that
- was occurring when the "required" attribute was not true. (closes
- issue ASTERISK-22249) Reported by: Corey Farrell Tested by: Corey
- Farrell Patches: xmldoc-free_attr_required.patch uploaded by
- Corey Farrell ........ Merged revisions 397064 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8
- 2013-08-20 11:48 +0000 [r396996] Walter Doekes <walter+asterisk@wjd.nu>
- * configs/sip.conf.sample, configs/h323.conf.sample, /: Add
- "autoframing" option to sip.conf.sample and h323.conf.sample. The
- autoframing option was added to chan_sip.c in r43243 (mogorman,
- 2006-09-19 01:32:57), but never made its way into the sample
- configs. Review: https://reviewboard.asterisk.org/r/2768/
- ........ Merged revisions 396994 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 396995 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-20 11:33 +0000 [r396993] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_dtmf_info.c: Remove assumption in
- res_pjsip_dtmf_info that all INFO messages will contain a body.
- (closes issue ASTERISK-22320) Reported by: Matt Jordan
- 2013-08-20 00:08 +0000 [r396946-396949] Matthew Jordan <mjordan@digium.com>
- * /, apps/app_queue.c: Let Queue wrap up time influence member
- availability Queue members who happen to be in multiple queues at
- the same time may not have any wrap up time. This problem
- occurred due to a code change in Asterisk 11.3.0 that unified
- device state tracking of Queue members in multiple Queues (which
- fixed some other problems, but unfortunately caused this one).
- This patch fixes the behavior by having the is_member_available
- function check the queue's wrap up time and the time of the
- member's last call, such that for a particular queue, the member
- won't be considered available if their last call is within the
- wrap up time. (closes issue ASTERISK-22189) Reported by: Tony
- Lewis Tested by: Tony Lewis ........ Merged revisions 396948 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_meetme.c: Resolve conflicts between
- CONFFLAG_DONT_DENOISE and CONFFLAG_INTROUSER_VMREC When r382230
- added an option to not denoise the MeetMe conference (if a user
- had a channel whose format's sample rate changed frequently, for
- example), the value added was the maximum allowed value for the
- constants that define the options for MeetMe in 1.8. Not so in 11
- - unfortunately, the option CONFFLAG_DONT_DENOISE conflicts with
- CONFFLAG_INTROUESR_VMREC. This patch fixes that, and also tweaks
- one of the way in which the constants was declared for
- consistency. Thanks to Tony Mountifield for pointing out the
- problem and solution. (closes issue ASTERISK-22269) Reported by:
- Tony Mountifield ........ Merged revisions 396944 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-19 16:10 +0000 [r396930] Richard Mudgett <rmudgett@digium.com>
- * main/bridge.c: Update BUGBUG comment.
- 2013-08-19 14:54 +0000 [r396923] Jonathan Rose <jrose@digium.com>
- * main/bridge.c: attended transfers: Fix a bug affecting external
- blond transfers Performing a blond transfer (attended transfer
- that is completed before the transfer recipient picks up)
- externally through chan_sip or chan_pjsip would result in lost
- references to the channels involved with the transfer as well as
- their bridge. (closes issue ASTERISK-22092) Reported by:
- mmichelson Review: https://reviewboard.asterisk.org/r/2766/
- 2013-08-19 14:53 +0000 [r396915-396922] Matthew Jordan <mjordan@digium.com>
- * channels/sip/include/sip.h: Whitespace cleanup Remove some
- extraneous blobs
- * main/data.c: Fix invalid access to disposed memory in main/data
- unit test It is not safe to iterate over a macro'd list of ao2
- objects, deref them such that the item's destructor is called,
- and leave them in the list. The list macro to iterate over items
- requires the item to be a valid allocated object in order to
- proceed to the next item; with MALLOC_DEBUG on the corruption of
- the linked list is caught in the crash. This patch fixes the
- invalid access to free'd memory by removing the ao2 item from the
- list before de-refing it.
- 2013-08-18 03:05 +0000 [r396908-396909] Kinsey Moore <kmoore@digium.com>
- * channels/chan_mgcp.c: Update chan_mgcp to the modified parking
- API
- * res/res_corosync.c: Disable build of res_corosync until it is
- back in a compiling state
- 2013-08-17 18:13 +0000 [r396899-396902] Rusty Newton <rnewton@digium.com>
- * res/res_pjsip.c: xml doc changes for 'aor' config object and a
- few of its options Added or modified text in the xml doc for the
- 'aor' config object to address a few issues: * help for the
- 'mailboxes' option didn't make it clear how the "list" should be
- formatted. * AoR object's involvement in inbound registration
- wasn't mentioned. * help for the 'contact' option didn't describe
- how to specify multiple contacts. * help for the 'max_contacts'
- option didn't tell whether it limited the amount of contacts
- defined through static configuration. (issue ASTERISK-22118)
- (closes issue ASTERISK-22118)
- * res/res_pjsip.c: 'domain_alias' config object XML help doesn't
- make it clear that the name used for the object is the domain
- alias (issue ASTERISK-22114) (closes issue ASTERISK-22114)
- * res/res_pjsip.c: xml doc changes for clarity - 'auth' config
- object and auth's 'auth_type' config option (issue
- ASTERISK-22108) (closes issue ASTERISK-22108)
- * res/res_pjsip.c: xml doc change for transport config object -
- remove non-applicable warning and add text regarding Asterisk
- restart (closes issue ASTERISK-22105)
- 2013-08-17 15:01 +0000 [r396887-396890] Kinsey Moore <kmoore@digium.com>
- * main/bridge.c, res/parking/parking_applications.c,
- include/asterisk/parking.h, main/bridge_channel.c,
- res/parking/parking_bridge_features.c, channels/chan_dahdi.c,
- res/parking/res_parking.h, res/res_parking.c,
- channels/sig_analog.c, channels/chan_skinny.c, main/parking.c:
- Allow res_parking to be unloadable This change protects accesses
- of res_parking such that it can unload safely once transient uses
- of its registered functions are complete. The parking API has
- been restructured such that its consumers do not have access to
- the vtable exposed by the parking provider, but instead route
- through stubs to prevent consumers from holding on to function
- pointers. This adds calls to all the parking unload functions and
- moves application loading and unloading into functions in
- parking_applications.c similar to the rest of the parts of
- res_parking. Review: https://reviewboard.asterisk.org/r/2763/
- (closes issue ASTERISK-22142)
- * tests/test_event.c, include/asterisk/_private.h, main/cel.c,
- cel/cel_odbc.c, include/asterisk/event.h,
- include/asterisk/event_defs.h, cel/cel_manager.c,
- cel/cel_custom.c, tests/test_cel.c, cel/cel_sqlite3_custom.c,
- main/event.c, main/asterisk.c, cel/cel_pgsql.c, cel/cel_radius.c,
- include/asterisk/cel.h, cel/cel_tds.c: Refactor CEL to avoid
- using the event system core This removes usage of the event
- system for CEL backend data distribution and strips unused pieces
- out of the event system. Review:
- https://reviewboard.asterisk.org/r/2732/
- * main/presencestate.c, channels/sig_pri.h, res/res_parking.c,
- channels/chan_dahdi.c, main/manager.c,
- funcs/func_presencestate.c, include/asterisk/event.h,
- include/asterisk/event_defs.h, channels/chan_skinny.c,
- tests/test_cel.c, main/event.c,
- include/asterisk/security_events_defs.h,
- res/parking/parking_manager.c, channels/chan_mgcp.c,
- res/res_security_log.c, apps/app_voicemail.c,
- res/parking/parking_ui.c, channels/chan_unistim.c, main/pbx.c,
- include/asterisk/devicestate.h, main/security_events.c,
- channels/chan_sip.c, main/ccss.c, tests/test_event.c,
- main/devicestate.c, res/parking/parking_applications.c,
- res/res_xmpp.c, channels/sig_pri.c, channels/chan_iax2.c,
- apps/app_queue.c, res/res_jabber.c: Strip down the old event
- system This removes unused code, event types, IE pltypes, and
- event IE types where possible and makes several functions private
- that were once public. This includes a renumbering of the
- remaining event and IE types which breaks binary compatibility
- with previous versions. The last remaining consumers of the old
- event system (or parts thereof) are main/security_events.c,
- res/res_security_log.c, tests/test_cel.c, tests/test_event.c,
- main/cel.c, and the CEL backends. Review:
- https://reviewboard.asterisk.org/r/2703/ (closes issue
- ASTERISK-22139)
- 2013-08-16 20:48 +0000 [r396849-396877] Richard Mudgett <rmudgett@digium.com>
- * main/bridge_channel.c, include/asterisk/bridge.h, main/bridge.c,
- include/asterisk/bridge_channel.h: Fix CLI "bridge kick <bridge>
- <channel>" to check if the bridge needs dissolving. SIP/foo --
- Local;1==Local;2 -- .... -- Local;1==Local;2 -- SIP/bar Kick a ;1
- channel and the chain toward SIP/foo goes away. Kick a ;2 channel
- and the chain toward SIP/bar goes away. This can leave a local
- channel chain between the kicked ;1 and ;2 channels that are
- orphaned until you manually request one of those channels to
- hangup or request the bridge to dissolve. * Added
- ast_bridge_kick() as a companion to ast_bridge_remove(). The
- functional difference is that ast_bridge_kick() may dissolve the
- bridge as a result of the channel leaving the bridge. * Made CLI
- "bridge kick <bridge> <channel>" use ast_bridge_kick() instead of
- ast_bridge_remove() so the bridge can dissolve if needed. *
- Renamed bridge_channel_handle_hangup() to
- ast_bridge_channel_kick() and made it accessible to other files.
- * include/asterisk/doxygen/architecture.h,
- include/asterisk/bridge_channel_internal.h: Fix some doxygen
- bridging file references.
- * res/parking/parking_bridge_features.c, main/cdr.c, main/data.c,
- main/manager.c, tests/test_jitterbuf.c, main/features.c,
- tests/test_voicemail_api.c, main/file.c, tests/test_cel.c,
- main/stasis_channels.c, main/bridge_channel.c, main/message.c,
- tests/test_cdr.c, main/db.c, main/xmldoc.c, main/format.c,
- res/res_rtp_asterisk.c, main/pbx.c, main/rtp_engine.c,
- tests/test_abstract_jb.c, channels/chan_sip.c, main/pickup.c,
- apps/app_queue.c, main/indications.c: Doxygen comment tweaks.
- * main/utils.c, main/hashtab.c: Fix utilities compilation/linking.
- The horrid structure of the source in the utils directory strikes
- again. Moved the _ast_mem_backtrace_buffer[] definition from the
- logical location in utils.c to hashtab.c so the aelparse and
- conf2ael utilities can link.
- * include/asterisk/utils.h: utils.h: Minor formatting tweaks.
- 2013-08-16 16:03 +0000 [r396842] David M. Lee <dlee@digium.com>
- * main/stasis.c, main/stasis_cache_pattern.c, main/stasis_cache.c,
- include/asterisk/astobj2.h, main/stasis_channels.c,
- tests/test_stasis.c: Stasis: address refcount races;
- implementation comments Change r395954 reordered some stasis
- object destruction, which should have been fine. Unfortunately,
- it caused some hard to reproduce issues related to objects being
- accessed after they had been destroyed. The patch in r396329
- fixed the destruction order problem; this patch addresses the
- underlying issue. A few other stasis-related fixes were also
- added. * Add ref-bumps around areas where objects may get
- transitively destroyed. (For example, where we lock a topic,
- unref a subscription, which unrefs the topic, which explodes the
- topic when we try to unlock it.) * Wrote an extensive doxygen
- page about Stasis implementation, relationships between objects,
- lifecycles of objects, how the refcounting works, etc. Many other
- comments were added, corrected, or cleaned up. * Added an assert
- to the topic dtor to catch extra ref decrements. * Fixed type
- used after destruction errors for graceful shutdown in
- stasis_channels.c. * I added two unit tests in an attempt to
- catch destruction order issues. Since the underlying cause is a
- race condition, though, the tests rarely failed even when the
- code was wrong. * Fixed a leak in stasis_cache_pattern.c. (closes
- issue ASTERISK-22243) Review:
- https://reviewboard.asterisk.org/r/2746/
- 2013-08-16 12:20 +0000 [r396829] Kinsey Moore <kmoore@digium.com>
- * main/utils.c, main/sounds_index.c, main/loader.c: Improve sounds
- indexer CLI commands This reworks the CLI commands used to access
- sounds information from "sounds show[ soundid]" to "core show
- sounds" and "core show sound <soundid>". This also reworks the
- "sounds reload" CLI command to fall under normal module reloading
- ("module reload sounds"). Also, make trunk build when
- DEBUG_MALLOC is not enabled. Review:
- https://reviewboard.asterisk.org/r/2745/ (closes issue
- ASTERISK-22141)
- 2013-08-16 07:18 +0000 [r396822] Walter Doekes <walter+asterisk@wjd.nu>
- * include/asterisk/utils.h, main/pbx.c, main/utils.c: Prevent heap
- alloc functions from running out of stack space. When asterisk
- has run out of memory (for whatever reason), the alloc function
- logs a message. Logging requires memory. A recipe for infinite
- recursion. Stop the recursion by comparing the function call
- depth for sane values before attempting another OOM log message.
- Review: https://reviewboard.asterisk.org/r/2743/
- 2013-08-15 22:10 +0000 [r396783-396814] Richard Mudgett <rmudgett@digium.com>
- * main/bridge_channel.c: Bridge: Don't suspend/unspend the channel
- for interception routines. By their nature, the connected line
- and redirecting interception routines are not supposed to affect
- the channel's media. Therefore, they should not suspend and
- unsuspend the channel while running. The suspend/unsuspend
- operations could be expensive depending upon the bridge and
- channel technology involved.
- * res/parking/res_parking.h, res/res_parking.c,
- res/parking/parking_tests.c, main/features.c: Minor parking
- cleanup.
- * res/parking/parking_bridge_features.c: Parking: Eliminate local
- channel name hack to get peer channel. (closes issue
- ASTERISK-22034) Reported by: Matt Jordan
- * main/bridge_channel.c, main/features.c: Remove early bridge
- BUGBUG comments. Remove some unneeded features.c comments.
- * configs/features.conf.sample: Update features.conf.sample
- atxferdropcall option.
- * main/bridge.c, include/asterisk/bridge_channel.h,
- main/config_options.c, main/bridge_channel.c,
- apps/confbridge/conf_config_parser.c: Changed some BUGBUG tags to
- associated JIRA issue tags.
- * main/bridge.c, main/features.c, bridges/bridge_softmix.c,
- include/asterisk/bridge.h: Resolve some BUGBUG comments.
- 2013-08-15 16:37 +0000 [r396747] Kinsey Moore <kmoore@digium.com>
- * main/asterisk.c, main/cli.c, /: Remove leading spaces from the
- CLI command before parsing If you've mistakenly put a space
- before typing in a command, the leading space will be included as
- part of the command, and the command parser will not find the
- corresponding command. This patch rectifies that situation by
- stripping the leading spaces on commands. Review:
- https://reviewboard.asterisk.org/r/2709/ Patch-by: Tilghman
- Lesher ........ Merged revisions 396745 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 396746 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-15 15:12 +0000 [r396732-396734] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_vpb.cc, main/features.c,
- include/asterisk/channel.h, channels/chan_iax2.c: Remove some
- dead code dealing with: AST_BRIDGE_REC_CHANNEL_0,
- AST_BRIDGE_REC_CHANNEL_1, and AST_BRIDGE_IGNORE_SIGS.
- * include/asterisk/bridge_channel_internal.h, main/manager.c,
- main/bridge_channel.c: Fix Bridge API DTMF hook matching for
- begin and end DTMF events. The Bridge API DTMF hook matching
- would not deal with DTMF end events only. It required a DTMF
- begin event to start matching the DTMF hooks. There are many
- places in Asterisk where code only generates DTMF end events
- without the corresponding begin event. One such place is the AMI
- action Atxfer. * Fixed DTMF hook matching if there is a string of
- DTMF frames in the read queue. We could potentially miss some of
- them before. * Fixed AMI Atxfer action documentation. (closes
- issue ASTERISK-22037) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2752/
- 2013-08-15 12:17 +0000 [r396722-396724] Kinsey Moore <kmoore@digium.com>
- * apps/app_confbridge.c, main/bridge.c, main/features.c: Fix
- feature_attended_transfer test The feature_attended_transfer test
- is failing due to Asterisk not passing DTMF in the bridges
- created for internal attended transfers. This sets the features
- initialization routine to set this flag by default and adjusts
- the basic bridge and confbridge's use of the bridging system
- accordingly as per Richard's suggestion instead of adjusting this
- individual case. This change allows the necessary DTMF to pass
- through the attended transfer bridge and complete the test
- successfully. Review: https://reviewboard.asterisk.org/r/2759/
- (closes issue ASTERISK-22222)
- * main/utils.c, include/asterisk/lock.h, channels/chan_sip.c: Fix
- deadlocks in chan_sip in REFER and BYE handling This resolves
- several deadlocks in chan_sip relating to usage of
- ast_channel_bridge_peer and improves accessibility of lock
- debugging function calls. Review:
- https://reviewboard.asterisk.org/r/2756/ (closes issue
- ASTERISK-22215)
- * res/res_stasis.c: Prevent automagic things from happening to
- Stasis application bridges This prevents swap optimization,
- merges, and transfers involving Stasis application bridges. It
- wouldn't be nice if the bridge you thought you owned disappeared
- from under you. Reported-by: Richard Mudgett
- 2013-08-15 00:16 +0000 [r396695-396713] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/channel.h, main/channel.c, channels/chan_vpb.cc:
- Remove unsupported channel technology callbacks.
- * channels/chan_vpb.cc: chan_vpb: Effectively remove native
- support. Left enough bread crumbs to be able to convert later if
- needed.
- * channels/chan_iax2.c: chan_iax2: Conditionally remove native
- support for now. (issue ASTERISK-21944)
- * channels/chan_misdn.c: chan_misdn: Effectively remove native
- support. Left enough bread crumbs to be able to convert later if
- needed.
- * apps/app_bridgewait.c: app_bridgewait: Inhibit local channel
- optimizations to the bridge. Holding bridges can allow local
- channel move/swap optimization to the bridge. However, we cannot
- allow it for the BridgeWait holding bridge because the call will
- lose the channel roles and dialplan location as a result.
- 2013-08-14 19:06 +0000 [r396621-396658] Joshua Colp <jcolp@digium.com>
- * /, tests/test_hashtab_thrash.c: Tweak comment for why usleep is
- used. ........ Merged revisions 396656 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 396657 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * tests/test_hashtab_thrash.c, /: Tweak test_hashtab_thrash test to
- allow the critical threads to execute. Depending on certain
- conditions it was possible for the hashtab counting thread to
- starve other threads, preventing them from executing in the
- expected fashion. This change adds a sleep to allow the others to
- do what they need to do. While this doesn't thrash the hashtab as
- much as previously, it at least works. (closes issue
- ASTERISK-22276) Reported by: Matt Jordan ........ Merged
- revisions 396619 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 396620 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-13 18:47 +0000 [r396581-396584] Walter Doekes <walter+asterisk@wjd.nu>
- * /, channels/chan_sip.c: chan_sip: Convert 'just did sched_add
- waitid...' from warning to debug message. Patches:
- reviewboard-2377.patch uploaded by Paul Belanger Review:
- https://reviewboard.asterisk.org/r/2377/ ........ Merged
- revisions 396582 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 396583 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: chan_sip: Fix IP-addr in warning when
- rejecting a contact ACL. Patches: reviewboard-2155.patch uploaded
- by Paul Belanger Review: https://reviewboard.asterisk.org/r/2155/
- ........ Merged revisions 396579 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 396580 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-13 15:27 +0000 [r396559-396568] David M. Lee <dlee@digium.com>
- * include/asterisk/stasis_app_impl.h, res/res_stasis_recording.c,
- res/stasis/control.h, include/asterisk/bridge_internal.h,
- include/asterisk/bridge_features.h, res/res_stasis.c,
- res/ari/resource_bridges.c, res/res_stasis_bridge_add.c
- (removed), res/res_stasis_playback.c, res/stasis/control.c,
- res/res_stasis_bridge_add.exports.in (removed),
- include/asterisk/stasis_app.h: ARI: allow other operations to
- happen while bridged This patch changes ARI bridging to allow
- other channel operations to happen while the channel is bridged.
- ARI channel operations are designed to queue up and execute
- sequentially. This meant, though, that while a channel was
- bridged, any other channel operations would queue up and execute
- only after the channel left the bridge. This patch changes ARI
- bridging so that channel commands can execute while the channel
- is bridged. For most operations, things simply work as expected.
- The one thing that ended up being a bit odd is recording. The
- current recording implementation will fail when one attempts to
- record a channel that's in a bridge. Note that the bridge itself
- may be recording; it's recording a specific channel in the bridge
- that fails. While this is an annoying limitation, channel
- recording is still very useful for use cases such as voice mail,
- and bridge recording makes up much of the difference for other
- use cases. (closes issue ASTERISK-22084) Review:
- https://reviewboard.asterisk.org/r/2726/
- * tests/test_hashtab_thrash.c: Missed a spot in r396559
- * tests/test_hashtab_thrash.c: Fix build warnings when printf a
- tv_usec. The debug logs added in r396528 neglected to account for
- suseconds_t being an int. See r392076 for more info.
- 2013-08-12 22:05 +0000 [r396552] John Bigelow <jbigelow@digium.com>
- * res/res_pjsip_registrar.c: Add test suite events for when
- contacts are added or removed from an AOR These are needed by the
- pjsip inbound registration test suite tests. (issue
- ASTERISK-21833) (issue ASTERISK-21834) (issue ASTERISK-21835)
- (issue ASTERISK-21837) Review:
- https://reviewboard.asterisk.org/r/2700/ Review:
- https://reviewboard.asterisk.org/r/2739/
- 2013-08-12 15:59 +0000 [r396542-396543] Matthew Jordan <mjordan@digium.com>
- * main/bridge_channel.c, main/bridge.c, main/features.c: Fix two
- race conditions and ref counting issue when joining a bridge
- These problems were all caught by a test in the Asterisk Test
- Suite that originated some Local channels and attempted to move
- the ;2 half of the Local channel into a bridge using the Bridge
- AMI action. (1) When originating a channel, the Newchannel event
- is emitted quickly; however, the ;2 channel will not have a pbx
- thread assigned to it until after the outbound 'dialing' for the
- ;1 is complete. Thus, there is a period of time where the outside
- world "knows" of the channel's existence and can influence it but
- Asterisk has not yet started the dialplan execution thread. If a
- Bridge AMI action is taken on the channel, the channel appears to
- be a Dialed channel with no PBX thread; hence, the channel will
- be imparted into the Bridge by first 'yanking' the channel. At
- the same time, a race condition can occur after the yank (but
- before entering the bridge) when ;1 answers and starts a PBX on
- the ;2. The end result currently is an assertion failure in the
- Bridging API, as a channel with a PBX is imparted into the
- Bridge. There's no way to prevent AMI from attempting to Bridge a
- channel immediately after creation; likewise, holding the channel
- lock through the entire Dial operation is unwise (and
- impossible). Instead of treating the presence of a PBX thread as
- an error, we simply bail out of the adding the channel to the
- bridge through ast_bridge_impart. The Bridge action will then
- fail - but we avoid a situation where the channel is both
- executing a PBX thread and simultaneously being given a separate
- thread in the bridging system (which would be a "bad thing").
- Since imparting a channel with a PBX *can* occur and is not a
- programming error, the asserts have been removed. (2) When the
- first condition occurs, we have to take one of two actions:
- either hangup the yanked channel as it did not enter the bridge,
- or deref it because we don't own it. We can determine if we own
- it or not by testing for the presence of the PBX thread. If we
- hung it up directly, we'd crash. (3) bridge_find_channel does not
- increase the reference count of the ast_bridge_channel object.
- The RAII_VAR usage in ast_bridge_add_channel thus created a
- ticking time bomb in whatever bridge the channel moved into, as
- the destructor for the ast_bridge_channel object would be called.
- Review: https://reviewboard.asterisk.org/r/2741/
- * main/pbx.c: Unlock outgoing dial lock on off nominal path If the
- thread servicing the dial request isn't created successfully, the
- outgoing dial lock will still be held when the function returns.
- This patch unlocks the lock on this off nominal path.
- 2013-08-10 20:29 +0000 [r396521-396535] Matthew Jordan <mjordan@digium.com>
- * tests/test_hashtab_thrash.c: Pipe test output through test object
- not stdout Otherwise, it doesn't show up in the automated test
- failures
- * tests/test_hashtab_thrash.c: Add some debugging when
- test_hashtab_thrash fails Disabling DEBUG_THREADS caused this
- test to fail on the 32-bit build agent. Adding some debugging to
- see why it thinks the test is timing out.
- * main/pbx.c: Unlock the dial operation lock on a failed dial If a
- dial operation fails, the pbx_outgoing_attempt routine will exit
- without first having unlocked the outgoing dial lock. This would
- be a "bad thing".
- 2013-08-09 21:50 +0000 [r396512] Richard Mudgett <rmudgett@digium.com>
- * bridges/bridge_native_rtp.c: bridge_native_rtp: Remove some
- unnecessary NULL checks on c1.
- 2013-08-09 20:29 +0000 [r396505] Walter Doekes <walter+asterisk@wjd.nu>
- * main/autoservice.c: Don't leak frames when memory is full in
- autoservice_run. Review: https://reviewboard.asterisk.org/r/2566/
- 2013-08-09 17:28 +0000 [r396497-396498] Jonathan Rose <jrose@digium.com>
- * main/pbx.c, channels/chan_sip.c: pbx: Make originate threads
- indicate dial status when synchronous This makes it so that we
- can detect failures to originate as with earlier versions of
- Asterisk, which restores the Asterisk 11 behavior for the
- originate manager action. This was causing the ACL tests for SIP
- and IAX2 to fail since those tests expected originate failures
- when ACLs would cause rejections. Also, this patch fixes crashes
- in chan_sip when ACLs rejected peers during registration
- verification. (closes issue ASTERISK-22212) Reported by: Matt
- Jordan Review: https://reviewboard.asterisk.org/r/2753/
- * main/core_unreal.c, main/bridge_channel.c,
- include/asterisk/bridge.h, res/ari/resource_bridges.c,
- include/asterisk/core_unreal.h: bridge_channel: Support the
- lonely flag and make ARI use it. The lonely flag is an optional
- flag for bridge channels that will make them leave a bridge when
- a channel leaves if only lonely channels are in the bridge at
- that point. This is useful for things like ending recording and
- playback channels when they cease to be interacting with other
- channels in the bridge. (closes issue ASTERISK-22117) Reported
- by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2721/
- 2013-08-09 13:58 +0000 [r396490] Matthew Jordan <mjordan@digium.com>
- * apps/confbridge/conf_config_parser.c: Update documentation for
- ConfBridge with some additional markup Add some additional markup
- for items that needed it, e.g., replaceable tags, literal tags,
- etc.
- 2013-08-08 22:57 +0000 [r396480] Richard Mudgett <rmudgett@digium.com>
- * tests/test_stasis.c: Fix stasis/core unit test. Should have had
- the CR/LF.
- 2013-08-08 22:09 +0000 [r396474] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
- * channels/chan_dahdi.c: chan_dahdi: create channels at run-time
- This code adds chan_dahdi the command 'dahdi create channels
- <range>' (where <range> is a single <n>-<m> or 'new') and updates
- 'dahdi destroy channel' with a similar 'dahdi destroy channels'.
- It allows DAHDI channels and spans to be added after the initial
- channel load (without destroying all other channels as in 'dahdi
- restart'). It also includes some fixes to the D-Channel / span
- destruction code (r394552). This change is intended to provide a
- hook for a script running from udev once a span has been assigned
- ("registered") / unassigned ("unregistered") for its channels.
- The udev hook configures the span's channels with dahdi_cfg -S,
- and can then ask Asterisk to create ethe channels. See the
- scripts added to DAHDI-tools in 2.7.0. Review:
- https://reviewboard.asterisk.org/r/1598/
- 2013-08-08 20:52 +0000 [r396417-396463] Richard Mudgett <rmudgett@digium.com>
- * tests/test_stasis.c: Add missing CR/LF to FakeMI stasis test AMI
- event.
- * main/stasis_bridges.c: Remove extra CR/LF from AMI event.
- * main/manager_bridges.c, apps/confbridge/confbridge_manager.c,
- include/asterisk/manager.h, main/stasis_bridges.c: Make bridge
- snapshots use prefixes. * Changed
- ast_manager_build_bridge_state_string() to assume an empty prefix
- string just like ast_manager_build_channel_state_string(). *
- Created ast_manager_build_bridge_state_string_prefix() to work
- just like ast_manager_build_channel_state_string_prefix(). * Made
- BridgeMerge AMI event use To/From prefixes.
- 2013-08-08 18:40 +0000 [r396412] Matthew Jordan <mjordan@digium.com>
- * formats/format_wav_gsm.c: Improve disk writes for wav49 format
- Writing to a file in the wav49 format performs rather
- inefficiently. The procedure is approximately: (1) Write GSM
- frame to the end of the file (2) Seek to the end of the file (3)
- Seek to the header (4) Update the file size (5) Seek (again) to
- the end of the file (6) Repeat This pattern negates any attempt
- to use the stdio buffering setup in ast_writefile. It also
- results in many small writes that require a seek going to the
- disk each second which translates to poor disk performance on
- certain file systems, particularly when there are multiple wav49
- files being written simultaneously. (closes issue ASTERISK-19595)
- Reported by: Byron Clark Tested by: Byron Clark patches:
- gsm_wav_only_update_header_on_close.patch uploaded by byronclark
- (License 6157)
- 2013-08-08 17:51 +0000 [r396401] Richard Mudgett <rmudgett@digium.com>
- * main/channel_internal_api.c, main/features.c,
- include/asterisk/bridge_features.h, main/bridge.c: Remove some
- resolved or obsolete BUGBUG comments.
- 2013-08-08 14:13 +0000 [r396391-396392] Matthew Jordan <mjordan@digium.com>
- * apps/confbridge/conf_chan_announce.c, main/manager_channels.c,
- main/channel.c, main/manager_bridges.c,
- channels/chan_bridge_media.c, apps/confbridge/conf_chan_record.c,
- main/channel_internal_api.c, include/asterisk/channel.h,
- main/cel.c: Hide the Surrogate channels from external consumers;
- kill Masquerade events This patch does three things: 1. It
- provides a Surrogate channel technology with a consolidated
- "implementation detail flag" on the channel technology. This
- tells consumers of Stasis that the creation of this channel is an
- implementation detail in Asterisk and can be ignored (if they so
- choose). This consolidates the conference recorder/announcer
- flags as well - these flags had no additional meaning beyond
- "ignore this channel please". 2. It modifies allocation of a
- channel in two ways: (a) If a channel technology can be
- determined from the name, we set it directly in the allocation
- routine. This prevents the initial publication of the message
- from going out with a NULL channel technology where possible.
- This lets Stasis consumers get the right channel technology on
- the first publication. (b) It reorganizes allocation to make use
- of the 'finalized' property on the channel. This was already used
- to know that a channel had completely finished its construction
- in the masquerade routine; now we also use it to know whether or
- not the setting of certain channel properties is occurring during
- or post construction. The various set routines were modified
- accordingly as well. 3. The masquerade event is now dead, Jim. It
- no longer served any purpose whatsoever - if you perform a call
- pickup you'll get a Pickup event; if you perform an attended
- transfer you will still get those events; if you steal a channel
- to put it elsewhere you'll get the corresponding NewExten or
- BridgeEnter events. Review:
- https://reviewboard.asterisk.org/r/2740
- * main/utils.c: Prevent spurious memory error when appending
- backtrace with MALLOC_DEBUG Backtraces are allocated outside of
- the usual memory tracking performed by MALLOC_DEBUG. This allows
- them to be used by the memory tracking enabled by that build
- option; however, it also means that when backtraces are disposed
- of they have to be done so outside of the re-defined free. This
- patch undef's free prior to disposing of the allocated backtrace
- when a backtrace is appended as a result of 'core show locks'.
- 2013-08-08 12:38 +0000 [r396385] Kinsey Moore <kmoore@digium.com>
- * main/bridge.c: Prevent unreal channels from optimizing during
- DTMF emulation This prevents unreal channel optimization during
- the prequalification phase when either channel is involved in
- DTMF emulation. This prevents a situation where an emulated digit
- would be missed because the emulation was never completed.
- Review: https://reviewboard.asterisk.org/r/2747/ (closes issue
- ASTERISK-22214)
- 2013-08-08 07:05 +0000 [r396378] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
- * channels/chan_unistim.c, /: - Fix different issues with call
- transfer cancel. In case 3rd party busy or congestion call was
- not returned. - Fix displaying soft button 'Redial' in case of no
- redial number exists ........ Merged revisions 396377 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-08 02:58 +0000 [r396365-396371] Matthew Jordan <mjordan@digium.com>
- * main/cdr.c: Handle Surrogate channels in Dial message processing
- Depending on when a Surrogate channel replaces an existing
- channel, it is possible to get a Dial message for the Surrogate
- channel. When this occurs, no CDR will exist for the channel as
- Surrogate channels are ignored. Safely handle the case when a CDR
- doesn't exist for a Dial message.
- * apps/app_queue.c: Perform Ring-No-Answer checks before processing
- Hangup logic The rna() routine will raise a Stasis message
- involving both the caller and the agent. This doesn't work so
- well if we already hung up the agent channel, as the channel
- doesn't quite exist. Not surprisingly, this will crash. This
- patch properly runs the rna subroutine (performing all of the
- Ring-No-Answer logic) prior to hanging up the agent channel.
- (closes issue ASTERISK-22258) Reported by: Kiril Valchev Tested
- by: Kiril Valchev
- 2013-08-06 21:20 +0000 [r396329-396347] David M. Lee <dlee@digium.com>
- * apps/app_meetme.c: Fixed app_meetme for cache split changes
- * include/asterisk/frame.h, rest-api/api-docs/recordings.json,
- res/ari/resource_recordings.c, apps/app_voicemail.c,
- main/channel.c, res/res_ari_recordings.c, include/asterisk/app.h,
- include/asterisk/stasis_app_recording.h,
- res/ari/resource_recordings.h, funcs/func_frame_trace.c,
- apps/app_minivm.c, main/app.c, res/res_stasis_recording.c: ARI:
- Add recording controls This patch implements the controls from
- ARI recordings. The controls are: * DELETE
- /recordings/live/{recordingName} - stop recording and discard it
- * POST /recordings/live/{recordingName}/stop - stop recording *
- POST /recordings/live/{recordingName}/pause - pause recording *
- POST /recordings/live/{recordingName}/unpause - resume recording
- * POST /recordings/live/{recordingName}/mute - mute recording
- (record silence to the file) * POST
- /recordings/live/{recordingName}/unmute - unmute recording. Since
- this underlying functionality did not already exist, is was added
- to app.c by a set of control frames, similar to how playback
- control works. The pause/mute control frames are toggles, even
- though the ARI controls are idempotent, to be consistent with the
- playback control frames. (closes issue ASTERISK-22181) Review:
- https://reviewboard.asterisk.org/r/2697/
- * main/stasis_cache_pattern.c, main/stasis_cache.c,
- include/asterisk/stasis.h, tests/test_stasis.c: Tweak caching
- topics to fix CEL tests The Stasis changes in r395954 had an
- unanticipated side effect: messages published directly to an _all
- topic does not get forwarded to the corresponding caching topic.
- This patch fixes that by changing how caching topics forward
- messages, and how the caching pattern forwards are setup. For the
- caching pattern, the all_topic is forwarded to the
- all_topic_cached. This forwards messages published directly to
- the all_topic to all_topic_cached. In order to avoid duplicate
- messages on all_topic_cached, caching topics were changed to no
- longer forward uncached messages. Subscribers to an individual
- caching topic should only expect to receive cache updates, and
- subscription change messages. Since individual caching topics are
- new, this shouldn't be a problem. There are a few minor changes
- to the pre-cache split behavior. * For topics changed to use the
- caching pattern, the all_topic_cached will forward snapshots in
- addition to cache updates. Since subscribers by design ignore
- unexpected messages, this should be fine. * Caching topics that
- don't use the caching pattern no longer forward non-cache
- updates. This makes no difference for the current caching topics.
- * mwi_topic_cached, channel_by_name_topic and
- presence_state_topic_cached have no subscribers *
- device_state_topic_cached's only subscriber only processes cache
- udpates (issue ASTERISK-22243) Review:
- https://reviewboard.asterisk.org/r/2738
- 2013-08-06 13:08 +0000 [r396320-396321] Kinsey Moore <kmoore@digium.com>
- * res/res_pjsip/include/res_pjsip_private.h, res/res_pjsip.c,
- res/res_pjsip/config_system.c: Expose res_pjsip threadpool
- options Expose initial size, automatic increment, maximum size,
- and idle timeout as configurable parameters for the res_pjsip
- thread pool. Review: https://reviewboard.asterisk.org/r/2704/
- (closes issue ASTERISK-22143)
- * main/cdr.c: Fix memory leaks in the CDR engine Fix refcount bugs
- and a possible locking problem in the CDR engine relating to use
- of ao2_iterators. Review:
- https://reviewboard.asterisk.org/r/2724/ (closes issue
- ASTERISK-22126)
- 2013-08-06 12:39 +0000 [r396319] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_notify.c, res/res_pjsip_outbound_registration.c,
- res/res_pjsip_messaging.c, res/res_pjsip_exten_state.c: Fix crash
- in res_pjsip_outbound_registration when the remote server can not
- be resolved. This crash was caused by decrementing the reference
- count of a newly created message when it should not be. This
- change fixes that but also fixes all other cases where this was
- incorrectly done. (closes issue ASTERISK-22188) Reported by:
- Kinsey Moore
- 2013-08-06 08:43 +0000 [r396309-396311] Walter Doekes <walter+asterisk@wjd.nu>
- * /, funcs/func_strings.c: Check result of ast_var_assign() calls
- for memory allocation failure (2). Missed a spot in the previous
- commit. ........ Merged revisions 396310 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * pbx/pbx_dundi.c, utils/extconf.c, apps/app_stack.c,
- apps/app_playback.c, funcs/func_global.c, main/cdr.c,
- pbx/pbx_loopback.c, main/pbx.c, /, funcs/func_strings.c: Check
- result of ast_var_assign() calls for memory allocation failure.
- We try to keep the system running even when all available memory
- is spent. Review: https://reviewboard.asterisk.org/r/2734/
- ........ Merged revisions 396279 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 396287 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-05 20:20 +0000 [r396253] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c: Fix Registration Failure When A Peer And
- TLS Are Used If a peer is used in a register line and TLS is
- defined as the transport, the registration fails since the
- transport on the dialog is never set properly resulting in UDP
- being used instead of TLS. This patch sets the dialog's transport
- based on the transport that was defined in the register line. If
- the register line does not specify a transport, the parsing
- function for the register line always defaults back to UDP.
- (closes issue ASTERISK-21964) Reported by: Doug Bailey Tested by:
- Doug Bailey Patches: asterisk-21964-set-reg-dialog-transport.diff
- by Michael L. Young (license 5026) ........ Merged revisions
- 396240 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 396248 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-05 20:18 +0000 [r396245] Jonathan Rose <jrose@digium.com>
- * main/bridge_basic.c, main/features.c,
- include/asterisk/bridge_basic.h: bridge features: Dial and Queue
- add features instead of replace them. Dial and Queue would
- previously apply a new set of features whenever bridging. These
- options would be based purely on the options supplied to the
- dial/queue applications. This patch changes the function those
- applications use to bridge calls so that the features will be
- added to the set of existing features for each channel rather
- than having them override the existing features. (closes issue
- ASTERISK-22209) Reported by: Jonathan Rose Review:
- https://reviewboard.asterisk.org/r/2713/
- 2013-08-05 19:01 +0000 [r396201] Matthew Jordan <mjordan@digium.com>
- * res/res_pjsip_outbound_registration.c: Add AMI registration
- events for PJSIP outbound registration attempts This patch adds
- AMI events whenever an outbound registration attempt succeeds or
- fails from res_pjsip_outbound_registration. This brings it inline
- with the existing SIP channel driver and IAX channel driver.
- Review: https://reviewboard.asterisk.org/r/2729/
- 2013-08-05 18:52 +0000 [r396198-396200] Michael L. Young <elgueromexicano@gmail.com>
- * /, UPGRADE-11.txt: Change "from" to "From". (related to issue
- ASTERISK-21903) ........ Merged revisions 396199 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * UPGRADE-11.txt, /: Adding a note to UPGRADE.txt about a change
- made to res_agi in order to indicate when streaming an audio file
- fails like it is done in other parts of the code to indicate an
- error. Note was requested by Paul Belanger:
- http://lists.digium.com/pipermail/asterisk-dev/2013-July/061420.html
- (related to issue ASTERISK-21903) ........ Merged revisions
- 396196 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 396197 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-08-05 17:48 +0000 [r396175-396189] Jonathan Rose <jrose@digium.com>
- * bridges/bridge_holding.c: bridge_holding: Add suspsend/unsuspend
- callbacks Suspend and unsuspend callbacks are added to the
- holding bridge so that entertainment can be disabled and
- re-enabled when operations would suspend a channel on the bridge
- (such as playback operations). This fixes entertainment so that
- when those operations end, the entertainment can pick back up and
- it also serves as an optimization. Also, this patch fixes a bug
- caused by triggering ringing frames immediately instead of
- pushing them to the queue which created a race condition where
- sometimes parking with ringing during attended transfers would
- cause the ringing to be interrupted by an unhold frame. (closes
- issue ASTERISK-22006) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2711/
- * res/res_ari_bridges.c, include/asterisk/bridge_roles.h,
- res/ari/resource_bridges.h, res/stasis/control.c,
- include/asterisk/stasis_app.h, main/bridge_roles.c,
- rest-api/api-docs/bridges.json, res/ari/resource_bridges.c: ARI:
- bridges/{bridgeID}/addChannel: add roles parameter Roles are now
- cleared with each entry into a bridge with addChannel. If the
- roles parameter is present, the role specified will be applied to
- all channels being added with the addChannel command. (closes
- issue ASTERISK-21973) Reported by: Matt Jordan
- https://reviewboard.asterisk.org/r/2691/
- * res/parking/res_parking.h, res/res_parking.c,
- res/parking/parking_tests.c (added),
- res/parking/parking_bridge.c: res_parking: Unit tests Adds the
- following unit tests: * create_lot: tests adding and removal of a
- new parking lot (baseline) * park_extensions: creates a parking
- lot that registers extensions and then confirms that all of the
- expected extensions exist * extensions_conflicts: creates
- numerous parking lots to test that extension conflicts in parking
- lots result in parking lot creation failing *
- dynamic_parking_variables: Tests that the creation of dynamic
- parking lots respects the related channel variables set on the
- channel that requests them. * park_call: Tests adding a channel
- to a parking lot's holding bridge by standard parking functions.
- * retrieve_call: Tests pulling a channel out of a parking lot's
- holding bridge via parked call retrieval functions. (closes issue
- ASTERISK-22138) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2714/
- 2013-08-05 14:35 +0000 [r396166] David M. Lee <dlee@digium.com>
- * main/asterisk.c, main/cli.c, main/channel.c, main/pbx.c,
- main/manager.c, res/ari/resource_asterisk.c, utils/extconf.c,
- include/asterisk/options.h: Fix res_ari_asterisk load issue The
- new res_ari_asterisk.so module presents several config options
- from asterisk main. Unfortunately, they aren't exported, so the
- module won't load on Linux. This patch renames the variables,
- adding the ast_ prefix so they will be exported. Review:
- https://reviewboard.asterisk.org/r/2737
- 2013-08-03 03:53 +0000 [r396158] Matthew Jordan <mjordan@digium.com>
- * main/manager_bridges.c: Don't unsubscribe from the AMI message
- router from manager_bridges The AMI message router is owned
- wholly by manager.c. Previously, each of the manager_{item}
- source files had their own message router and they unsubscribed
- from each; once they moved over to using a single message router
- only a single unsubscribe became necessary.
- 2013-08-02 17:50 +0000 [r396145] Mark Michelson <mmichelson@digium.com>
- * channels/sig_pri.c: And get rid of another ast_bridged_channel()
- 2013-08-02 17:29 +0000 [r396136-396143] David M. Lee <dlee@digium.com>
- * main/stasis_bridges.c: Clean up ast_json with ast_json_unref
- * /: Removed svnmerge-integrated from trunk
- 2013-08-02 15:01 +0000 [r396126] Mark Michelson <mmichelson@digium.com>
- * res/snmp/agent.c: Get the SNMP code to compile.
- 2013-08-02 14:46 +0000 [r396119-396125] David M. Lee <dlee@digium.com>
- * res/ari/ari_model_validators.c, res/ari/ari_model_validators.h,
- rest-api/api-docs/asterisk.json, res/ari/resource_asterisk.c: ARI
- - GET /ari/asterisk/info This patch adds basic system information
- access to ARI. The results are roughly what you get from 'core
- show settings', with a few minor differences. * Data is
- structured, with 'build', 'system', 'config' and 'status'
- sub-objects. * Each sub-object is selectable, using the ?only=
- parameter. A comma separated list can be provided to select
- multiple sections. * A few config options are numeric, for which
- 0 means 'unlimited'. Instead of having a special interpretation
- of those fields, they are simply omitted if they're 0. * The
- information is limited to what might be useful to building
- external applications. (closes issue ASTERISK-21575) Review:
- https://reviewboard.asterisk.org/r/2702/
- * rest-api-templates/param_cleanup.mustache (added),
- rest-api/api-docs/events.json, /, res/ari/resource_events.c,
- rest-api-templates/ari_resource.h.mustache,
- res/res_ari_asterisk.c, res/res_ari_playback.c,
- rest-api-templates/res_ari_resource.c.mustache,
- res/ari/resource_events.h, rest-api/api-docs/sounds.json,
- res/res_ari_channels.c, rest-api/api-docs/bridges.json,
- rest-api-templates/param_parsing.mustache,
- res/ari/resource_bridges.c, res/ari/resource_sounds.h,
- res/res_ari_recordings.c, res/ari/resource_bridges.h,
- res/res_ari_endpoints.c, res/res_ari_events.c,
- res/ari/resource_asterisk.h, rest-api/api-docs/channels.json,
- res/res_ari_sounds.c, res/res_ari_bridges.c: ARI - implement
- allowMultiple for parameters Swagger allows parameters to be
- specified as 'allowMultiple', meaning that the parameter may be
- specified as a comma separated list of values. I had written some
- of the API docs using that, but promptly forgot about
- implementing it. This patch finally fills in that gap. The
- codegen template was updated to represent 'allowMultiple' fields
- as array/size fields in the _args structs. It also parses the
- comma separated list using ast_app_separate_args(), so quoted
- strings in the argument will be handled properly. Review:
- https://reviewboard.asterisk.org/r/2698/
- * tests/test_json.c, main/json.c, res/res_sorcery_astdb.c,
- include/asterisk/json.h, main/cel.c, res/ari/ari_websockets.c:
- Address JSON thread safety issues. In tracking down some unit
- tests failures, I ended up reading the fine print[1] regarding
- Jansson's thread safety. In short: 1. Ref-counting is non-atomic.
- 2. json_dumps() and friends are not thread safe. This patch adds
- locking where necessary to our ast_json_* wrapper API, with
- documentation in json.h describing the thread safety limitations
- of the API. [1]:
- http://www.digip.org/jansson/doc/2.4/portability.html#thread-safety
- Review: https://reviewboard.asterisk.org/r/2716/
- 2013-08-02 14:13 +0000 [r396107] Mark Michelson <mmichelson@digium.com>
- * main/cel.c, include/asterisk/parking.h, main/bridge_channel.c,
- main/stasis_bridges.c, res/parking/parking_manager.c,
- res/parking/parking_bridge.c, main/manager_bridges.c,
- include/asterisk/stasis_bridges.h: Make a couple of changes to
- help AMI events to be more clear in what is occurring. *
- BridgeEnter now contains the unique ID of the channel that is to
- be swapped out, if applicable. * There is a ParkedCallSwap event
- that is sent when a parked channel has a new channel take its
- place. (closes issue ASTERISK-22193) reported by Mark Michelson
- Review: https://reviewboard.asterisk.org/r/2712
- 2013-08-02 14:08 +0000 [r396105] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/strings.h, main/astobj2.c, utils/Makefile,
- utils/refcounter.c, main/strings.c, include/asterisk/astobj2.h:
- Move ast_str_container_alloc and friends This moves
- ast_str_container_alloc, ast_str_container_add,
- ast_str_container_remove, and related private functions into
- strings.c/h since they really don't belong in astobj2.c/h. As a
- result of this move, utils also had to be updated. Review:
- https://reviewboard.asterisk.org/r/2719/ (closes issue
- ASTERISK-22041)
- 2013-08-02 14:05 +0000 [r396102-396103] Mark Michelson <mmichelson@digium.com>
- * channels/chan_sip.c, channels/chan_skinny.c,
- funcs/func_channel.c, main/channel_internal_api.c,
- include/asterisk/channel.h, channels/chan_iax2.c,
- apps/app_chanspy.c, channels/chan_oss.c, channels/chan_mgcp.c,
- main/channel.c, channels/chan_dahdi.c, channels/chan_misdn.c,
- main/rtp_engine.c: Get rid of ast_bridged_channel() and the
- bridged_channel field on ast_channels. This commit is smaller
- than the initial review placed on review board. This is because a
- change to allow for channel drivers to access parking
- functionality externally was committed and invalidated quite a
- few of the changes initially made. (closes issue ASTERISK-22039)
- reported by Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2717
- * include/asterisk/pickup.h: Make sure that pickup.h does not use
- an include guard name used elsewhere.
- 2013-08-02 13:29 +0000 [r396087-396099] Kinsey Moore <kmoore@digium.com>
- * main/pickup.c: Correct the last of the Newchannel xi:includes
- * res/res_pjsip_notify.c, res/res_pjsip_outbound_registration.c,
- res/res_pjsip/include/res_pjsip_private.h,
- res/res_pjsip/pjsip_options.c, res/res_pjsip.c: Add CLI/AMI
- commands to force chan_pjsip actions For chan_pjsip, this
- introduces CLI/AMI remote unregistration commands, reworks CLI
- syntax for sending NOTIFYs, adds AMI qualification support, and
- adds documentation for PJSIPNotify. This also fixes two
- refcounting bugs in the outbound registration code. Review:
- https://reviewboard.asterisk.org/r/2695/ (closes issue
- ASTERISK-21939)
- 2013-08-02 04:48 +0000 [r396075] David M. Lee <dlee@digium.com>
- * channels/sig_analog.c: Fixed chan_dahdi compilation failure
- 2013-08-02 03:12 +0000 [r396060-396062] Matthew Jordan <mjordan@digium.com>
- * tests/test_cel.c, tests/test_cdr.c: Fix test modules More missing
- include files. :-\
- * channels/chan_dahdi.c, channels/chan_mgcp.c: Add pickup.h include
- lines for chan_dahdi and chan_mgcp
- * include/asterisk/parking.h, include/asterisk/pickup.h (added),
- main/asterisk.c, res/parking/parking_manager.c, tests/test_cdr.c,
- channels/chan_unistim.c, main/pbx.c, res/stasis/control.c,
- main/pickup.c (added), channels/chan_sip.c, main/bridge.c,
- UPGRADE.txt, res/parking/parking_applications.c,
- include/asterisk/_private.h, channels/chan_gtalk.c, main/cel.c,
- CHANGES, include/asterisk/features.h, main/cdr.c,
- res/res_parking.c, channels/chan_skinny.c,
- apps/app_directed_pickup.c, main/features.c, tests/test_cel.c:
- Remove dead code from features.c; refactor pickup code into
- pickup.c This patch does the following: * It moves the pickup
- code out of features.c and into pickup.c * It removes the vast
- majority of dead code out of features.c. In particular, this
- includes the parking code. (issue ASTERISK-22134)
- 2013-08-01 23:38 +0000 [r396048] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_registrar.c: Fix a crash due to performing full URI
- validation on a contact which only contains '*'. (closes issue
- AST-1198) Reported by: John Bigelow
- 2013-08-01 21:19 +0000 [r396035] David M. Lee <dlee@digium.com>
- * main/sorcery.c: Fix sorcery for some rather picky regex
- implementations. Some regex implementations won't compile an
- empty string. Assuming that it's equivalent of a regex that will
- match anything, use ".?" instead.
- 2013-08-01 20:55 +0000 [r396010-396028] Matthew Jordan <mjordan@digium.com>
- * channels/chan_skinny.c, main/parking.c, main/bridge.c,
- main/features.c, channels/chan_iax2.c,
- include/asterisk/parking.h, main/bridge_channel.c,
- res/parking/parking_bridge_features.c, channels/chan_mgcp.c,
- include/asterisk/features.h, channels/chan_dahdi.c,
- res/res_parking.c, channels/sig_analog.c: Support externally
- initiated parking requests; remove some dead code This patch does
- the following: * It adds support for externally initiated parking
- requests. In particular, chan_skinny has a protocol level message
- that initiates a call park. This patch now supports that option,
- as well as the protocol specific mechanisms in
- chan_dahdi/sig_analog and chan_mgcp. * A parking bridge features
- virtual table has been added that provides access to the parking
- functionality that the Bridging API needs. This includes requests
- to park an entire 'call' (with little or no additional
- information, thank you chan_skinny), perform a blind transfer to
- a parking extension, determine if an extension is a parking
- extension, as well as the actual "do the parking" request from
- the Bridging API. * Refactoring in chan_mgcp, chan_skinny, and
- chan_dahdi to make use of the new functions * The removal of some
- - but not all - dead parking code from features.c This also fixed
- blind transferring a multi-party bridge to a parking lot (which
- was implemented, but had at least one code path where using the
- parking features kK might not have worked) Review:
- https://reviewboard.asterisk.org/r/2710 (closes issue
- ASTERISK-22134) Reported by: Matt Jordan
- * CHANGES, apps/app_queue.c: Add queue member paused hints This
- patch adds the ability in Queue to raise a hint when a member's
- paused state changes. The hint uses the form
- 'Queue:{queue_name}_pause_{member_name}', where {queue_name} and
- {member_name} are the name of the queue and the name of the
- member to subscribe to, respectively. For example: exten =>
- 8501,hint,Queue:sales_pause_mark. Members will show as In Use
- when paused. Note that the format of the queue pause hint was
- changed slightly from what is on the issue to accomodate
- suggestion on the code review. Review:
- https://reviewboard.asterisk.org/r/2254 (closes issue
- ASTERISK-20842) Reported by: Philippe Lindheimer patches:
- qpause-10-378206.diff uploaded by Philippe Lindheimer (license
- 5519) qpause-11-378206.diff uploaded by Philippe Lindheimer
- (license 5519) qpause-trunk-378206.diff uploaded by Philippe
- Lindheimer (license 5519)
- 2013-08-01 17:23 +0000 [r395985-395998] Kinsey Moore <kmoore@digium.com>
- * configure: Regenerate configure for configure.ac changes
- * Makefile, apps/confbridge/confbridge_manager.c, makeopts.in,
- doc/appdocsxml.dtd, apps/app_stack.c,
- res/parking/parking_manager.c, main/manager_mwi.c,
- main/rtp_engine.c, apps/app_meetme.c,
- include/asterisk/autoconfig.h.in, main/xml.c,
- main/stasis_bridges.c, contrib/scripts/install_prereq,
- main/manager_bridges.c, channels/chan_dahdi.c, main/manager.c,
- doc/snapshots.xslt (added), main/features.c, apps/app_minivm.c,
- res/res_agi.c, main/stasis_channels.c, main/manager_channels.c,
- channels/chan_sip.c, main/Makefile, configure.ac, UPGRADE.txt,
- main/aoc.c, main/core_local.c, channels/sig_pri.c,
- apps/app_queue.c, CHANGES, funcs/func_global.c,
- apps/app_agent_pool.c: Fix documentation replication issues This
- prevents XML documentation duplication by expanding channel and
- bridge snapshot tags into channel and bridge snapshot parameter
- sets with a given prefix or defaulting to no prefix. This also
- prevents documentation from becoming fractured and out of date by
- keeping all variations of the documentation in template form such
- that it only needs to be updated once and keeps maintenance to a
- minimum. Review: https://reviewboard.asterisk.org/r/2708/
- 2013-08-01 16:56 +0000 [r395954-395984] David M. Lee <dlee@digium.com>
- * utils/astman.c: Fixed warning in astman for gcc-4.8.
- * res/res_pjsip_mwi.c, channels/chan_pjsip.c: Fixed compile errors
- introduced in r395954. Just a merge error due to a file rename.
- Grrr...
- * main/manager.c, tests/test_devicestate.c, res/res_agi.c,
- include/asterisk/stasis_cache_pattern.h (added), main/app.c,
- main/stasis_channels.c, res/ari/resource_channels.c,
- include/asterisk/stasis_endpoints.h, include/asterisk/bridge.h,
- main/manager_channels.c, channels/chan_mgcp.c, main/pbx.c,
- include/asterisk/devicestate.h, main/stasis_cache.c,
- res/ari/resource_endpoints.c, channels/chan_sip.c,
- main/channel_internal_api.c, include/asterisk/presencestate.h,
- include/asterisk/stasis_bridges.h, include/asterisk/stasis.h,
- include/asterisk/channel.h, channels/sig_pri.c, main/cel.c,
- tests/test_stasis_endpoints.c, res/ari/resource_bridges.c,
- include/asterisk/app.h, include/asterisk/stasis_channels.h,
- apps/confbridge/confbridge_manager.c, tests/test_cel.c,
- tests/test_stasis.c, res/res_stasis.c,
- main/stasis_cache_pattern.c (added), apps/app_voicemail.c,
- channels/chan_unistim.c, main/stasis_endpoints.c,
- main/stasis_wait.c (added), apps/app_meetme.c,
- res/stasis/control.c, main/bridge.c, main/manager_endpoints.c,
- include/asterisk/channel_internal.h, main/devicestate.c,
- res/res_xmpp.c, main/endpoints.c, channels/chan_iax2.c,
- res/res_jabber.c, main/presencestate.c, main/stasis_bridges.c,
- res/res_chan_stats.c, main/stasis.c, main/cli.c, main/cdr.c,
- channels/chan_dahdi.c, main/manager_bridges.c: Split caching out
- from the stasis_caching_topic. In working with res_stasis, I
- discovered a significant limitation to the current structure of
- stasis_caching_topics: you cannot subscribe to cache updates for
- a single channel/bridge/endpoint/etc. To address this, this patch
- splits the cache away from the stasis_caching_topic, making it a
- first class object. The stasis_cache object is shared amongst
- individual stasis_caching_topics that are created per
- channel/endpoint/etc. These are still forwarded to global
- whatever_all_cached topics, so their use from most of the code
- does not change. In making these changes, I noticed that we
- frequently used a similar pattern for bridges, endpoints and
- channels: single_topic ----------------> all_topic ^ |
- single_topic_cached ----+----> all_topic_cached | +----> cache
- This pattern was extracted as the 'Stasis Caching Pattern',
- defined in stasis_caching_pattern.h. This avoids a lot of
- duplicate code between the different domain objects. Since the
- cache is now disassociated from its upstream caching topics, this
- also necessitated a change to how the 'guaranteed' flag worked
- for retrieving from a cache. The code for handling the caching
- guarantee was extracted into a 'stasis_topic_wait' function,
- which works for any stasis_topic. (closes issue ASTERISK-22002)
- Review: https://reviewboard.asterisk.org/r/2672/
- 2013-08-01 11:21 +0000 [r395938] Joshua Colp <jcolp@digium.com>
- * res/res_pjsip_session.c: Answer with multiple codecs if the
- underlying pjproject supports it.
- 2013-08-01 00:07 +0000 [r395906-395907] Matthew Jordan <mjordan@digium.com>
- * channels/chan_sip.c: Raise Registry AMI events on registration
- failures This patch makes it so that all registration attempts
- that fail that also permanently modify the registration state
- will raise an appropriate AMI event. Note that this patch was
- forward ported to trunk and the Stasis Core message bus by
- mjordan. (closes issue ASTERISK-21368) Reported by: Dmitriy Serov
- patches: chan_sip.c.diff uploaded by Demon (license 6479)
- * res/res_agi.c, CHANGES: Update CONTROL STREAM FILE to accept an
- 'offsetms' parameter This patch allows starting playback of audio
- through the CONTROL STREAM FILE AGI command to start at a
- particular offset. It will also return the final position of the
- file in the 'endpos' attribute. (closes issue ASTERISK-17803)
- Reported by: Murray Melvin patches: res_agi.c.r316293.diff
- uploaded by murraytm (license 6221)
- 2013-07-31 15:43 +0000 [r395884] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip/pjsip_options.c: Found another missed "sip" ->
- "pjsip" CLI command.
- 2013-07-31 15:27 +0000 [r395881] Kinsey Moore <kmoore@digium.com>
- * tests/test_cel.c: Disable CEL tests that need rearchitecting to
- operate properly
- 2013-07-31 14:45 +0000 [r395868] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_endpoint_identifier_constant.c (removed): Remove
- "constant" endpoint identifier. This was created as a debugging
- tool before proper endpoint identifiers were created. Using it
- now can actually lead to harmful results.
- 2013-07-31 14:29 +0000 [r395866] Joshua Colp <jcolp@digium.com>
- * bridges/bridge_native_rtp.c: Fix hold/unhold in
- bridge_native_rtp, use tech_pvt instead of bridge_pvt, reduce
- bridging attempts, and fix breaking native RTP bridges. (closes
- issue ASTERISK-22128) (closes issue ASTERISK-22104)
- 2013-07-31 13:31 +0000 [r395837-395851] Kinsey Moore <kmoore@digium.com>
- * channels/chan_pjsip.c, include/asterisk/res_pjsip.h,
- include/asterisk/res_pjsip_pubsub.h,
- include/asterisk/res_pjsip_exten_state.h,
- include/asterisk/res_pjsip_session.h, configs/pjsip.conf.sample,
- res/res_pjsip/include/res_pjsip_private.h: Fix remnants of the
- pjsip renaming
- * tests/test_cel.c: Enforce conference exit order for CEL tests
- 2013-07-30 22:41 +0000 [r395810-395824] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_endpoint_identifier_ip.c: Missed a conversion to
- pjsip.conf in documentation and sorcery.
- * main/abstract_jb.c: Remove ast_bridged_channel call from
- abstract_jb.c Interestingly, this only happens in dead code.
- 2013-07-30 20:44 +0000 [r395793] David M. Lee <dlee@digium.com>
- * res/res_pjsip: Setting svn:ignore for res/res_pjsip
- 2013-07-30 19:10 +0000 [r395748-395779] Mark Michelson <mmichelson@digium.com>
- * res/res_pjsip_endpoint_identifier_constant.c: Update
- res_pjsip_endpoint_identifier_constant.c to use reorganized
- endpoint structure.
- * res/res_sip_nat.c (removed),
- res/res_pjsip_outbound_registration.c (added),
- res/res_sip_session.c (removed),
- res/res_pjsip_endpoint_identifier_anonymous.c (added),
- res/res_sip_rfc3326.c (removed), res/res_pjsip_acl.c (added),
- res/res_pjsip/pjsip_distributor.c (added),
- res/res_sip_endpoint_identifier_constant.c (removed),
- res/res_sip_mwi.c (removed), res/res_pjsip_diversion.c (added),
- res/res_sip (removed), res/res_pjsip_dtmf_info.c (added),
- res/res_sip_pubsub.c (removed),
- include/asterisk/res_pjsip_exten_state.h (added),
- res/res_pjsip_sdp_rtp.c (added), res/res_pjsip_messaging.c
- (added), res/res_pjsip_registrar_expire.c (added),
- res/res_pjsip_caller_id.c (added),
- res/res_sip_authenticator_digest.c (removed),
- res/res_sip_session.exports.in (removed),
- res/res_pjsip_exten_state.c (added), res/res_sip_logger.c
- (removed), res/res_sip.c (removed),
- res/res_pjsip_pubsub.exports.in (added),
- res/res_pjsip_endpoint_identifier_constant.c (added),
- res/res_sip_outbound_registration.c (removed),
- res/res_sip_endpoint_identifier_anonymous.c (removed),
- res/res_pjsip_pubsub.c (added), res/res_pjsip/config_transport.c
- (added), res/res_pjsip_transport_websocket.c (added),
- res/res_pjsip_registrar.c (added), channels/chan_pjsip.c (added),
- res/res_pjsip/pjsip_outbound_auth.c (added),
- res/res_pjsip/config_global.c (added), res/res_sip_acl.c
- (removed), res/res_sip_diversion.c (removed),
- res/res_pjsip_authenticator_digest.c (added),
- res/res_pjsip_session.exports.in (added), res/res_sip_dtmf_info.c
- (removed), res/res_pjsip/config_domain_aliases.c (added),
- include/asterisk/res_sip_session.h (removed), res/res_pjsip_t38.c
- (added), res/res_sip_notify.c (removed), res/res_pjsip_logger.c
- (added), res/res_pjsip/pjsip_options.c (added),
- res/res_sip_endpoint_identifier_ip.c (removed),
- res/res_sip_sdp_rtp.c (removed), res/res_sip_messaging.c
- (removed), include/asterisk/res_pjsip_pubsub.h (added),
- res/res_sip_caller_id.c (removed),
- res/res_sip_endpoint_identifier_user.c (removed),
- res/res_sip_pidf.c (removed),
- res/res_pjsip_outbound_authenticator_digest.c (added),
- res/res_sip_exten_state.c (removed),
- res/res_pjsip_one_touch_record_info.c (added),
- res/res_sip_pubsub.exports.in (removed), res/res_pjsip_refer.c
- (added), include/asterisk/res_pjsip_session.h (added),
- res/res_pjsip_notify.c (added), res/res_sip_transport_websocket.c
- (removed), res/res_sip_registrar.c (removed),
- res/res_pjsip_endpoint_identifier_ip.c (added),
- include/asterisk/res_sip.h (removed),
- res/res_pjsip/config_security.c (added), res/res_sip.exports.in
- (removed), res/Makefile, res/res_sip_exten_state.exports.in
- (removed), res/res_pjsip_endpoint_identifier_user.c (added),
- res/res_pjsip/include (added), res/res_pjsip_pidf.c (added),
- res/res_pjsip_nat.c (added), res/res_pjsip_session.c (added),
- res/res_sip_t38.c (removed), channels/chan_gulp.c (removed),
- res/res_pjsip/location.c (added), res/res_pjsip_rfc3326.c
- (added), res/res_pjsip/config_system.c (added),
- configs/pjsip.conf.sample (added),
- include/asterisk/res_sip_pubsub.h (removed), res/res_pjsip_mwi.c
- (added), res/res_pjsip/pjsip_configuration.c (added),
- res/res_sip_outbound_authenticator_digest.c (removed),
- res/res_pjsip (added), res/res_pjsip/include/res_pjsip_private.h
- (added), res/res_sip_one_touch_record_info.c (removed),
- include/asterisk/res_pjsip.h (added), res/res_pjsip/config_auth.c
- (added), res/res_pjsip.exports.in (added),
- configs/res_sip.conf.sample (removed), res/res_sip_refer.c
- (removed), res/res_pjsip_exten_state.exports.in (added),
- res/res_pjsip/security_events.c (added),
- include/asterisk/res_sip_exten_state.h (removed),
- res/res_pjsip/pjsip_global_headers.c (added), res/res_pjsip.c
- (added), res/res_sip_registrar_expire.c (removed): The large
- GULP->PJSIP renaming effort. The general gist is to have a clear
- boundary between old SIP stuff and new SIP stuff by having the
- word "SIP" for old stuff and "PJSIP" for new stuff. Here's a
- brief rundown of the changes: * The word "Gulp" in dialstrings,
- functions, and CLI commands is now "PJSIP" * chan_gulp.c is now
- chan_pjsip.c * Function names in chan_gulp.c that were "gulp_*"
- are now "chan_pjsip_*" * All files that were "res_sip*" are now
- "res_pjsip*" * The "res_sip" directory is now "res_pjsip" * Files
- in the "res_pjsip" directory that began with "sip_*" are now
- "pjsip_*" * The configuration file is now "pjsip.conf" instead of
- "res_sip.conf" * The module info for all PJSIP-related files now
- uses "PJSIP" instead of "SIP" * CLI and AMI commands created by
- Asterisk's PJSIP modules now have "pjsip" as the starting word
- instead of "sip"
- * res/res_sip/sip_options.c,
- res/res_sip_outbound_authenticator_digest.c,
- res/res_sip_outbound_registration.c, res/res_sip_mwi.c,
- res/res_sip_one_touch_record_info.c, res/res_sip_pubsub.c,
- res/res_sip_diversion.c, res/res_sip/sip_configuration.c,
- include/asterisk/res_sip.h, res/res_sip/sip_distributor.c,
- res/res_sip.exports.in, res/res_sip_authenticator_digest.c,
- res/res_sip/sip_outbound_auth.c, res/res_sip_sdp_rtp.c,
- res/res_sip_messaging.c, res/res_sip_t38.c, channels/chan_gulp.c,
- res/res_sip_caller_id.c, res/res_sip.c, res/res_sip_nat.c,
- res/res_sip_session.c: Reorganize the ast_sip_endpoint structure
- into substructures. (closes issue ASTERISK-22135) reported by
- Matt Jordan Review: https://reviewboard.asterisk.org/r/2707
- 2013-07-30 14:16 +0000 [r395731] Joshua Colp <jcolp@digium.com>
- * res/res_sip.c, res/res_sip/sip_configuration.c,
- res/res_sip_session.c, include/asterisk/res_sip.h,
- include/asterisk/res_sip_session.h,
- res/res_sip_session.exports.in, channels/chan_gulp.c,
- res/res_sip_t38.c (added): Add support for T.38 fax to
- chan_pjsip. Review: https://reviewboard.asterisk.org/r/2692/
- 2013-07-30 13:46 +0000 [r395728] Kinsey Moore <kmoore@digium.com>
- * res/res_pktccops.c: Fix compilation on gcc 4.8.1
- 2013-07-29 17:51 +0000 [r395686] David M. Lee <dlee@digium.com>
- * res/parking/parking_devicestate.c, include/asterisk/mixmonitor.h,
- main/mixmonitor.c: Removed quotes from svn:keywords props on a
- few files. Subversion doesn't do quote processing, so it actually
- thinks that the closing quote in 'Revision"' is a part of the
- keyword.
- 2013-07-29 16:16 +0000 [r395674] Mark Michelson <mmichelson@digium.com>
- * res/res_sip.c: Clarify documentation for trust of identification.
- (closes issue ASTERISK-22023) Reported by Rusty Newton
- 2013-07-29 15:58 +0000 [r395672-395673] Matthew Jordan <mjordan@digium.com>
- * main/loader.c: Put the include in there Mea culpa...
- * main/loader.c: When performing a reload, reload the new
- features_config and not the old Performing a module reload of
- core components causes specific functions compiled into the
- Asterisk binary to be reloaded. The table of said functions was
- still pointing to the old features reload mechanism, and not the
- new one.
- 2013-07-29 14:51 +0000 [r395653] Kinsey Moore <kmoore@digium.com>
- * tests/test_cel.c: Clean up and improve test_cel Improve
- reliability of attended transfer merge and link tests. Stop using
- ast_log(LOG_ERROR, ...); in favor of ast_test_status_update
- Remove fred and eve channel helpers since they are not necessary
- 2013-07-29 14:08 +0000 [r395636] David M. Lee <dlee@digium.com>
- * res/ari: Set svn:ignore in res/ari directory
- 2013-07-29 12:10 +0000 [r395619] Kinsey Moore <kmoore@digium.com>
- * res/res_sip.c: Remove comment that no longer applies The monitor
- thread is already properly torn down on unload and load failure.
- 2013-07-27 23:11 +0000 [r395588-395603] Kinsey Moore <kmoore@digium.com>
- * tests/test_ari_model.c, res/ari.make (added),
- res/ari/resource_bridges.h (added), res/ari/resource_asterisk.c
- (added), res/res_ari_endpoints.c (added),
- res/res_stasis_http_sounds.c (removed),
- res/ari/resource_asterisk.h (added), res/res_stasis_http.c
- (removed), rest-api-templates/stasis_http_resource.h.mustache
- (removed), res/res_ari.c (added),
- rest-api-templates/make_ari_stubs.py,
- rest-api-templates/ari_resource.h.mustache (added),
- res/res_ari_asterisk.c (added), res/Makefile, res/ari/internal.h
- (added), res/res_ari_model.c, res/res_stasis_http.exports.in
- (removed), res/ari/resource_playback.c (added),
- tests/test_stasis_http.c (removed), res/ari/resource_playback.h
- (added), res/ari/resource_channels.c (added),
- res/ari/ari_websockets.c (added), res/ari/resource_recordings.c
- (added), res/ari/resource_channels.h (added), tests/test_ari.c
- (added), res/ari/resource_endpoints.c (added),
- res/ari/resource_events.c (added), res/ari/resource_recordings.h
- (added), include/asterisk/stasis_http.h (removed),
- res/res_ari_playback.c (added), res/ari/resource_endpoints.h
- (added), res/ari/resource_events.h (added),
- res/ari/resource_sounds.c (added), configs/ari.conf.sample,
- include/asterisk/ari.h (added), res/res_ari_channels.c (added),
- rest-api-templates/stasis_http.make.mustache (removed),
- res/stasis_http.make (removed), res/ari/resource_sounds.h
- (added), res/res_ari_recordings.c (added),
- rest-api-templates/ari.make.mustache (added),
- res/res_ari_events.c (added), res/res_statsd.c,
- res/res_stasis_http_bridges.c (removed), res/res_ari_sounds.c
- (added), rest-api-templates/ari_model_validators.c.mustache,
- res/res_ari_bridges.c (added), res/res_stasis_http_asterisk.c
- (removed), res/stasis_http (removed),
- rest-api-templates/res_stasis_http_resource.c.mustache (removed),
- main/stasis_config.c, rest-api-templates/rest_handler.mustache,
- res/ari (added), rest-api-templates/res_ari_resource.c.mustache
- (added), res/ari/ari_model_validators.c (added),
- res/ari/ari_model_validators.h (added), res/res_ari.exports.in
- (added), rest-api-templates/stasis_http_resource.c.mustache
- (removed), res/ari/config.c (added),
- rest-api-templates/ari_resource.c.mustache (added), res/ari/cli.c
- (added), res/res_stasis_http_playback.c (removed),
- rest-api-templates/ari_model_validators.h.mustache,
- res/res_stasis_http_channels.c (removed),
- res/res_ari_model.exports.in, res/res_stasis_http_recordings.c
- (removed), res/res_stasis_http_endpoints.c (removed),
- res/ari/resource_bridges.c (added), res/res_stasis_http_events.c
- (removed): Rename everything Stasis-HTTP to ARI This renames all
- files and API calls from several variants of Stasis-HTTP to ARI
- including: * Stasis-HTTP -> ARI * STASIS_HTTP -> ARI *
- stasis_http -> ari (ast_ari for global symbols, file names as
- well) * stasis http -> ARI Review:
- https://reviewboard.asterisk.org/r/2706/ (closes issue
- ASTERISK-22136)
- * tests/test_cel.c: Improve reliability of bridge merge CEL test
- 2013-07-26 21:34 +0000 [r395559-395574] Richard Mudgett <rmudgett@digium.com>
- * bridges/bridge_builtin_features.c, main/parking.c, main/bridge.c,
- main/bridge_basic.c, main/features.c,
- bridges/bridge_builtin_interval_features.c,
- apps/app_bridgewait.c, apps/app_confbridge.c,
- include/asterisk/bridge_features.h, include/asterisk/parking.h,
- main/bridge_channel.c, res/parking/parking_bridge_features.c,
- apps/app_agent_pool.c, apps/confbridge/conf_config_parser.c:
- Remove the unsafe bridge parameter from
- ast_bridge_hook_callback's. Most hook callbacks did not need the
- bridge parameter. The pointer value could become invalid if the
- channel is moved to another bridge while it is executing. * Fixed
- some issues in feature_attended_transfer() as a result. * Reduce
- the bridge inhibit count in
- attended_transfer_properties_shutdown() after it has restored the
- bridge channel hooks. * Removed basic bridge requirement on
- feature_blind_transfer(). It does not require the basic bridge
- like feature_attended_transfer().
- * include/asterisk/bridge_features.h,
- res/parking/parking_bridge_features.c, main/bridge.c,
- bridges/bridge_builtin_interval_features.c,
- apps/app_bridgewait.c: Improved feature limits interval hook
- implementaion. * Fixed feature limits to not use special members
- of struct ast_bridge_features. * Fixed memory leak in off nominal
- paths of bridge_builtin_set_limits(). * Fixed off nominal path in
- ast_bridge_features_limits_construct() freeing unallocated memory
- if it was not called by bridge_builtin_set_limits(). * Made
- bridge_builtin_interval_features.so unloadable. * Simplified
- parking's use of its duration interval hook. * Made BridgeWait S
- option not depend upon another module being loaded. (closes issue
- ASTERISK-22107) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2701/
- 2013-07-26 17:42 +0000 [r395527] David M. Lee <dlee@digium.com>
- * res/stasis_http/resource_events.c, res/stasis/app.c: Fix
- /stasis/res/app_replaced unit test. A typo in recent changes
- caused the JSON ApplicationReplaced message to fail to build, so
- the message wasn't being sent out the WebSocket. Related, the
- replaced application would also unregister itself when it
- disconnected, which would actually unregister the new
- application. This was also fixed.
- 2013-07-26 16:34 +0000 [r395509] Jonathan Rose <jrose@digium.com>
- * main/bridge_channel.c, include/asterisk/bridge.h,
- include/asterisk/bridge_channel_internal.h, main/bridge.c,
- apps/app_bridgewait.c: Add name argument to BridgeWait() so
- multiple holding bridges may be used Changes arguments for
- BridgeWait from BridgeWait(role, options) to
- BridgeWait(bridge_name, role, options). Now multiple holding
- bridges may be created and referenced by this application.
- (closes issue ASTERISK-21922) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2642/
- 2013-07-26 00:03 +0000 [r395466-395477] Richard Mudgett <rmudgett@digium.com>
- * apps/app_bridgewait.c: Remove some unnecessary parentheses.
- * bridges/bridge_builtin_interval_features.c: Revision
- 2013-07-25 20:54 +0000 [r395439-395455] Joshua Colp <jcolp@digium.com>
- * res/res_sip_session.c: Fix crash due to trying to send a
- re-invite while in the incorrect state. This crash would occur if
- a re-invite was queued while the initial INVITE transaction was
- still occurring and the response to the INVITE was not ACKed.
- This lack of ACK would cause the INVITE session state to never
- reach confirmed. Once the transaction terminated, however, the
- queued re-invite would occur and cause a crash due to this lack
- of state change. This fix checks the INVITE session state before
- performing the re-invite to ensure it is in the required
- confirmed state.
- * res/res_sip.c, res/res_sip/sip_configuration.c: Change the
- default value for "allowsubscribe" to yes to match chan_sip.
- 2013-07-25 18:27 +0000 [r395430] Richard Mudgett <rmudgett@digium.com>
- * main/stasis_bridges.c, include/asterisk/bridge_after.h,
- include/asterisk/bridge_channel_internal.h,
- main/manager_bridges.c, include/asterisk/bridge_channel.h,
- main/bridge_after.c, include/asterisk/bridge_technology.h,
- include/asterisk/bridge_internal.h,
- include/asterisk/bridge_features.h, main/bridge_channel.c,
- include/asterisk/bridge.h, include/asterisk/bridge_basic.h,
- include/asterisk/bridge_roles.h, main/bridge.c,
- main/bridge_basic.c, include/asterisk/stasis_bridges.h,
- main/bridge_roles.c: Restore bridging files history.
- 2013-07-25 15:29 +0000 [r395367-395410] Matthew Jordan <mjordan@digium.com>
- * main/features.c, include/asterisk/features.h: Remove some dead
- parking call Since nothing is using these global parking
- functions, remove them! The first of many.
- * main/features.c: Remove dead bridging code from features This
- removes the previously #if 0'd code. The functionality removed
- has either been subsumed by the Bridging API or is no longer
- applicable.
- * main/cli.c, main/cdr.c, main/manager_bridges.c, main/manager.c,
- res/stasis_http/resource_bridges.c, tests/test_cel.c,
- res/res_stasis.c, main/stasis_bridges.c, tests/test_cdr.c: Fix
- incorrect reference to stasis/bridging.h
- * include/asterisk/stasis_bridges.h (added),
- include/asterisk/bridging_after.h (removed),
- bridges/bridge_simple.c, main/core_local.c,
- res/parking/parking_bridge_features.c,
- res/parking/parking_bridge.c, main/cli.c, main/manager_bridges.c
- (added), include/asterisk/bridging_technology.h (removed),
- apps/confbridge/include/confbridge.h, channels/chan_skinny.c,
- include/asterisk/bridging_features.h (removed),
- main/bridge_after.c (added), main/stasis_channels.c,
- include/asterisk/bridge_features.h (added), main/bridge_channel.c
- (added), res/parking/parking_manager.c, channels/chan_mgcp.c,
- channels/chan_unistim.c, include/asterisk/bridge_roles.h (added),
- channels/chan_bridge_media.c, main/bridge.c (added),
- res/parking/parking_controller.c, apps/app_bridgewait.c,
- res/stasis_http/resource_bridges.c,
- res/parking/parking_applications.c,
- include/asterisk/bridging_channel_internal.h (removed),
- main/cel.c, apps/app_queue.c, include/asterisk/stasis_bridging.h
- (removed), main/stasis_bridges.c (added), main/bridging_after.c
- (removed), res/res_stasis_bridge_add.c,
- include/asterisk/bridge_channel_internal.h (added),
- channels/chan_dahdi.c, channels/sig_analog.c,
- include/asterisk/bridging_internal.h (removed),
- apps/confbridge/confbridge_manager.c, main/manager_bridging.c
- (removed), tests/test_cel.c, include/asterisk/bridge_internal.h
- (added), include/asterisk/bridging_roles.h (removed),
- apps/confbridge/conf_chan_announce.c,
- include/asterisk/bridge_basic.h (added),
- include/asterisk/core_unreal.h, main/parking.c,
- res/stasis/control.c, bridges/bridge_holding.c,
- channels/chan_sip.c, bridges/bridge_softmix.c,
- main/bridge_roles.c (added), channels/chan_iax2.c,
- apps/app_agent_pool.c, include/asterisk/bridging_channel.h
- (removed), apps/confbridge/conf_config_parser.c,
- include/asterisk/features.h, main/channel.c,
- res/parking/res_parking.h, main/manager.c, channels/chan_misdn.c,
- main/stasis_bridging.c (removed), include/asterisk/bridging.h
- (removed), bridges/bridge_builtin_interval_features.c,
- include/asterisk/bridging_basic.h (removed),
- include/asterisk/bridge_technology.h (added),
- bridges/bridge_native_rtp.c, tests/test_cdr.c,
- include/asterisk/doxygen/architecture.h, main/bridging_roles.c
- (removed), res/res_sip_refer.c, main/bridge_basic.c (added),
- apps/confbridge/conf_chan_record.c, main/core_unreal.c,
- channels/sig_pri.c, include/asterisk/bridge_after.h (added),
- bridges/bridge_builtin_features.c,
- channels/dahdi/bridge_native_dahdi.c,
- res/stasis_http/resource_channels.c,
- include/asterisk/bridge_channel.h (added), funcs/func_channel.c,
- main/bridging_channel.c (removed), apps/app_dumpchan.c,
- main/features.c, apps/app_confbridge.c, include/asterisk/bridge.h
- (added), main/bridging.c (removed), main/bridging_basic.c
- (removed), apps/app_dial.c: A great big renaming patch This patch
- renames the bridging* files to bridge*. This may seem pedantic
- and silly, but it fits better in line with current Asterisk
- naming conventions: * channel is not "channeling" * monitor is
- not "monitoring" etc. A bridge is an object. It is a first class
- citizen in Asterisk. "Bridging" is the act of using a bridge on a
- set of channels - and the API that fulfills that role is more
- than just the action. (closes issue ASTERISK-22130)
- * include/asterisk/bridging_features.h, funcs/func_channel.c,
- main/bridging_channel.c, main/features.c,
- include/asterisk/bridging.h,
- bridges/bridge_builtin_interval_features.c, main/bridging.c,
- main/bridging_basic.c, apps/app_dial.c,
- include/asterisk/bridging_after.h (added),
- bridges/bridge_softmix.c,
- include/asterisk/bridging_channel_internal.h, apps/app_queue.c,
- res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
- include/asterisk/bridging_channel.h, main/bridging_after.c
- (added), include/asterisk/bridging_technology.h,
- include/asterisk/bridging_internal.h,
- bridges/bridge_builtin_features.c: Move after bridge callbacks
- into their own file One more major refactoring to go.
- 2013-07-25 00:44 +0000 [r395351] Joshua Colp <jcolp@digium.com>
- * res/res_sip/sip_distributor.c, channels/chan_gulp.c,
- res/res_sip_session.c: Improve initial INVITE handling and fix
- crash due to rapidly arriving CANCEL. (closes issue
- ASTERISK-22150) Review: https://reviewboard.asterisk.org/r/2696/
- 2013-07-24 23:40 +0000 [r395316-395340] Richard Mudgett <rmudgett@digium.com>
- * main/bridging.c, include/asterisk/bridging_features.h,
- main/bridging_channel.c,
- include/asterisk/bridging_channel_internal.h: Simplify interval
- hooks since there is only one bridge threading model now. *
- Convert interval timers to use the ast_waitfor_nandfds() timeout.
- * Remove bridge channel action for intervals. Now the main loop
- handles running interval hooks.
- * main/bridging.c, include/asterisk/bridging_features.h,
- main/bridging_channel.c, apps/app_confbridge.c: Refactor
- ast_bridge_features struct. * Reduced the number of hook
- containers to just dtmf_hooks, interval_hooks, and other_hooks.
- As a result, several functions dealing with the different hook
- containers could be combined. * Extended the generic hook struct
- for DTMF and interval hooks instead of using a variant record. *
- Merged the special talk detector hook into the other_hooks
- container. * Replaced ast_bridge_features_set_talk_detector()
- with ast_bridge_talk_detector_hook(). (issue ASTERISK-22107)
- * main/features.c: * Refactor setup_bridge_features_builtin(). *
- Add an error message so you know when a feature is not available
- and you tried to use it. It usually means the module has not been
- loaded.
- 2013-07-24 19:32 +0000 [r395295-395298] Matthew Jordan <mjordan@digium.com>
- * main/asterisk.exports.in: Export exports.in as well Because is is
- rather needed.
- * main/bridging.c, res/parking/parking_bridge_features.c,
- apps/app_agent_pool.c, include/asterisk/bridging_channel.h,
- main/bridging_basic.c, bridges/bridge_builtin_features.c,
- include/asterisk/bridging_features.h, main/bridging_channel.c,
- bridges/bridge_builtin_interval_features.c,
- include/asterisk/bridging_channel_internal.h: Update
- bridge_channel refactorings; export bridge_ symbol
- 2013-07-24 18:51 +0000 [r395283] Jason Parker <jparker@digium.com>
- * contrib/scripts/install_prereq: Add pjproject to install_prereq.
- Also fixes spacing, in passing. (closes issue ASTERISK-22131)
- 2013-07-24 18:08 +0000 [r395267-395271] Kinsey Moore <kmoore@digium.com>
- * res/res_sip.c: Tweak another magic number
- * main/manager_bridging.c: Make AMI BridgeInfo action more verbose
- Ensure that the BridgeInfo command provides adequate state
- information about channels by publishing the full channel
- snapshot for BridgeInfoChannel subevents. This prevents a
- two-stage lookup since most consumers will be keying on channel
- names instead of uniqueids. (closes issue ASTERISK-22140)
- * res/res_sip/sip_global_headers.c: Tweak a magic number (closes
- issue ASTERISK-22146)
- 2013-07-24 16:01 +0000 [r395254-395255] Richard Mudgett <rmudgett@digium.com>
- * main/bridging_channel.c,
- include/asterisk/bridging_channel_internal.h,
- include/asterisk/bridging_channel.h, main/channel.c: Add missing
- end-of-file line terminators.
- * bridges/bridge_native_rtp.c: Add missing line terminator to debug
- message.
- 2013-07-24 15:38 +0000 [r395253] Matthew Jordan <mjordan@digium.com>
- * include/asterisk/bridging_channel_internal.h (added),
- res/parking/parking_bridge_features.c, apps/app_agent_pool.c,
- include/asterisk/bridging_channel.h (added),
- res/parking/parking_bridge.c, include/asterisk/features.h,
- main/channel.c, include/asterisk/bridging_technology.h,
- include/asterisk/bridging_internal.h,
- bridges/bridge_builtin_features.c, main/bridging_channel.c
- (added), main/features.c, include/asterisk/bridging.h,
- bridges/bridge_builtin_interval_features.c, main/bridging.c,
- main/bridging_basic.c, include/asterisk/channel.h: Perform the
- initial renaming of the Bridging API This patch does the
- following: * It pulls out bridge_channel and puts it into its own
- translation unit * It adds public and protected headers for
- bridging_channel. Protected functions are appropriate only for
- the Bridging API and sub-classes of a bridge. (issue
- ASTERISK-22130)
- 2013-07-24 14:35 +0000 [r395243] Richard Mudgett <rmudgett@digium.com>
- * main/bridging.c: Let the compiler do more type checking with
- bridge hook callbacks.
- 2013-07-23 22:32 +0000 [r395227] Joshua Colp <jcolp@digium.com>
- * bridges/bridge_native_rtp.c: Fix a check in bridge_native_rtp
- which determined if attaching the framehook failed or not.
- 2013-07-23 21:32 +0000 [r395215] Jonathan Rose <jrose@digium.com>
- * funcs/func_channel.c, include/asterisk/bridging_basic.h,
- main/bridging_basic.c: func_channel: dtmf_features setting Allows
- reading andsetting dtmf features via a channel function
- CHANNEL(dtmf_features) (closes issue ASTERISK-21876) Reported by:
- Matt Jordan Review: https://reviewboard.asterisk.org/r/2648/
- 2013-07-23 21:14 +0000 [r395203-395205] Joshua Colp <jcolp@digium.com>
- * bridges/bridge_native_rtp.c: Add some debug messages to make it
- clear what RTP bridging functionality is in use.
- * bridges/bridge_native_rtp.c: Fix some logic so native RTP bridge
- will occur when monitor, audiohooks, or framehooks are not
- present.
- 2013-07-23 19:14 +0000 [r395188] Richard Mudgett <rmudgett@digium.com>
- * bridges/bridge_softmix.c, main/bridging.c,
- include/asterisk/bridging.h: Pull softmix bridge parameters into
- a sub structure.
- 2013-07-23 18:41 +0000 [r395183] Joshua Colp <jcolp@digium.com>
- * channels/chan_gulp.c: Drop the reference count on the correct
- object.
- 2013-07-23 18:41 +0000 [r395154-395182] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_dahdi.c, main/utils.c: Reinclude sys/stat.h in
- chan_dahdi.c and remove redundant include in utils.c
- * channels/chan_dahdi.h, channels/chan_mgcp.c,
- channels/chan_dahdi.c, channels/dahdi/bridge_native_dahdi.c: Some
- chan_dahdi protected function renaming. analog_lib_handles -->
- dahdi_analog_lib_handles enable_dtmf_detect -->
- dahdi_dtmf_detect_enable disable_dtmf_detect -->
- dahdi_dtmf_detect_disable dahdi_enable_ec --> dahdi_ec_enable
- dahdi_disable_ec --> dahdi_ec_disable update_conf -->
- dahdi_conf_update dahdi_link --> dahdi_master_slave_link
- dahdi_unlink --> dahdi_master_slave_unlink (closes issue
- ASTERISK-22129) Reported by: rmudgett
- * channels/chan_dahdi.c, channels/dahdi/bridge_native_dahdi.c,
- channels/chan_dahdi.h (added), channels/dahdi (added),
- channels/dahdi/bridge_native_dahdi.h, bridges/bridge_softmix.c,
- channels/Makefile, main/bridging.c: Restore chan_dahdi native
- bridging and PRI tromboned call elimination. Created a
- native_dahdi bridging technology for use with the new bridging
- API. The new bridging technology is part of the chan_dahdi
- channel driver because it is very specific to that driver. Rather
- than include the new code directly into chan_dahdi.c the new
- bridge technology is in its own file and linked into
- chan_dahdi.so. A large part of this change is the mechanical
- process of moving declarations around so chan_dahdi.c can be
- split up into more files later. * Changed the bridging core to
- pass NULL frames into the channel technologies instead of
- discarding them. The channel technologies may need the proding to
- determine if their configuration is still valid. (closes issue
- ASTERISK-21886) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2681/
- 2013-07-23 15:28 +0000 [r395151] Mark Michelson <mmichelson@digium.com>
- * main/bridging_roles.c, include/asterisk/bridging_internal.h
- (added), bridges/bridge_builtin_features.c,
- main/stasis_bridging.c, include/asterisk/bridging_features.h,
- include/asterisk/features_config.h, include/asterisk/bridging.h,
- main/features.c, include/asterisk/bridging_roles.h, main/cel.c,
- main/features_config.c, include/asterisk/stasis_bridging.h,
- main/bridging.c, main/bridging_basic.c: Make DTMF attended
- transfer support feature-complete. This greatly modifies the
- operation of DTMF attended transfers so that the full range of
- options from features.conf applies. In addition, a new option has
- been added that allows for a transferer to switch between bridges
- during a transfer before completing the transfer. (closes issue
- ASTERISK-21543) reported by Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2654
- 2013-07-23 14:57 +0000 [r395136] David M. Lee <dlee@digium.com>
- * res/res_stasis_http_channels.c, res/res_stasis_http_sounds.c,
- res/res_stasis_http_bridges.c, res/res_stasis_http_recordings.c,
- res/res_stasis_http.c, res/res_stasis_http_endpoints.c,
- res/res_stasis_http_asterisk.c, res/res_stasis_http_playback.c,
- rest-api-templates/res_stasis_http_resource.c.mustache: No more
- teapots. Now that the ARI implementation is nearing some
- definition of completeness, we should properly respond with 501's
- for unimplemented functionality, instead of the almost humorous
- 418.
- 2013-07-23 14:49 +0000 [r395135] Matthew Jordan <mjordan@digium.com>
- * main/channel.c: Kill the zombies In previous versions of
- Asterisk, the zombies roamed freely, unchecked and uncontrolled.
- They ravaged Asterisk systems with their biting and their nashing
- and their pointy teeth. Sometimes, you couldn't even hang them
- up. Now, zombies are rare. They still *technically* exist in
- certain places, but they are controlled. Kind of like a zombie
- zoo: you can see them, but you can't touch them, and they can't
- touch you. Bring your kids! Because zombies are now population
- controlled with a very short lifespan, there's no reason to
- rename the channels to '%s<ZOMBIE>'. The channels are guaranteed
- to die off quickly; the rename really is just confusing at this
- point. This patch finally removes the renaming. On the plus side:
- this made my life easier in CDRs during call pickup and attended
- transfers to an Asterisk application. It will make other folks
- lives easier as well! Review:
- https://reviewboard.astierks.org/r/2690/ (closes issue
- ASTERISK-21699) Reported by: Matt Jordan
- 2013-07-23 13:52 +0000 [r395121] Kinsey Moore <kmoore@digium.com>
- * res/res_sip_sdp_rtp.c, channels/chan_gulp.c, res/res_sip.c,
- channels/chan_sip.c, res/res_sip/sip_configuration.c,
- res/res_sip_session.c, include/asterisk/res_sip.h,
- include/asterisk/res_sip_session.h: Add DTLS-SRTP support to
- chan_pjsip This patch introduces DTLS-SRTP support to chan_pjsip
- and the options necessary to configure it including an option to
- allow choosing between 32 and 80 byte SRTP tag lengths. During
- the implementation and testing of this patch, three other bugs
- were found and their fixes are included with this patch. The two
- in chan_sip were a segfault relating to DTLS setup and mistaken
- call rejection. The third bug fix prevents chan_pjsip from
- attempting to perform bridge optimization between two endpoints
- if either of them is running any form of SRTP. Review:
- https://reviewboard.asterisk.org/r/2683/ (closes issue
- ASTERISK-21419)
- 2013-07-23 13:42 +0000 [r395118-395120] David M. Lee <dlee@digium.com>
- * res/stasis/app.h, res/res_stasis.c, res/stasis/app.c: Continue
- events when ARI WebSocket reconnects This patch addresses a bug
- in the /ari/events WebSocket in handling reconnects. When a
- Stasis application's associated WebSocket was disconnected and
- reconnected, it would not receive events for any channels or
- bridges it was subscribed to. The fix was to lazily clean up
- Stasis application registrations, instead of removing them as
- soon as the WebSocket goes away. When an application is
- unregistered at the WebSocket level, the underlying application
- is simply deactivated. If the application WebSocket is
- reconnected, the application is reactivated for the new
- connection. To avoid memory leaks from lingering, unused
- application, the application list is cleaned up whenever new
- applications are registered/unregistered. (closes issue
- ASTERISK-21970) Review: https://reviewboard.asterisk.org/r/2678/
- * main/manager_bridging.c,
- include/asterisk/stasis_message_router.h, tests/test_stasis.c,
- main/manager_channels.c, main/cdr.c,
- main/stasis_message_router.c: Fix bridge/channel AMI event
- ordering issues The stasis_cache_update messages are somewhat
- cumbersome to handle with the stasis_message_router. Since all
- updates have the same message type, they are normally handled
- with the same route. Since caching itself is a first class
- component of stasis-core, it makes sense for the router to handle
- the cache update messages itself. This patch adds
- stasis_message_router_add_cache_update() and
- stasis_message_router_remove_cache_update() to handle the routing
- of stasis_cache_update messages. This patch also corrects an
- issue with manager_{bridging,channels}.c, where events might be
- reordered. The reordering occurs because the components use
- different message routers, which they needed because they both
- needed to route cache update messages. They now both use
- manager's router, and add cache routes for just the cache updates
- they are interested in. (closes issue ASTERISK-22038) Review:
- https://reviewboard.asterisk.org/r/2677/
- 2013-07-23 12:56 +0000 [r395107] Kinsey Moore <kmoore@digium.com>
- * res/res_sip/sip_options.c: Add missing newline
- 2013-07-23 12:27 +0000 [r395102] Joshua Colp <jcolp@digium.com>
- * channels/chan_gulp.c, res/res_sip_session.c,
- include/asterisk/res_sip_session.h,
- res/res_sip_session.exports.in: Expose the chan_pjsip
- implementation pvt and session in a defined manner. This allows
- modules outside of chan_pjsip itself to get the session given
- only an Asterisk channel. Review:
- https://reviewboard.asterisk.org/r/2674/
- 2013-07-23 00:16 +0000 [r395089] Matthew Jordan <mjordan@digium.com>
- * main/cdr.c: Fix unbalanced lock when serializing CDR variables
- I'm only surprised that this didn't cause larger problems.
- 2013-07-23 00:02 +0000 [r395088] Richard Mudgett <rmudgett@digium.com>
- * main/bridging.c: Remove some BUGBUG notes that have been handled.
- 2013-07-22 20:42 +0000 [r395074] Kinsey Moore <kmoore@digium.com>
- * tests/test_cel.c: Make the CEL blind transfer test pass
- consistently
- 2013-07-22 13:52 +0000 [r394881-395034] Matthew Jordan <mjordan@digium.com>
- * /, main/asterisk.c: Update copyright year to 2013 in asterisk.c;
- some whitespace fixes (closes issue ASTERISK-22179) Reported by:
- Malcolm Davenport ........ Merged revisions 395032 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 395033 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * funcs/func_channel.c, /: Clean up documentation This patch cleans
- up documentation in func_channel for the following items: *
- rtpsource * secure_signaling * secure_media * various OOH323
- parameters (closes issue ASTERISK-20969) Reported by: snuffy
- patches: func_chan-update.diff uploaded by snuffy (License 5024)
- ........ Merged revisions 394980 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 394981 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, configs/indications.conf.sample: Provide proper ring tone in
- indications.conf for Malaysia The ring tone provided in the
- sample indications.conf was incorrect. This patch modifies the
- sample ring tone to be what it should: ring =
- 425/400,0/200,425/400,0/2000 This brings it in line with the tone
- definition in DAHDI 2.7.0. (zonedata.c) (closes issue
- ASTERISK-21997) Reported by: Filip Jenicek patches:
- malaysia_ring.patch uploaded by phill (License 6277) ........
- Merged revisions 394940 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 394941 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * contrib/scripts/safe_asterisk, Makefile,
- configs/safe_asterisk.conf.sample (added), CHANGES: Always
- install safe_asterisk; add configuration file support This patch
- modifies the behavior of safe_asterisk in two ways: (1) It
- modifies the Asterisk Makefile such that safe_asterisk is always
- installed on a 'make install'. This was done as bugfixes in the
- safe_asterisk script were not applied in previous version of
- Asterisk without first removing the old version of the script.
- (2) In order to keep a newly installed version of safe_asterisk
- from impacting local modifications, a new config file -
- safe_asterisk.conf.sample - has been provided. Settings that were
- previously modified in safe_asterisk can be set there instead.
- (closes issue ASTERISK-21965) Reported by: Jeremy Kister patches:
- safe_asterisk.patch uploaded by jkister (License 6232)
- * /, main/http.c: Tolerate presence of RFC2965 Cookie2 header by
- ignoring it This patch modifies parsing of cookies in Asterisk's
- http server by doing an explicit comparison of the "Cookie"
- header instead of looking at the first 6 characters to determine
- if the header is a cookie header. This avoids parsing "Cookie2"
- headers and overwriting the previously parsed "Cookie" header.
- Note that we probably should be appending the cookies in each
- "Cookie" header to the parsed results; however, while clients can
- send multiple cookie headers they never really do. While this
- patch doesn't improve Asterisk's behavior in that regard, it
- shouldn't make it any worse either. Note that the solution in
- this patch was pointed out on the issue by the issue reporter,
- Stuart Henderson. (closes issue ASTERISK-21789) Reported by:
- Stuart Henderson Tested by: mjordan, Stuart Henderson ........
- Merged revisions 394899 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 394900 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, contrib/realtime/postgresql/realtime.sql: Update PostgreSQL
- realtime scripts with schema for queue_log table This patch
- updates the realtime SQL scripts with an entry that will create
- the queue_log table. This brings the PostgreSQL scripts inline
- with the MySQL scripts, with respect to what tables they will
- create. (closes issue ASTERISK-21021) Reported by: Eugene
- patches: queue_log.sql uploaded by varnav (license 6360) ........
- Merged revisions 394896 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 394897 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/iax2/parser.c: Add additional control frame types to the
- IAX2 parser for debug messages This patch adds some of the more
- recent control frame types to the IAX2 parser. When IAX2
- debugging is enabled, it will now show more of the control frame
- types. (closes issue ASTERISK-22120) Reported by: Birger "WIMPy"
- Harzenetter patches: iaxcmds.diff uploaded by wimpy
- * /, configs/iax.conf.sample: Document connectedline parameter for
- chan_iax2 The connectedline parameter for a chan_iax2 peer was
- undocumented. This patch documents the options in the sample
- configuration file. (closes issue ASTERISK-21953) Reported by:
- Birger "WIMPy" Harzenetter ........ Merged revisions 394886 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 394890 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/manager.c, CHANGES: Allow setting allowmultiplelogin on an
- account basis This patch modifies manager to allow the
- allowmultiplelogin setting to be set on an account by account
- basis. When set in the general context, it will act as the
- default for the defined accounts. Setting it in the account will
- override the general setting. (closes issue ASTERISK-21324)
- Reported by: vldmr patches:
- asterisk-manager-per-user-allowmultiplelogin.patch uploaded by
- vldmr (License 6487)
- 2013-07-20 13:25 +0000 [r394858-394870] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/cel.h, tests/test_cel.c, CHANGES, main/cel.c,
- main/asterisk.c: Add CEL local optimization record type This adds
- a new CEL event type, AST_CEL_LOCAL_OPTIMIZE, to represent local
- channel optimizations. Local channel optimizations were one of
- several things conveyed by the now defunct BRIDGE_UPDATE event
- type. This also adds a unit test to test generation of this new
- CEL event. Review: https://reviewboard.asterisk.org/r/2676/
- * tests/test_cel.c, CHANGES, apps/app_queue.c, main/cel.c,
- apps/app_dial.c, main/channel.c, channels/chan_dahdi.c,
- main/pbx.c, channels/sig_analog.c, channels/chan_sip.c,
- include/asterisk/cel.h, apps/app_celgenuserevent.c,
- apps/app_directed_pickup.c, main/features.c: Add transfer support
- to CEL This adds CEL support for blind and attended transfers and
- call pickup. During the course of adding this functionality I
- noticed that CONF_ENTER, CONF_EXIT, and BRIDGE_TO_CONF events are
- particularly useless without a bridge identifier, so I added that
- as well. This adds tests for blind transfers, several types of
- attended transfers, and call pickup. The extra field in CEL
- records now consists of a JSON blob whose fields are defined on a
- per-event basis. Review: https://reviewboard.asterisk.org/r/2658/
- (closes issue ASTERISK-21565)
- 2013-07-20 01:11 +0000 [r394825-394846] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/astobj2.h: Regroup the ao2 search_flags. Moved
- the OBJ_POINTER, OBJ_KEY, and OBJ_PARTIAL_KEY flags together into
- a field and renamed them to OBJ_SEARCH_OBJECT, OBJ_SEARCH_KEY,
- and OBJ_SEARCH_PARTIAL_KEY respectively. The values were selected
- to keep existing code compiling and working until the codebase
- can be changed to stop using these values as bit flags and use
- them as an enum field. The old names are defined to the new names
- for backward compatibility.
- * main/audiohook.c, main/channel.c, include/asterisk/audiohook.h:
- Minor optimizations. * Made ast_audiohook_detach_list() and
- ast_audiohook_write_list_empty() NULL tolerant. * Made
- ast_audiohook_detach_list() return void since it is a destructor.
- * main/bridging.c, main/channel.c, include/asterisk/channel.h,
- bridges/bridge_native_rtp.c: Extract a repeated test into
- ast_channel_has_audio_frame_or_monitor().
- 2013-07-19 19:40 +0000 [r394809-394810] Jonathan Rose <jrose@digium.com>
- * res/stasis/control.c, res/stasis_http/resource_channels.c,
- res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
- res/stasis_http/resource_channels.h,
- rest-api/api-docs/channels.json: ARI: MOH start and stop for a
- channel (issue ASTERISK-21974) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2680/
- * rest-api/api-docs/channels.json, res/res_stasis_http_bridges.c,
- res/res_stasis.c, rest-api/api-docs/recordings.json,
- include/asterisk/core_unreal.h, res/res_stasis_http_playback.c,
- res/res_stasis_playback.c, channels/chan_bridge_media.c (added),
- res/stasis/control.c, res/stasis_http/ari_model_validators.c,
- res/res_stasis_http_channels.c, main/core_unreal.c,
- include/asterisk/stasis_app.h,
- res/stasis_http/resource_bridges.c,
- res/stasis_http/ari_model_validators.h,
- res/stasis_http/resource_bridges.h,
- include/asterisk/stasis_app_playback.h,
- rest-api/api-docs/bridges.json, include/asterisk/logger.h,
- res/stasis_http/resource_channels.c,
- rest-api/api-docs/playback.json: ARI: Bridge Playback, Bridge
- Record Adds a new channel driver for creating channels for
- specific purposes in bridges, primarily to act as either
- recorders or announcers. Adds ARI commands for playing
- announcements to ever participant in a bridge as well as for
- recording a bridge. This patch also includes some
- documentation/reponse fixes to related ARI models such as
- playback controls. (closes issue ASTERISK-21592) Reported by:
- Matt Jordan (closes issue ASTERISK-21593) Reported by: Matt
- Jordan Review: https://reviewboard.asterisk.org/r/2670/
- 2013-07-19 19:23 +0000 [r394795-394808] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/channel.h, main/stasis_channels.c, main/cel.c,
- apps/confbridge/conf_chan_announce.c, main/manager_channels.c,
- res/parking/parking_manager.c, main/cdr.c,
- include/asterisk/stasis_channels.h,
- apps/confbridge/conf_chan_record.c,
- apps/confbridge/confbridge_manager.c, main/manager_bridging.c:
- Filter channels used as internal mechanisms This adds new flags
- to the channel tech properties that flag it as different types of
- implementation detail used exclusively to provide a feature.
- Examples of channels that would have these flags include the
- announcement and recording channels used by confbridge which are
- the only two marked as such by this patch. Review:
- https://reviewboard.asterisk.org/r/2633/ (closes issue
- ASTERISK-21873)
- * channels/chan_sip.c: Fix crash when using temporary peers
- Temporary peers do not have an associated Stasis endpoint and
- quite a bit of code in chan_sip assumes that all peers have a
- Stasis endpoint. All endpoint accesses in chan_sip are now
- wrapped in an endpoint NULL-check.
- 2013-07-19 18:00 +0000 [r394793] Jason Parker <jparker@digium.com>
- * main/stasis_system.c, main/ccss.c,
- include/asterisk/stasis_system.h: Convert CCSS manager events to
- stasis. (closes issue ASTERISK-21473) Review:
- https://reviewboard.asterisk.org/r/2682/
- 2013-07-19 17:55 +0000 [r394776-394791] Richard Mudgett <rmudgett@digium.com>
- * main/bridging.c: Made audiohooks, framehooks, and monitor prevent
- local channel optimization. Audiohooks, framehooks, and monitor
- represent state on a local channel that will go away if it is
- optimized out. (closes issue ASTERISK-21954) Reported by:
- rmudgett Review: https://reviewboard.asterisk.org/r/2685/
- * include/asterisk/channel.h: Fixup doxygen on ast_hangup().
- 2013-07-18 19:25 +0000 [r394759] Mark Michelson <mmichelson@digium.com>
- * res/res_sip_session.c, res/res_sip/sip_global_headers.c (added),
- res/res_sip/config_system.c (added),
- res/res_sip_one_touch_record_info.c, res/res_sip_mwi.c,
- res/res_sip_pubsub.c, res/res_sip/config_transport.c,
- res/res_sip/sip_configuration.c, res/res_sip_refer.c,
- include/asterisk/res_sip.h, res/res_sip/config_global.c (added),
- res/res_sip/include/res_sip_private.h, res/res_sip.exports.in,
- res/res_sip_sdp_rtp.c, channels/chan_gulp.c,
- res/res_sip_caller_id.c, res/res_sip.c: Add a bunch of options
- from sip.conf to res_sip.conf For a complete list of the options
- added, see the review linked at the bottom of this commit
- message. (closes issue ASTERISK-21506) reported by Matt Jordan
- Review: https://reviewboard.asterisk.org/r/2671
- 2013-07-18 18:05 +0000 [r394744] David M. Lee <dlee@digium.com>
- * res/res_http_websocket.c: Fixed null dereference when WebSocket
- subprotocol isn't specified
- 2013-07-18 16:49 +0000 [r394731] Jonathan Rose <jrose@digium.com>
- * apps/app_bridgewait.c, main/bridging_roles.c,
- bridges/bridge_holding.c: bridge_holding/app_bridgewait: Add new
- entertainment options This patch adds more entertainment options
- to holding bridges and the bridge_wait application. Also, holding
- bridges will now use music on hold as the default entertainment
- option instead of none. The parameters for app_bridgewait have
- changed to (role, options) from the previous (options) and the
- options themselves have changed as well (entertainment options
- are now contained in an enumerator, role specification is handled
- by the role parameter, etc) (closes issue ASTERISK-21923)
- Reported by: Matthew Jordan Review:
- https://reviewboard.asterisk.org/r/2679/
- 2013-07-18 16:03 +0000 [r394715] Jason Parker <jparker@digium.com>
- * res/stasis_http/resource_channels.c,
- include/asterisk/stasis_app.h, include/asterisk/channel.h,
- res/res_mutestream.c, main/channel.c, res/stasis/control.c: ARI:
- Add support for suppressing media streams. Also convert
- res_mutestream to use the core feature behind this. (closes issue
- ASTERISK-21618) Review: https://reviewboard.asterisk.org/r/2652/
- 2013-07-18 14:50 +0000 [r394701] Matthew Jordan <mjordan@digium.com>
- * main/http.c: Tweak debug statements This patch does two things:
- 1. It moves the debug statement that shows the HTTP sub-protocols
- being compared after the string length calculation such that it
- shows the correct string length in the output 2. It adds some
- additional debug that displays when it matches on a sub-protocol
- and when it fails
- 2013-07-18 14:08 +0000 [r394686] David M. Lee <dlee@digium.com>
- * main/stasis_cache.c: Fix caching topic shutdown assertions The
- recent changes to update stasis_cache_topics directly from the
- publisher thread uncovered a race condition, which was causing
- asserts in the /stasis/core tests. If the caching topic's
- subscription is the last reference to the caching topic, it will
- destroy the caching topic after the final message has been
- processed. When dispatching to a different thread, this usually
- gave the unsubscribe enough time to finish before destruction
- happened. Now, however, it consistently destroys before
- unsubscription is complete. This patch adds an extra reference to
- the caching topic, to hold it for the duration of the
- unsubscription. This patch also removes an extra unref that was
- happening when the final message was received by the caching
- topic. It was put there because of an extra ref that was put into
- the caching topic's constructor. Both have been removed, which
- makes the destructor a bit less confusing. Review:
- https://reviewboard.asterisk.org/r/2675/
- 2013-07-18 12:54 +0000 [r394642] Michael L. Young <elgueromexicano@gmail.com>
- * /, res/res_agi.c: Properly indicate failure to open an audio
- stream in res_agi If there is an error streaming an audio file,
- the current return status makes it difficult for an AGI script to
- determine that there was an error with the audio file. This
- patches changes the result to return -1 and the function returns
- RESULT_FAILURE instead of RESULT_SUCCESS. From looking at other
- parts of res_agi, this would appear to be the proper way to
- handle an error. (closes issue ASTERISK-21903) Reported by: Ariel
- Wainer Tested by: Ariel Wainer Patches:
- asterisk-21903-return-stream-res_1.8.diff by Michael L. Young
- (license 5026) Review: https://reviewboard.asterisk.org/r/2625/
- ........ Merged revisions 394640 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 394641 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-07-17 22:30 +0000 [r394600-394623] Richard Mudgett <rmudgett@digium.com>
- * tests/test_app.c, main/features.c, tests/test_voicemail_api.c,
- tests/test_cel.c, include/asterisk/channel.h,
- addons/chan_mobile.c, tests/test_cdr.c,
- tests/test_stasis_endpoints.c, apps/app_voicemail.c,
- main/channel.c, main/dial.c, apps/app_meetme.c: Change
- ast_hangup() to return void and be NULL safe. Since ast_hangup()
- is effectively a channel destructor, it should be a void
- function. * Make the few silly callers checking the return value
- no longer do so. Only the CDR and CEL unit tests checked the
- return value. * Make all callers take advantage of the NULL safe
- change and remove the NULL check before the call.
- * main/features.c: Remove some completed and no longer relevant
- BUGBUG notes.
- 2013-07-17 18:26 +0000 [r394583] Jonathan Rose <jrose@digium.com>
- * apps/confbridge/conf_chan_announce.c: app_confbridge: Eliminate a
- reference leak for confbridge announcer channels
- 2013-07-17 17:49 +0000 [r394552-394567] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
- * channels/chan_dahdi.c: Left over spacing issues of review 726.
- * channels/chan_dahdi.c: handle DAHDI_EVENT_REMOVED on a pri
- D-Channel When a DAHDI device is removed at run-time it sends the
- event DAHDI_EVENT_REMOVED on each channel. This is intended to
- signal the userspace program to close the respective file handle,
- as the driver of the device will need all of them closed to
- properly clean-up. This event has long since been handled in
- chan_dahdi (chan_zap at the time). However the event that is sent
- on a D-Channel of a "PRI" (ISDN) span simply gets ignored. This
- commit adds handling for closing the file descriptor (and
- shutting down the span, while we're at it). It also adds a CLI
- command 'pri destroy span <N>' to destroy the span and its DAHDI
- channels. Review: https://reviewboard.asterisk.org/r/726/
- 2013-07-16 22:33 +0000 [r394530-394531] Matthew Jordan <mjordan@digium.com>
- * apps/app_confbridge.c, CHANGES: Add 'kick all' capability to
- ConfBridge CLI command This patch adds the ability to kick all
- users out of a conference from the ConfBridge kick CLI command.
- It is invoked by passing 'all' as the channel parameter to the
- CLI command, i.e., "confbridge kick <conf> all". Note that this
- patch was modified slightly to conform to trunk. (closes issue
- ASTERISK-21827) Reported by: dorianlogan patches:
- kickall-patch_v2.diff uploaded by dorianlogan (License 6504)
- * main/cel.c: Re-order handlers in CEL to ensure that HANGUP events
- happen after APP_END When a channel is hungup, both an APP_END
- event and a HANGUP event can be fired. To ensure that HANGUP
- events occur after APP_END events, the method callbacks for the
- APP_END event should be processed prior to the callbacks for the
- HANGUP event.
- 2013-07-16 21:44 +0000 [r394513] David M. Lee <dlee@digium.com>
- * res/stasis_http/ari_websockets.c: Debug logging to help with
- WebSocket connection problems
- 2013-07-16 20:00 +0000 [r394489] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_gulp.c: chan_gulp: Fix gulp_indicate() handling of
- AST_CONTROL_PVT_CAUSE_CODE.
- 2013-07-16 19:13 +0000 [r394473] Mark Michelson <mmichelson@digium.com>
- * res/res_sip_session.c: Prevent crash from trying to end a session
- in an invalid way. This ensures that code that was only meant to
- be run on a reinvite failure only runs on a reinvite failure.
- (closes issue ASTERISK-22061) reported by Rusty Newton
- 2013-07-16 18:49 +0000 [r394470-394471] Richard Mudgett <rmudgett@digium.com>
- * main/channel.c, channels/chan_sip.c: Remove some dead code
- dealing with old bridging method.
- * bridges/bridge_simple.c: Simplify bridge_simple chan join code.
- 2013-07-16 18:22 +0000 [r394469] Matthew Jordan <mjordan@digium.com>
- * main/cdr.c: Re-order cleanup This patch attempts to fix some
- possible race conditions in shutdown of the CDR engine. It: *
- Adds a cleanup handler to only unsubscribe and join on stasis
- messages during graceful shutdown. The cleanup handler should
- execute before the regular atexit handler, as we want to
- unsubscribe for any further messages before dispatching the CDRs.
- * The CDRs are now locked when we dispatch them on shutdown.
- 2013-07-16 15:30 +0000 [r394442] David M. Lee <dlee@digium.com>
- * res/res_http_websocket.c: Fixed null dereference when WebSocket
- protocol is omitted
- 2013-07-15 23:20 +0000 [r394417] Richard Mudgett <rmudgett@digium.com>
- * configs/agents.conf.sample, include/asterisk/config_options.h,
- include/asterisk/stasis_channels.h, channels/chan_agent.c
- (removed), configs/queues.conf.sample,
- include/asterisk/bridging.h, UPGRADE.txt, main/stasis_channels.c,
- CHANGES, main/bridging.c, apps/app_agent_pool.c (added): Replace
- chan_agent with app_agent_pool. The ill conceived chan_agent is
- no more. It is now replaced by app_agent_pool. Agents login using
- the AgentLogin() application as before. The AgentLogin()
- application no longer does any authentication. Authentication is
- now the responsibility of the dialplan. (Besides, the
- authentication done by chan_agent did not match what the voice
- prompts asked for.) Sample extensions.conf [login] ; Sample agent
- 1001 login ; Set COLP for in between calls so the agent does not
- see the last caller COLP. exten =>
- 1001,1,Set(CONNECTEDLINE(all)="Agent Waiting" <1001>) ; Give the
- agent DTMF transfer and disconnect features when connected to a
- caller. same => n,Set(CHANNEL(dtmf-features)=TX) same =>
- n,AgentLogin(1001) same => n,NoOp(AGENT_STATUS is
- ${AGENT_STATUS}) same => n,Hangup() [caller] ; Sample caller
- direct connect to agent 1001 exten => 800,1,AgentRequest(1001)
- same => n,NoOp(AGENT_STATUS is ${AGENT_STATUS}) same =>
- n,Hangup() ; Sample caller going through a Queue to agent 1001
- exten => 900,1,Queue(agent_q) same => n,Hangup() Sample
- queues.conf [agent_q] member =>
- Local/800@caller,,SuperAgent,Agent:1001 Under the hood operation
- overview: 1) Logged in agents wait for callers in an agents
- holding bridge. 2) Caller requests an agent using AgentRequest()
- 3) A basic bridge is created, the agent is notified, and caller
- joins the basic bridge to wait for the agent. 4) The agent is
- either automatically connected to the caller or must ack the call
- to connect. 5) The agent is moved from the agents holding bridge
- to the basic bridge. 6) The agent and caller talk. 7) The
- connection is ended by either party. 8) The agent goes back to
- the agents holding bridge. To avoid some locking issues with the
- agent holding bridge, I needed to make some changes to the after
- bridge callback support. The after bridge callback is now a list
- of requested callbacks with the last to be added the only active
- callback. The after bridge callback for failed callbacks will
- always happen in the channel thread when the channel leaves the
- bridging system or is destroyed. (closes issue ASTERISK-21554)
- Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2657/
- 2013-07-15 22:05 +0000 [r394402] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/stasis_channels.h: Remove misleading
- documentation for channel snapshot creation.
- 2013-07-15 21:22 +0000 [r394397] David M. Lee <dlee@digium.com>
- * res/res_stasis_http.c: Document the ari.conf allowed_origins
- setting
- 2013-07-15 13:43 +0000 [r394370] Joshua Colp <jcolp@digium.com>
- * res/res_sip_session.c, include/asterisk/res_sip_session.h: Remove
- some callbacks and functions which are not needed.
- 2013-07-14 02:41 +0000 [r394278-394346] Matthew Jordan <mjordan@digium.com>
- * /, apps/app_queue.c: Provide error message for QUEUE_MEMBER when
- member is not in queue When QUEUE_MEMBER is used and the member
- specified is not in the queue, Asterisk provides an ERROR message
- that indicates that the option specified is not valid. This patch
- now properly displays an ERROR message that the member is not in
- the queue if an interface is specified. (closes issue
- ASTERISK-21980) Reported by: Avraam David ........ Merged
- revisions 394345 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/dns.c: Remove redundant code in dns.c Peter J Philipp
- pointed out that there are two checks that ensure that len is not
- less than 0. If len is less than 0, the function returns. Having
- both of them is clearly redundant. This removes the second and
- attempts to clarify (slightly) the error condition. (closes issue
- ASTERISK-21772) Reported by: Peter J Philipp
- * /, funcs/func_strings.c: Clarify documentation for function
- PASSTHRU It is not apparent to the average user that the PASSTHRU
- function should not be passed as ${PASSTHRU(string)} but just as
- PASSTHRU(string) to functions which take a variable name and not
- its contents. This patch clarifies the behavior in the
- documentation and provides an example. (closes issue
- ASTERISK-21717) Reported by: Richard Miller patches:
- func_strings.diff uploaded by Richard Miller (license 5685)
- ........ Merged revisions 394302 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 394303 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/bridging.c, main/cdr.c: Fix FRACK message from external
- redirects; handle outbound channels better This patch does the
- following: * It simplifies the Dial handling in CDRs. As a rule,
- the caller in a dial relationship is always the Party A. There
- was some logic present in the handling of the dial message that
- could, conceivably, pick the caller as Party A for the beginning
- of the dial and the peer as Party A for the end of the dial. This
- shouldn't have happened if the code in the bridging framework was
- doing its job; however, that was broken and it led to the FRACK.
- As it is, this code was overly ocmplex and not needed: the
- caller, if present, should always be Party A. Period. * It
- properly checks to see if a channel will continue on in the
- dialplan. ast_check_hangup - much like cake at the end - is a
- lie. It will tell you that you are hungup when you are not. Do
- not believe it. I would make this function tell the truth, but
- I'm nervous that we've been depending on it sitting on its throne
- of lies for far too long, and it would probably break lots of
- things. So I'm just checking the "internal" soft hangup flags,
- like everyone else. (closes issue ASTERISK-22060) Reported by:
- Mark Michelson (issue ASTERISK-21831) Reported by: Matt Jordan
- * channels/chan_sip.c: Pretty up a debug message if the
- referred-by-uri isn't available Instead of formatting a NULL
- pointer into a "%s" format string (which is usually not a good
- thing to do), we instead print "Unknown".
- 2013-07-12 22:35 +0000 [r394263] Moises Silva <moises.silva@gmail.com>
- * channels/chan_dahdi.c, /: Fix a longstanding issue with MFC-R2
- configuration that prevented users from mixing different variants
- or general MFC-R2 settings within the same E1 line. Most users do
- not have a problem with this since MFC-R2 lines are usually
- fractional E1s, or the whole E1 has the same country variant and
- R2 settings. In Venezuela however is common to have inbound
- MFC-R2 and outbound DTMF-R2 within the same E1. This fix now
- properly parses the chan_dahdi.conf file to generate a new openr2
- context every time a new channel => section is found and the
- configuration was changed. (closes issue ASTERISK-21117) Reported
- by: Rafael Angulo Related Elastix issue:
- http://bugs.elastix.org/view.php?id=1612 ........ Merged
- revisions 394106 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 394173 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-07-12 21:42 +0000 [r394249] Joshua Colp <jcolp@digium.com>
- * main/channel.c, main/channel_internal_api.c,
- include/asterisk/channel.h, main/bridging.c: Add support to the
- bridging core for performing COLP updates when channels join a 2
- party bridge. (closes issue ASTERISK-21829) Review:
- https://reviewboard.asterisk.org/r/2636/
- 2013-07-12 21:01 +0000 [r394232] Mark Michelson <mmichelson@digium.com>
- * main/bridging_basic.c: Prevent potential race condition in
- multiparty basic bridges. For more details about the race
- condition see the linked review at the bottom of this commit
- (closes issue ASTERISK-21882) Reported by Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2663
- 2013-07-12 19:35 +0000 [r394216] Jason Parker <jparker@digium.com>
- * channels/chan_skinny.c: Fix a compiler warning.
- 2013-07-12 18:23 +0000 [r394203] David M. Lee <dlee@digium.com>
- * tests/test_json.c: Fixed intermittent crash when loading
- test_json.so The JSON test attempted an overly clever use of
- RAII_VAR to run code at the beginning and end of each test, in
- order to validate that no JSON objects were leaked during the
- test. The problem is that the validation code would run during
- the initial load, when the tests were initialized. This happens
- during startup, when other parts of the system might actively be
- allocating and freeing JSON objects. This patch changes the
- RAII_VAR to use the new ast_test_register_{init,cleanup}
- functions to run the validations properly. (closes issue
- ASTERISK-21978) Review: https://reviewboard.asterisk.org/r/2669/
- 2013-07-12 17:52 +0000 [r394189] Jason Parker <jparker@digium.com>
- * res/stasis_http/internal.h, res/stasis_http/config.c,
- res/stasis_http/cli.c, res/res_stasis_http.c: ARI: Add support
- for Cross-Origin Resource Sharing (CORS), origin headers This
- rejects requests from any unknown origins. (closes issue
- ASTERISK-21278) Review: https://reviewboard.asterisk.org/r/2667/
- 2013-07-11 21:01 +0000 [r394158] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/bridging_technology.h: Fix bridge tech write
- callback parameter name.
- 2013-07-11 20:59 +0000 [r394156] David M. Lee <dlee@digium.com>
- * channels/chan_skinny.c: Fixed chan_skinny for systems were
- pthread_t isn't an int. I'm looking at you, OS X.
- 2013-07-11 20:17 +0000 [r394147] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Refactor and cleanup of skinny session
- handling. Major changes are to pull all packet reading functions
- into skinny_session and move timeout handling to scheduling
- arrangements. Thread cancelling is now undertaken directly rather
- than waiting for the read to timeout (cleanup is popped on thread
- cancel). Also added some keepalive timings in debugging messages.
- Keepalive timeout has been increased from 1.1 by keepalive to 3
- times keepalive. This seems to align (after keepalives stabilise)
- with when devices reset after not receiving keepalives. Probably
- needs more work, especially around the first and/or second
- keepalives that vary significantly by device and firmware
- version. Review: https://reviewboard.asterisk.org/r/2611/
- 2013-07-11 16:23 +0000 [r394103] Joshua Colp <jcolp@digium.com>
- * res/res_sip_exten_state.c: Tweak the subscription failure warning
- message to include endpoint name and context.
- 2013-07-11 15:37 +0000 [r394037-394089] David M. Lee <dlee@digium.com>
- * tests/test_cel.c: Correct test_cel cleanup. When I corrected the
- CEL test crash in r394037, I didn't quite pay attention to how
- the globals and locals were being shuffled around in the cleanup
- callback. I removed the nulling of the global variables, which
- caused them to be double cleaned. This patch puts the global
- nulling code back (since the vars are cleaned up by RAII_VARs),
- and removes the explicit ao2_cleanup() (since they were no-ops,
- because the variables had just been nulled).
- * res/stasis_http/config.c, configs/ari.conf.sample,
- res/res_stasis_http.c: Change ARI user config to use a type field
- When I initially wrote the configuration support for ARI users, I
- determined the section type by a category prefix (i.e.,
- [user-admin]). This is neither idiomatic Asterisk configuration,
- nor is it really that user friendly. This patch replaces the
- category prefix with a type field in the section, which is much
- cleaner. Review: https://reviewboard.asterisk.org/r/2664/
- * res/stasis_http/config.c: Apply defaults to ari.conf's general
- section
- * tests/test_voicemail_api.c: test_voicemail_api: fix warning found
- by gcc-4.8 The voicemail_api test had code like strncmp(a, b,
- sizeof(a)), but a was a char pointer, instead of a literal or
- char array. This meant that sizeof was the size of the pointer,
- not the length of the string. Since the string is in a
- stringfield and should be null terminated, I just changed it to a
- plain strcmp.
- * tests/test_cel.c: Fixed some CEL test crashes
- 2013-07-10 22:26 +0000 [r394024] Kevin Harwell <kharwell@digium.com>
- * contrib/scripts/sip_to_res_sip (added),
- contrib/scripts/sip_to_res_sip/astconfigparser.py (added),
- contrib/scripts/sip_to_res_sip/astdicts.py (added),
- contrib/scripts/sip_to_res_sip/sip_to_res_sip.py (added): PSJIP -
- sip.conf to res_sip.conf script ** This script is in no way
- finished. Started the initial "cut" at converting a sip.conf file
- to a res_sip.conf file. Hopefully the bulk of the framework is in
- place and only a few minor adjustments need to be made when an
- option mapping is added that "doesn't fit". This script and
- supporting files should be executable against python version 2.5.
- An OrderedDict class (backported from a newer version of python)
- is included. A MultiOrderedDict class is implemented so options,
- when added, should be able to be added in order and allowed to
- have multiple values. Currently the scripts supports the majority
- of endpoint options found in res_sip.conf. Support has also been
- added for Aor(s) and the ACL/security sections. Inside the
- sip_to_res_sip.py file one can see a list of options that still
- need to be mapped. Also items that still need to be done:
- templates, includes, parsing '=>' delimiter. Note that some code
- is hopefully in place already to support templates (e.g.
- lookup/retrieving defaults from them). However, the parsing of
- and adding of the section needs to be done.
- 2013-07-10 20:02 +0000 [r394004] Joshua Colp <jcolp@digium.com>
- * res/res_sip_outbound_registration.c: Handle outbound registration
- failures that do not occur as a result of a real response.
- (closes issue ASTERISK-22064) Reported by: Rusty Newton
- 2013-07-10 17:13 +0000 [r393968-393987] David M. Lee <dlee@digium.com>
- * res/res_stasis_http_channels.c, rest-api/api-docs/channels.json:
- Document the 400 error response for originate
- * res/res_stasis_http_asterisk.c, rest-api/api-docs/asterisk.json,
- res/stasis_http/ari_model_validators.c,
- res/res_stasis_http_channels.c, rest-api/api-docs/channels.json,
- res/stasis_http/ari_model_validators.h: Corrected api-docs for
- channel variables
- 2013-07-10 01:56 +0000 [r393930] Russell Bryant <russell@russellbryant.com>
- * configs/sla.conf.sample, /, apps/app_meetme.c: astobj2-ify the
- SLA code The SLA code within app_meetme was written before
- asotbj2 had been merged into Asterisk. Worse, support for reloads
- did not exist at first and was added later as a bolt-on feature.
- I knew at the time that reloading was not safe at all while SLA
- was in use, so the reload would be queued up to execute when the
- system was idle. Unfortunately, this approach was still prone to
- errors beyond the fact that this was the only place in Asterisk
- where configuration was not reloaded instantly when requested.
- This patch converts various SLA objects to be reference counted
- objects using astobj2. This allows reloads to be processed while
- the system is in use. The code ensures that the objects will not
- disappear while one of the other threads is using them. However,
- they will be immediately removed from the global trunk and
- station containers so no new calls will use them if removed from
- configuration. Review: https://reviewboard.asterisk.org/r/2581/
- ........ Merged revisions 393928 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 393929 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-07-09 21:40 +0000 [r393919] Jason Parker <jparker@digium.com>
- * include/asterisk/lock.h: Make SCOPED_LOCK use RAII_VAR. This
- fixes an issue with requiring SCOPED_LOCK to be the last variable
- declaration and removes duplicate code in the process. Review:
- https://reviewboard.asterisk.org/r/2665/
- 2013-07-09 21:06 +0000 [r393910] Richard Mudgett <rmudgett@digium.com>
- * main/xmldoc.c: Fix printf NULL string (null) substituion for NULL
- config framework default.
- 2013-07-09 20:07 +0000 [r393897] Mark Michelson <mmichelson@digium.com>
- * channels/chan_gulp.c: Use correct function for getting bridged
- peer when doing direct media checks. (closes issue
- ASTERISK-21947) reported by Matt Jordan
- 2013-07-09 19:38 +0000 [r393896] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/manager.h, include/asterisk/stasis_channels.h:
- Fix some stasis doxygen comments.
- 2013-07-09 11:05 +0000 [r393857-393870] Joshua Colp <jcolp@digium.com>
- * res/res_sip_outbound_registration.c: Ensure all pjsip_regc_*
- access occurs within a pjlib thread. (closes issue
- ASTERISK-22054) Reported by: Rusty Newton
- * res/res_sip/config_auth.c: Tweak log message slightly.
- * res/res_sip/config_auth.c: Treat the authentication object as
- invalid if digest configuration is chosen and the digest is not
- of the correct length. (closes issue ASTERISK-22003) Reported by:
- Rusty Newton
- 2013-07-08 20:31 +0000 [r393834-393843] David M. Lee <dlee@digium.com>
- * res/res_stasis_recording.c: Oh menuconfig, why do you hate
- margins?
- * res/stasis_http/ari_websockets.c: Better structure for the
- WebSocket validation failure message
- 2013-07-08 19:53 +0000 [r393831-393833] Joshua Colp <jcolp@digium.com>
- * res/res_sip/config_transport.c: Ensure that a valid bind host is
- specified for transports. (closes issue ASTERISK-22017) Reported
- by: Rusty Newton
- * main/channel_internal_api.c, res/res_agi.c,
- main/manager_bridging.c, include/asterisk/channel.h,
- main/stasis_channels.c, main/bridging.c, main/manager_channels.c,
- main/cli.c, main/channel.c, build_tools/cflags-devmode.xml,
- main/pbx.c, include/asterisk/stasis_channels.h, main/manager.c:
- Refactor operations to access the stasis cache instead of objects
- directly when retrieving information. (closes issue
- ASTERISK-21883) Review: https://reviewboard.asterisk.org/r/2645/
- 2013-07-08 16:04 +0000 [r393816] David M. Lee <dlee@digium.com>
- * res/res_stasis_http.c: res_stasis_http doesn't depend on
- res_stasis any more
- 2013-07-08 15:59 +0000 [r393815] Jonathan Rose <jrose@digium.com>
- * res/parking/parking_controller.c, main/bridging.c,
- res/parking/parking_bridge.c, res/parking/res_parking.h:
- res_parking: Apply ringing role option on swap with a channel
- that rings (closes issue ASTERISK-21877) Reported by: Matt Jordan
- Review: https://reviewboard.asterisk.org/r/2656/
- 2013-07-08 15:11 +0000 [r393807] Joshua Colp <jcolp@digium.com>
- * res/stasis/control.c: Fix building.
- 2013-07-08 14:46 +0000 [r393804-393806] Jason Parker <jparker@digium.com>
- * res/res_stasis_http_asterisk.c, res/stasis/control.c,
- res/stasis_http/resource_asterisk.h,
- rest-api/api-docs/asterisk.json,
- res/stasis_http/resource_channels.c,
- res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
- res/stasis_http/resource_channels.h,
- rest-api/api-docs/channels.json,
- res/stasis_http/resource_asterisk.c: ARI: Add support for
- getting/setting channel and global variables. This allows for
- reading and writing of functions on channels. (closes issue
- ASTERISK-21868) Review: https://reviewboard.asterisk.org/r/2641/
- * main/manager_system.c (added), res/res_stun_monitor.c,
- main/file.c, main/sounds_index.c,
- include/asterisk/stasis_system.h (added), channels/chan_iax2.c,
- include/asterisk/manager.h, main/asterisk.c, include/asterisk.h,
- main/stasis_system.c (added), main/manager.c,
- channels/chan_sip.c: Move channel driver Registry manager events
- to core. This also shuffles the stasis system topic and related
- handling. (closes issue ASTERISK-21488) Review:
- https://reviewboard.asterisk.org/r/2631/
- 2013-07-08 14:26 +0000 [r393801] Matthew Jordan <mjordan@digium.com>
- * include/asterisk/core_local.h, include/asterisk/bridging.h,
- main/core_unreal.c, main/core_local.c, CHANGES, main/bridging.c,
- include/asterisk/core_unreal.h: Create Local channel messages on
- the Stasis message bus and produce AMI events This patch does the
- following: * It adds a virtual table of callbacks to core_unreal.
- These callbacks can be supplied by concrete implementations of
- "unreal" channel drivers, which lets the unreal channel driver
- call specific functionality when it performs some action.
- Currently, this is done to notify implementations when an
- optimization operation has begun, and when an optimization
- operation has succeeded. * It adds Stasis-Core messages for Local
- channel bridging and Local channel optimization. Local channel
- optimization is now two events: a Begin and an End. Some
- consumers of Stasis-Core may want to know when an operation is
- beginning so that they can 'prepare' their information; others
- will be more concerned about when the operation has completed, so
- that they can 'fix up' information. Stasis-Core allows for both,
- as does AMI. Review: https://reviewboard.asterisk.org/r/2552
- 2013-07-08 13:57 +0000 [r393793] Mark Michelson <mmichelson@digium.com>
- * res/res_sip_caller_id.c: Fix some broken logic in sending
- outbound caller ID. * trust_id_outbound was required even when
- the caller ID was not marked private. This is against intentions
- and documentation. * We now check both name and number privacy
- instead of checking name privacy twice.
- 2013-07-07 21:29 +0000 [r393777-393785] Matthew Jordan <mjordan@digium.com>
- * main/channel.c: In a channel destructor dispose of items that
- raise Stasis message properly This patch reorders certain actions
- that may raise Stasis messages in the channel destructor such
- that they occur before the Stasis cache is cleared. Once the
- Stasis cache is cleared, its rather a bad idea to be trying to
- publish information about a channel. (closes issue
- ASTERISK-22001) Reported by: Jonathan Rose
- * main/cdr.c, main/channel.c, main/pbx.c,
- include/asterisk/stasis_channels.h, main/channel_internal_api.c,
- include/asterisk/cdr.h, include/asterisk/channel.h,
- main/stasis_channels.c, CHANGES, main/cel.c,
- main/manager_channels.c: Handle hangup logic in the Stasis
- message bus and consumers of Stasis messages This patch does the
- following: * It adds a new soft hangup flag
- AST_SOFTHANGUP_HANGUP_EXEC that is set when a channel is
- executing dialplan hangup logic, i.e., the 'h' extension or a
- hangup handler. Stasis messages now also convey the soft hangup
- flag so consumers of the messages can know when a channel is
- executing said hangup logic. * It adds a new channel flag,
- AST_FLAG_DEAD, which is set when a channel is well and truly
- dead. Not just a zombie, but dead, Jim. Manager, CEL, CDRs, and
- other consumers of Stasis have been updated to look for this flag
- to know when the channel should by lying six feet under. * The
- CDR engine has been updated to better handle a channel entering
- and leaving a bridge. Previously, a new CDR was automatically
- created when a channel left a bridge and put into the 'Pending'
- state; however, this way of handling CDRs made it difficult for
- the 'endbeforehexten' logic to work correctly - there was always
- a new CDR waiting in the hangup logic and, even if 'ended',
- wouldn't be the CDR people wanted to inspect in the hangup
- routine. This patch completely removes the Pending state and
- instead defers creation of the new CDR until it gets a new
- message that requires a new CDR.
- 2013-07-05 22:08 +0000 [r393749-393768] David M. Lee <dlee@digium.com>
- * res/res_stasis_http.c: ARI: return a 503 if Asterisk isn't fully
- booted
- * res/stasis_http/ari_websockets.c: Print error details when set
- nonblock fails
- * res/stasis_http/ari_model_validators.c,
- res/stasis_http/ari_model_validators.h,
- res/stasis_http/resource_events.c, res/res_stasis_http_events.c,
- rest-api/api-docs/events.json: Document MissingParams error
- message for /ari/events
- 2013-07-05 17:33 +0000 [r393740] Matthew Jordan <mjordan@digium.com>
- * include/asterisk/cdr.h, include/asterisk/channel.h,
- channels/chan_gtalk.c, include/asterisk/json.h,
- channels/chan_gulp.c, channels/chan_jingle.c, main/json.c,
- main/manager.c, channels/chan_skinny.c, channels/chan_motif.c,
- channels/chan_h323.c, include/asterisk/rtp_engine.h,
- main/asterisk.c, channels/chan_mgcp.c, channels/chan_unistim.c,
- res/res_rtp_asterisk.c, channels/chan_multicast_rtp.c,
- main/rtp_engine.c, channels/chan_sip.c: Refactor RTCP events over
- to Stasis; associate with channels This patch does the following:
- * It merges Jaco Kroon's patch from ASTERISK-20754, which
- provides channel information in the RTCP events. Because Stasis
- provides a cache, Jaco's patch was modified to pass the channel
- uniqueid to the RTP layer as opposed to a pointer to the channel.
- This has the following benefits: (1) It keeps the RTP engine
- 'clean' of references back to channels (2) It prevents circular
- dependencies and other potential ref counting issues * The RTP
- engine now allows any RTP implementation to raise RTCP messages.
- Potentially, other implementations (such as res_rtp_multicast)
- could also raise RTCP information. The engine provides structs to
- represent RTCP headers and RTCP SR/RR reports. * Some general
- refactoring in res_rtp_asterisk was done to try and tame the RTCP
- code. It isn't perfect - that's *way* beyond the scope of this
- work - but it does feel marginally better. * A few random bugs
- were fixed in the RTCP statistics. (Example: performing an
- assignment of a = a is probably not correct) * We now raise RTCP
- events for each SR/RR sent/received. Previously we wouldn't raise
- an event when we sent a RR report. Note that this work will be of
- use to others who want to monitor call quality or build modules
- that report call quality statistics. Since the events are now
- moving across the Stasis message bus, this is far easier to
- accomplish. It is also a first step (though by no means the last
- step) towards getting Olle's pinefrog work incorporated. Again:
- note that the patch by Jaco Kroon was modified slightly for this
- work; however, he did all of the hard work in finding the right
- places to set the channel in the RTP engine across the channel
- drivers. Much thanks goes to Jaco for his hard work here. Review:
- https://reviewboard.asterisk.org/r/2603/ (closes issue
- ASTERISK-20574) Reported by: Jaco Kroon patches:
- asterisk-rtcp-channel.patch uploaded by jkroon (License 5671)
- (closes issue ASTERISK-21471) Reported by: Matt Jordan
- 2013-07-05 14:54 +0000 [r393729] Richard Mudgett <rmudgett@digium.com>
- * main/bridging.c: OneTouchRecord: Add function defined earlier:
- ast_bridge_features_do()
- 2013-07-05 03:08 +0000 [r393716] Matthew Jordan <mjordan@digium.com>
- * main/stasis_channels.c, include/asterisk/stasis_channels.h:
- Remove parkinglot from the channel snapshot Legacy channel
- drivers often include the ability to set a default parking lot on
- an endpoint basis; when channels are created for that endpoint,
- they inherit the parkinglot option. Parking used to use this
- option more frequently; while it is still supported, other
- options (such as using channel variables or creation of a custom
- parkinglot) are supported. More importantly, conveying the
- parkinglot information through a channel snapshot isn't terribly
- useful - it is rarely (if ever) changed on a channel and some
- consumers of channel snapshots, such as ARI, will never use the
- information. (closes issue ASTERISK-21968) Reported by: Matt
- Jordan
- 2013-07-04 18:46 +0000 [r393704] Jonathan Rose <jrose@digium.com>
- * res/parking/parking_ui.c, main/parking.c,
- res/parking/parking_controller.c, UPGRADE.txt,
- res/parking/parking_applications.c, include/asterisk/channel.h,
- main/cel.c, CHANGES, res/parking/parking_bridge_features.c,
- res/parking/parking_bridge.c, main/channel.c,
- res/parking/res_parking.h, bridges/bridge_builtin_features.c,
- main/features.c, include/asterisk/parking.h, main/bridging.c,
- res/parking/parking_manager.c: res_parking: Replace Parker
- snapshots with ParkerDialString This process also involved a
- large amount of rework regarding how to redial the Parker when a
- channel leaves a parking lot due to timeout. An attended transfer
- channel variable has been added to attended transfers to
- extensions that will eventually park (but haven't at the time of
- transfer) as well. This resolves one of the two BUGBUG comments
- remaining in res_parking. (issues ASTERISK-21877) Reported by:
- Matt Jordan Review: https://reviewboard.asterisk.org/r/2638/
- 2013-07-04 13:37 +0000 [r393675-393687] David M. Lee <dlee@digium.com>
- * res/res_ari_model.c: Fix int width problem for 32-bit... again
- * tests/test_ari_model.c: Fix int width problem for 32-bit
- * main/utils.c, main/crypt.c (added), main/Makefile: Fix utils
- directory breakage.
- 2013-07-03 23:59 +0000 [r393600-393633] Richard Mudgett <rmudgett@digium.com>
- * main/config_options.c: Add BUGBUG note for ASTERISK-22009
- * channels/chan_agent.c (added), configs/queues.conf.sample,
- include/asterisk/bridging.h, UPGRADE.txt, main/config_options.c,
- main/stasis_channels.c, CHANGES, main/bridging.c,
- apps/app_agent_pool.c (removed), configs/agents.conf.sample,
- include/asterisk/config_options.h,
- include/asterisk/stasis_channels.h: Revert accidental overcommit.
- * channels/chan_agent.c (removed), configs/queues.conf.sample,
- include/asterisk/bridging.h, UPGRADE.txt, main/config_options.c,
- main/stasis_channels.c, CHANGES, main/bridging.c,
- apps/app_agent_pool.c (added), configs/agents.conf.sample,
- include/asterisk/config_options.h,
- include/asterisk/stasis_channels.h: Add BUGBUG note for
- ASTERISK-22009
- * channels/chan_dahdi.c, /: chan_dahdi: Fix segfault reloading
- chan_dahdi when round robin is used. * Clear round_robin[] in
- dahdi_restart(). (closes issue ASTERISK-21847) Reported by: Ivo
- Andonov Patches: jira_asterisk_21847_v1.8.patch (license #5621)
- patch uploaded by rmudgett ........ Merged revisions 393627 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 393628 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * bridges/bridge_builtin_features.c,
- include/asterisk/bridging_features.h: OneTouchRecord: Make so
- Monitor/MixMonitor can be toggled/started/stopped. The
- OneTouchRecord feature has historically been a toggle. This patch
- adds the ability to make the OneTouchRecord hook optionally
- start/stop recording only. If OneTouchRecord is already doing
- what is requested then only the invoker hears the courtesy tone
- and/or start/stop recording message. The new feature is written
- so we could easily add explicit start/stop recording DTMF hooks
- for Monitor and MixMonitor. The majority of the changes in
- bridge_builtin_features.c is a refactoring of the OneTouchRecord
- code (Monitor and MixMonitor versions) so it is easy to direct
- the toggle/start/stop functionality. Review:
- https://reviewboard.asterisk.org/r/2655/
- * main/bridging.c: Move when bridge channel enter is published so
- it does not interrupt the thought of some lines of code.
- * main/stasis_config.c: Fix some indentation in stasis_config.c.
- 2013-07-03 22:04 +0000 [r393589-393599] Matthew Jordan <mjordan@digium.com>
- * main/cdr.c: Fix some bugs in CDRs; add some CLI commands to help
- debugging This patch fixes a few minor bugs and one major one:
- the CDR by bridge container was less than helpful. The mechanism
- previously used to try and find all of the CDRs in a particular
- bridge ended up missing CDRs, resulting in incorrect records.
- When looking up CDRs in a bridge, we now just bite the bullet and
- do a selection across all existing CDRs.
- * main/stasis_config.c: Let Stasis load itself with default values
- While a Stasis configuration file is nice, it shouldn't be
- mandatory. We can carry on with default values.
- 2013-07-03 20:41 +0000 [r393586] Mark Michelson <mmichelson@digium.com>
- * main/bridging.c: Publish a bridge enter before pulling on a
- push-and-swap operation. Prior to this patch, the order of
- procedures on a bridge push was * Add new bridge channel to
- bridge's array. * Pull the swap channel out of the bridge *
- Publish a bridge enter event. The problem is that when the swap
- channel was pulled from the bridge, a bridge leave event would be
- published. The bridge snapshot published during the bridge leave
- showed the new channel that had been added to the bridge, but
- there had been no bridge enter event for that channel. The fix
- provided here was to change the order a bit * Add new bridge
- channel to bridge's array. * Publish bridge enter event. * Pull
- the swap channel out of the bridge. This makes it so that the
- bridge snapshots during the stasis events are accurate.
- 2013-07-03 19:46 +0000 [r393528-393576] David M. Lee <dlee@digium.com>
- * res/res_stasis_http_bridges.c, res/res_stasis_http_recordings.c,
- res/stasis_http/ari_model_validators.h,
- res/res_stasis_http_endpoints.c, res/res_stasis_http_events.c,
- rest-api-templates/ari_model_validators.c.mustache,
- rest-api-templates/res_stasis_http_resource.c.mustache,
- rest-api-templates/ari_model_validators.h.mustache,
- res/stasis_http/ari_model_validators.c,
- res/res_stasis_http_channels.c, res/res_stasis_http_sounds.c: Fix
- load errors related to the new ari_model_validators. The Asterisk
- strategy of loading modules with RTLD_LAZY to extract metadata
- from the module works well enough, until you try to take the
- address of a function. If a module takes the address of a
- function, that function needs to be resolved at load time. That
- kinda defeats RTLD_LAZY. This patch adds some
- ari_validator_{id}_fn() wrapper functions for safely getting the
- function pointer from a different module.
- * res/res_ari_model.c: Violating the margins to make menuconfig
- happy
- * res/res_stasis_recording.exports.in (added), Makefile,
- include/asterisk/file.h, include/asterisk/paths.h,
- main/channel.c, include/asterisk/app.h,
- res/stasis_http/resource_channels.c, tests/test_utils.c,
- apps/app_minivm.c, main/file.c,
- res/stasis_http/resource_recordings.c, main/app.c,
- res/res_stasis_recording.c (added),
- rest-api-templates/swagger_model.py,
- rest-api/api-docs/channels.json,
- res/stasis_http/resource_channels.h,
- res/res_stasis_http_bridges.c, rest-api/api-docs/recordings.json,
- res/stasis_http/resource_recordings.h, main/asterisk.c,
- rest-api-templates/asterisk_processor.py, apps/app_voicemail.c,
- include/asterisk/utils.h, res/res_stasis_playback.c,
- include/asterisk/stasis_app_recording.h (added),
- res/res_stasis_http_channels.c, main/utils.c,
- include/asterisk/channel.h, res/res_stasis_http_recordings.c: ARI
- - channel recording support This patch is the first step in
- adding recording support to the Asterisk REST Interface.
- Recordings are stored in /var/spool/recording. Since recordings
- may be destructive (overwriting existing files), the API rejects
- attempts to escape the recording directory (avoiding issues if
- someone attempts to record to ../../lib/sounds/greeting, for
- example). (closes issue ASTERISK-21594) (closes issue
- ASTERISK-21581) Review: https://reviewboard.asterisk.org/r/2612/
- * include/asterisk/stasis.h, configs/stasis_core.conf.sample
- (removed), main/asterisk.c, main/stasis.c, main/stasis_config.c
- (added), configs/stasis.conf.sample (added): Configuration for
- Stasis threadpool The appropriate settings for the Stasis
- threadpool is very system specific, depending upon both workload
- and system configuration. This patch adds a stasis.conf file
- which can be used to configure the key attributes of the
- threadpool for the Stasis message bus. (closes issue
- ASTERISK-21280) Review: https://reviewboard.asterisk.org/r/2651/
- * res/stasis_http/cli.c (added), res/Makefile,
- configs/ari.conf.sample (added), makeopts.in,
- res/res_stasis_http.c, res/stasis_http/internal.h (added),
- configs/stasis_http.conf.sample (removed), main/Makefile,
- res/stasis_http/config.c (added), main/http.c, main/utils.c: No
- message for rev 393530 found
- * main/json.c, rest-api/api-docs/asterisk.json,
- rest-api/api-docs/playback.json,
- res/stasis_http/ari_websockets.c, main/stasis_channels.c,
- rest-api-templates/swagger_model.py,
- res/res_stasis_http_bridges.c,
- rest-api-templates/res_stasis_json_resource.c.mustache (removed),
- res/res_stasis_json_recordings.exports.in (removed),
- rest-api/api-docs/endpoints.json, main/stasis_endpoints.c,
- rest-api/api-docs/events.json, tests/test_res_stasis.c,
- tests/test_stasis_channels.c, include/asterisk/stasis_http.h,
- res/res_stasis_json_sounds.exports.in (removed),
- res/res_ari_model.exports.in (added),
- res/res_stasis_http_recordings.c,
- rest-api-templates/res_stasis_json_resource.exports.mustache
- (removed), rest-api/api-docs/bridges.json,
- res/res_stasis_http_events.c, res/res_ari_model.c (added),
- res/res_stasis_json_playback.exports.in (removed),
- res/res_stasis_http_sounds.c, res/stasis_json (removed),
- rest-api/api-docs/recordings.json,
- rest-api-templates/ari_model_validators.c.mustache (added),
- res/res_stasis_json_endpoints.exports.in (removed),
- res/res_stasis_json_events.exports.in (removed),
- res/res_stasis_http_asterisk.c,
- rest-api-templates/res_stasis_http_resource.c.mustache,
- rest-api-templates/make_ari_stubs.py (added),
- res/res_stasis_json_recordings.c (removed),
- rest-api-templates/api.wiki.mustache (added),
- rest-api/api-docs/sounds.json, res/Makefile,
- res/res_stasis_json_events.c (removed),
- res/res_stasis_json_bridges.exports.in (removed),
- res/res_stasis_json_sounds.c (removed),
- rest-api-templates/models.wiki.mustache (added),
- main/stasis_bridging.c, rest-api-templates/transform.py,
- rest-api-templates/stasis_json_resource.h.mustache (removed),
- res/res_stasis_json_channels.exports.in (removed),
- res/res_stasis_json_asterisk.c (removed), res/res_stasis_http.c,
- rest-api-templates/asterisk_processor.py,
- res/res_stasis_http_playback.c,
- rest-api-templates/ari_model_validators.h.mustache (added),
- res/res_stasis_http_channels.c, res/res_stasis_json_endpoints.c
- (removed), include/asterisk/json.h, tests/test_ari_model.c
- (added), Makefile, res/res_stasis_json_asterisk.exports.in
- (removed), res/res_stasis_json_bridges.c (removed),
- res/stasis_http/resource_recordings.c,
- rest-api/api-docs/channels.json, res/res_stasis_json_playback.c
- (removed), res/res_stasis.c, doc/rest-api (added),
- rest-api-templates/make_stasis_http_stubs.py (removed),
- res/stasis_http/resource_recordings.h,
- res/res_stasis_json_channels.c (removed),
- res/stasis_http/ari_model_validators.c (added),
- rest-api-templates/event_function_decl.mustache (removed),
- res/stasis_http/ari_model_validators.h (added),
- res/res_stasis_http_endpoints.c: No message for rev 393529 found
- * res/Makefile, res/res_http_websocket.c,
- res/res_stasis_http.exports.in, configure, tests/test_utils.c,
- res/stasis_http/ari_websockets.c (added),
- rest-api-templates/stasis_http_resource.c.mustache,
- tests/test_stasis_http.c, res/stasis_http/resource_events.c,
- rest-api-templates/asterisk_processor.py,
- include/asterisk/utils.h, res/res_stasis_http_playback.c,
- res/res_http_websocket.exports.in,
- res/stasis_http/resource_events.h,
- res/res_stasis_http_channels.c, include/asterisk/stasis_http.h,
- configure.ac, res/res_stasis_http_recordings.c,
- rest-api-templates/param_parsing.mustache (added),
- res/res_stasis_http_endpoints.c, res/res_stasis_http_events.c,
- include/asterisk/http.h, res/res_stasis_http_sounds.c,
- rest-api-templates/swagger_model.py,
- res/res_stasis_http_bridges.c, res/res_stasis_http.c,
- rest-api-templates/stasis_http_resource.h.mustache,
- res/res_stasis_http_asterisk.c,
- rest-api-templates/res_stasis_http_resource.c.mustache,
- rest-api/api-docs/events.json, res/res_stasis_websocket.c
- (removed), include/asterisk/autoconfig.h.in,
- rest-api-templates/rest_handler.mustache: No message for rev
- 393528 found
- 2013-07-02 22:01 +0000 [r393508] Jason Parker <jparker@digium.com>
- * main/manager.c, CHANGES: Add a SystemName field to all AMI
- events. This only gets sent out if configured in asterisk.conf
- (closes issue ASTERISK-21494)
- 2013-07-02 21:19 +0000 [r393485-393500] Richard Mudgett <rmudgett@digium.com>
- * apps/app_mixmonitor.c: MixMonitor: Minor code cleanup.
- * apps/app_mixmonitor.c: MixMonitor: Make
- start_mixmonitor_callback() options parameter NULL tolerant. *
- Removed some unnecessary code in start_mixmonitor_callback().
- * apps/app_mixmonitor.c: MixMonitor: Don't use ast_strdupa() in a
- loop.
- * apps/app_mixmonitor.c: MixMonitor: Update XML documentation and
- CLI "mixmonitor {start|stop|list}" help.
- * apps/app_mixmonitor.c: MixMonitor: Fix refleak in
- manager_stop_mixmonitor() if could not stop monitoring.
- * apps/app_mixmonitor.c: MixMonitor: Remove some unnecessary
- channel locking.
- * apps/app_mixmonitor.c: Fix MixMonitor b option. The option had
- not been converted to use the replacement for
- ast_bridged_channel(). One touch mixmonitor now records files
- again.
- * channels/chan_gtalk.c: Fix chan_gtalk.c compile error.
- 2013-07-02 20:34 +0000 [r393484] David M. Lee <dlee@digium.com>
- * res/res_sip_notify.c: Add pjproject dependency to res_sip_notify
- 2013-07-02 18:28 +0000 [r393463] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/stasis_bridging.h: Remove unused blind transfer
- publication structure. I ended up using a bridge blob, so this
- structure was unused. Keeping it in the header would just cause
- confusion.
- 2013-07-02 17:20 +0000 [r393442-393449] Kevin Harwell <kharwell@digium.com>
- * main/aoc.c, main/manager.c: Stasis - Refactor AOC Events
- Refactored the AMI events in AOC onto Stasis-Core. The
- ast_aoc_manager_event function now publishes a channel snapshot,
- along with a JSON blob describing the advice of charge. A
- "to_ami" handler has also been added that converts the channel
- snapshot and AOC event data back into the appropriate data
- structure for use with AMI. (closes issue ASTERISK-21472)
- Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2643/
- * res/res_sip/sip_configuration.c, include/asterisk/res_sip.h,
- res/res_sip/sip_distributor.c, res/res_sip/config_auth.c,
- res/res_sip.exports.in,
- res/res_sip_outbound_authenticator_digest.c,
- res/res_sip_authenticator_digest.c, res/res_sip/config_security.c
- (added), res/res_sip_acl.c, res/res_sip.c: New SIP Channel
- driver: Always Auth Reject If no matching endpoint is found for
- the incoming request Asterisk will respond with a 401
- Unauthorized (rejecting the request), but will first challenge if
- no authorization creditials are given. Changes also included
- moving ACL options into a new global 'security' configuration
- section in res_sip.conf. (closes issue ASTERISK-21433) Reported
- by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2554/
- 2013-07-02 16:11 +0000 [r393410-393429] Kinsey Moore <kmoore@digium.com>
- * main/stasis_bridging.c: Fix transfer AMI event parameter naming
- * tests/test_cel.c (added), main/cel.c, include/asterisk/cel.h: Add
- CEL unit tests and do some cleanup This adds several unit tests
- for CEL functionality and provides the requisite framework for
- creating additional unit tests. This also cleans up some
- reference leaks that were occurring in Stasis-Core message
- callback code. Review: https://reviewboard.asterisk.org/r/2646/
- 2013-07-02 10:16 +0000 [r393396] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
- * channels/chan_unistim.c, /: Fix issue with inability to cancell
- call transfer made by on-sceen menus. Reported by: Igor Olhovskiy
- ........ Merged revisions 393395 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-07-02 08:23 +0000 [r393383] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
- * contrib/scripts/ast_tls_cert: ast_tls_cert: don't recreate
- generated files Don't regenrate cat.cfg, ca.crt and ca.key if
- they were already created on a previous run. (closes issue
- ASTERISK-21932)
- 2013-07-01 21:28 +0000 [r393364] Kevin Harwell <kharwell@digium.com>
- * res/res_sip/sip_configuration.c, include/asterisk/res_sip.h,
- res/res_sip/include/res_sip_private.h, res/res_sip/sip_options.c,
- res/res_sip.exports.in, res/res_sip_notify.c (added): New SIP
- Channel Driver - Add CLI/AMI initiated NOTIFY requests Added the
- ability to send unsolicited NOTIFY requests to a particular
- endpoint with a configured payload. Added both CLI and AMI
- support. For a given endpoint, this module will iterate over all
- its contacts sending the appropriate NOTIFY request to each.
- (closes issue ASTERISK-21436) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2623/
- 2013-07-01 21:24 +0000 [r393361] Matthew Jordan <mjordan@digium.com>
- * include/asterisk/pbx.h, main/pbx.c, main/manager.c: Prevent crash
- during synchronous AMI origination by ref bumping returned
- channel The originate APIs allow callers to provide a pointer to
- a channel that will point to the originated channel if the
- function call succeeds. This is used by AMI to provide channel
- information when the originate is performed synchronously.
- Unfortunately, if the originate fails in certain ways, the
- outbound channel is already disposed of during the dialing
- itself. This results in the channel being improperly dereferenced
- by the internal originate function in pbx.c. This patch ref bumps
- the channel to prevent this from occurring. Callers must now
- unlock and unref the channel (which is more in line with general
- channel management guidelines anyway). This only affects manager,
- as it is the only consumer of this API function that actually
- passes in a channel pointer. Review:
- https://reviewboard.asterisk.org/r/2617/
- 2013-07-01 18:56 +0000 [r393326-393332] Jason Parker <jparker@digium.com>
- * res/stasis/control.c, res/stasis_http/resource_channels.c,
- include/asterisk/stasis_app.h: ARI: Implement channel
- hold/unhold. This puts the channel on hold (rather than queueing
- a frame from the channel). (closes issue ASTERISK-21619) Review:
- https://reviewboard.asterisk.org/r/2647/
- * res/stasis_http/resource_channels.c,
- res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
- res/stasis_http/resource_channels.h,
- rest-api/api-docs/channels.json, res/stasis/control.c: ARI:
- Implement channel dial. This creates a new outbound channel, and
- bridges it to a channel already in the Stasis application.
- (closes issue ASTERISK-21620) Review:
- https://reviewboard.asterisk.org/r/2634/
- 2013-07-01 16:01 +0000 [r393309] Jonathan Rose <jrose@digium.com>
- * bridges/bridge_builtin_features.c,
- include/asterisk/features_config.h, include/asterisk/mixmonitor.h
- (added), include/asterisk/channel.h, CHANGES,
- main/features_config.c, apps/app_mixmonitor.c,
- configs/features.conf.sample, main/mixmonitor.c (added):
- bridge_features: Support One touch Monitor/MixMonitor In addition
- to porting those features, they now enjoy greater feature parity
- with one another. Specifically, AutoMixMon now has a start and
- stop message that can be specified with
- TOUCH_MIXMONITOR_MESSAGE_START and TOUCH_MIXMONITOR_MESSAGE_STOP.
- (closes issue ASTERISK-21553) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2620/
- 2013-07-01 13:16 +0000 [r393284] Kinsey Moore <kmoore@digium.com>
- * channels/chan_sip.c, apps/app_meetme.c,
- include/asterisk/stasis.h, main/core_local.c,
- include/asterisk/json.h, channels/chan_gtalk.c,
- channels/sig_pri.c, channels/chan_iax2.c, apps/app_queue.c,
- CHANGES, main/json.c, channels/chan_dahdi.c,
- channels/sig_analog.c, res/res_agi.c, configs/sip.conf.sample,
- channels/sip/include/sip.h: Refactor extraneous channel events
- This change removes JitterBufStats, ChannelReload, and
- ChannelUpdate and refactors the following events to travel over
- Stasis-Core: * LocalBridge * DAHDIChannel * AlarmClear *
- SpanAlarmClear * Alarm * SpanAlarm * DNDState * MCID *
- SIPQualifyPeerDone * SessionTimeout Review:
- https://reviewboard.asterisk.org/r/2627/ (closes issue
- ASTERISK-21476)
- 2013-06-29 13:47 +0000 [r393262-393264] Joshua Colp <jcolp@digium.com>
- * res/res_sip_pubsub.c: Nothing to see here, move along.
- * res/res_sip_pubsub.c, include/asterisk/res_sip_pubsub.h,
- res/res_sip_pubsub.exports.in: Implement the defined PUBLISH ESC
- API within res_sip_pubsub. (closes issue ASTERISK-21452) Review:
- https://reviewboard.asterisk.org/r/2630/
- 2013-06-29 00:31 +0000 [r393219-393241] Richard Mudgett <rmudgett@digium.com>
- * main/bridging.c, include/asterisk/bridging.h: Tweak after bridge
- callback reason to string strings.
- * main/bridging.c: Fix after bridge callback datastore data memory
- leak.
- * main/datastore.c: This is no longer needed.
- * main/bridging.c: Promote local channel optimizing debug messages
- to verbose 3 messages.
- 2013-06-28 19:22 +0000 [r393190-393197] Jonathan Rose <jrose@digium.com>
- * res/parking/parking_applications.c, CHANGES,
- res/parking/parking_ui.c, res/parking/res_parking.h,
- res/res_parking.c: res_parking: Dynamic Parking Lots (closes
- issue ASTERISK-21644) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2615/
- * main/features.c, include/asterisk/features.h: features: call
- pickup stasis refactoring (issue ASTERISK-21544) Reported by:
- Matt Jordan Review: https://reviewboard.asterisk.org/r/2588/
- 2013-06-28 19:05 +0000 [r393184] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/bridging_features.h: Fix overlapping enum
- ast_bridge_feature_flags. Things may no longer behave in an
- unexpected fashion. Local channel optimization to holding bridges
- will work again.
- 2013-06-28 18:42 +0000 [r393182] Mark Michelson <mmichelson@digium.com>
- * main/manager.c, bridges/bridge_builtin_features.c,
- channels/chan_sip.c, channels/chan_skinny.c,
- main/stasis_bridging.c, res/res_sip_refer.c,
- include/asterisk/bridging.h, main/manager_bridging.c,
- channels/chan_iax2.c, include/asterisk/stasis_bridging.h,
- main/bridging.c: Add stasis publications for blind and attended
- transfers. This creates stasis messages that are sent during a
- blind or attended transfer. The stasis messages also are
- converted to AMI events. Review:
- https://reviewboard.asterisk.org/r/2619 (closes issue
- ASTERISK-21337) Reported by Matt Jordan
- 2013-06-28 17:31 +0000 [r393164] Matthew Jordan <mjordan@digium.com>
- * tests/test_cdr.c, main/cdr.c: Handle an originated channel being
- sent into a non-empty bridge Originated channels are a bit odd -
- they are technically a dialed channel (thus the party B or peer)
- but, since there is no caller, they are treated as the party A.
- When entering into a bridge that already contains participants,
- the CDR engine - if the CDR record is in the Dial state -
- attempts to match the person entering the bridge with an existing
- participant. The idea is that if you dialed someone and the
- person you dialed is already in the bridge, you don't need a new
- CDR record, the existing CDR record describes the relationship.
- Unfortunately, for an originated channel, there is no Party B. If
- no one was in the bridge this didn't cause any issues; however,
- if participants were in the bridge the CDR engine would attempt
- to match a non-existant Party B on the channel's CDR record and
- explode. This patch fixes that, and a unit test has been added to
- cover this case.
- 2013-06-28 16:23 +0000 [r393144] Jason Parker <jparker@digium.com>
- * res/res_stasis_http_channels.c,
- res/stasis_http/resource_channels.h,
- rest-api/api-docs/channels.json,
- res/stasis_http/resource_channels.c: Change ARI originate to also
- allow dialing an exten/context/priority. The old way didn't make
- much sense, so some of the fields were repurposed. (closes issue
- ASTERISK-21658) Review: https://reviewboard.asterisk.org/r/2626/
- 2013-06-28 15:50 +0000 [r393130] Matthew Jordan <mjordan@digium.com>
- * include/asterisk/parking.h, main/asterisk.c, main/bridging.c,
- main/cdr.c, include/asterisk/cdr.h: Better handle parking in CDRs
- Parking typically occurs when a channel is transferred to a
- parking extension. When this occurs, the channel never actually
- hits the dialplan if the extension it was transferred to was a
- "parking extension", that is, the extension in the first priority
- calls the Park application. Instead, the channel is immediately
- sent into the holding bridge acting as the parking bridge. This
- is problematic. Because we never go out to the dialplan, the CDRs
- won't transition properly and the application field will not be
- set to "Park". CDRs typically swallow holding bridges, so the CDR
- itself won't even be generated. This patch handles this by
- pulling out the holding bridge handling into its own CDR state.
- CDRs now have an explicit parking state that accounts for this
- specific subclass of the holding bridge. In addition, we handle
- the parking stasis message to set application specific data on
- the CDR such that the last known application for the CDR properly
- reflects "Park". This is a bit sad since we're working around the
- odd internal implementation of parking that exists in Asterisk
- (and that we had to maintain in order to continue to meet some
- odd use cases of parking), but at least the code to handle that
- is where it belongs: in CDRs as opposed to sprinkled liberally
- throughout the codebase. This patch also properly clears the
- OUTBOUND channel flag from a channel when it leaves a bridge, and
- tweaks up dialing handling to properly compare the correct CDR
- with the channel calling/being dialed.
- 2013-06-28 15:36 +0000 [r393128] Jason Parker <jparker@digium.com>
- * res/stasis_http/resource_channels.c: Change some 500 errors to
- 400.
- 2013-06-28 02:14 +0000 [r393083-393100] David M. Lee <dlee@digium.com>
- * res/res_stasis_http.c: Removed stray apostrophe. Apparently the
- pluralization of an acronym does not use an apostophe, according
- to most modern style guides. I feel like I've been living a lie
- this whole time.
- * res/res_stasis_http.c: Removed the automatic 302 redirects for
- ARI URL's that end with a slash. There were some problems
- redirecting RESTful API requests; notably the client would change
- the request method to GET on the redirected requests. After some
- looking into, I decided that a 404 would be simpler and have more
- consistent behavior.
- 2013-06-27 21:01 +0000 [r393034-393066] Richard Mudgett <rmudgett@digium.com>
- * main/bridging.c: Change the name of some local variables in
- bridging.c to reflect what they really mean.
- * main/config_options.c, include/asterisk/config_options.h: Add
- config framework non-empty string validation requirement option.
- Add config framework OPT_CHAR_ARRAY_T and OPT_STRINGFIELD_T
- non-empty requirement option. There are cases were you don't want
- a config option string to be empty. To require the option string
- to be non-empty, just set the aco_option_register() flags
- parameter to non-zero. * Updated some config framework enum
- aco_option_type comments.
- 2013-06-26 20:59 +0000 [r393005] Jonathan Rose <jrose@digium.com>
- * funcs/func_channel.c, include/asterisk/bridging.h,
- main/bridging.c: func_channel: Read/Write after_bridge_goto
- option Allows reading and setting of a channel's
- after_bridge_goto datastore (closes issue ASTERISK-21875)
- Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2628/
- 2013-06-26 19:29 +0000 [r392987] Jason Parker <jparker@digium.com>
- * res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
- res/stasis_http/resource_channels.h,
- rest-api/api-docs/channels.json, res/stasis/control.c,
- res/stasis_http/resource_channels.c: ARI: Add support for
- continuing to a different location in dialplan. This allows going
- elsewhere in the dialplan, so that the location can be specified
- after exiting the Stasis application. (closes issue
- ASTERISK-21870) Review: https://reviewboard.asterisk.org/r/2644/
- 2013-06-26 19:15 +0000 [r392933-392972] Richard Mudgett <rmudgett@digium.com>
- * res/res_parking.c: Remove some redundant parking config error
- messages.
- * main/bridging.c: Fix several problems with
- ast_bridge_add_channel(). * Fix locking problems.
- ast_bridge_move() locks two bridges. To do that, deadlock
- avoidance must be done. Called bridge_move_locked() instead. *
- Fix inconsistency in the bridge dissolve check callers. The
- original caller has already removed the channel from the bridge.
- The new caller has not removed the channel from the bridge.
- Reverted bridge_dissolve_check() and added
- bridge_dissolve_check_stolen() to be used by the new caller on
- the original bridge after the channel is moved to the new bridge.
- * Fix memory leak of features if the added channel was already in
- a bridge. * Fix incorrect call to ast_bridge_impart(). * Renamed
- bridge_chan to yanked_chan.
- * channels/chan_sip.c, include/asterisk/bridging.h,
- apps/confbridge/conf_chan_announce.c: Fix incorrect calls to
- ast_bridge_impart(). There was a misunderstanding about
- ast_bridge_impart()'s handling of the imparted channel's
- reference. The channel reference is passed by the caller unless
- ast_bridge_impart() returns an error. * Fixed a memory leak in
- conf_announce_channel_push() if the impart failed.
- * main/features.c: AMI Bridge action: Get channel xfer config after
- we have found the second channel.
- 2013-06-25 22:28 +0000 [r392915] Jonathan Rose <jrose@digium.com>
- * res/parking/parking_applications.c, CHANGES, main/bridging.c,
- res/parking/parking_bridge_features.c,
- res/parking/parking_manager.c, include/asterisk/features.h,
- res/parking/parking_bridge.c, res/parking/res_parking.h,
- main/features.c, res/parking/parking_controller.c: res_parking:
- Add Parking manager action to the new parking system (closes
- issue ASTERISK-21641) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2573/
- 2013-06-25 20:25 +0000 [r392898] Jason Parker <jparker@digium.com>
- * Makefile: Fix typo with XML docs.
- 2013-06-25 19:22 +0000 [r392864-392879] Joshua Colp <jcolp@digium.com>
- * include/asterisk/sorcery.h: Add a note about being ready to
- accept observer invocations before adding an observer.
- * res/res_sip/sip_options.c: Move where the sorcery observer is
- added for qualify to guarantee the sched_qualifies container
- exists.
- 2013-06-25 13:03 +0000 [r392829] Kinsey Moore <kmoore@digium.com>
- * apps/app_queue.c, main/cel.c, apps/app_dial.c,
- include/asterisk/stasis_channels.h, include/asterisk/cel.h,
- apps/app_celgenuserevent.c, main/stasis_channels.c: CEL
- refactoring cleanup This change removes AST_CEL_BRIDGE_UPDATE
- since it should no longer be used because masquerade situations
- are now accounted for in other ways. This also refactors usage of
- AST_CEL_FORWARD to be produced by a Dial message which has been
- extended with a "forward" field. (closes issue ASTERISK-21566)
- Review: https://reviewboard.asterisk.org/r/2635/
- 2013-06-25 01:12 +0000 [r392797-392812] Matthew Jordan <mjordan@digium.com>
- * main/named_acl.c, res/res_calendar.c, /, channels/chan_motif.c,
- main/http.c, main/config_options.c: Fix memory/ref counting leaks
- in a variety of locations This patch fixes the following memory
- leaks: * http.c: The structure containing the addresses to bind
- to was not being deallocated when no longer used * named_acl.c:
- The global configuration information was not disposed of *
- config_options.c: An invalid read was occurring for certain
- option types. * res_calendar.c: The loaded calendars on module
- unload were not being properly disposed of. * chan_motif.c: The
- format capabilities needed to be disposed of on module unload. In
- addition, this now specifies the default options for the
- maxpayloads and maxicecandidates in such a way that it doesn't
- cause the invalid read in config_options.c to occur. (issue
- ASTERISK-21906) Reported by: John Hardin patches: http.patch
- uploaded by jhardin (license 6512) named_acl.patch uploaded by
- jhardin (license 6512) config_options.patch uploaded by jhardin
- (license 6512) res_calendar.patch uploaded by jhardin (license
- 6512) chan_motif.patch uploaded by jhardin (license 6512)
- ........ Merged revisions 392810 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/presencestate.c, main/sorcery.c,
- res/parking/parking_bridge.c, main/cdr.c, main/manager.c,
- main/parking.c, main/devicestate.c, main/cel.c: Fix a variety of
- memory leaks This patch addresses the following memory/ref
- counting leaks: * main/devicestate.c - unsubscribe and join our
- devicestate message subscription * main/cel.c - clean up the
- datastore and config objects on exist * main/parking.c - cleanup
- memory leak of retriever snapshot on message payload destruction
- * res/parking/parking_bridge.c - cleanup memory leak of retrieve
- snapshot on message payload destruction * main/presencestate.c -
- unsubscribe and join the caching topic on exit * manager.c -
- properly unregister the manager action "BlindTransfer" *
- sorcery.c - shutdown the threadpool on exit and dispose of any
- wizards (issue ASTERISK-21906) Reported by: John Hardin patches:
- cel.patch uploaded by jhardin (license #6512) devicestate.patch
- uploaded by jhardin (license #6512) manager.patch uploaded by
- jardin (license #6512) presencestate.patch uploaded by jhardin
- (license #6512) retriever-channel-snapshot.patch uploaded by
- jhardin (license #6512) sorcery.patch uploaded by jhardin
- (license #6512)
- 2013-06-24 22:05 +0000 [r392778-392779] David M. Lee <dlee@digium.com>
- * tests/test_endpoints.c, tests/test_stasis_endpoints.c: Few more
- menuselect fixes missed in r392777
- * res/stasis_json/resource_sounds.h,
- rest-api-templates/res_stasis_json_resource.c.mustache,
- rest-api-templates/res_stasis_http_resource.c.mustache: Fixed
- templates so that the changes from r392777 won't be overwritten
- the next time we run the generators.
- 2013-06-24 21:40 +0000 [r392777] Richard Mudgett <rmudgett@digium.com>
- * res/res_stasis_http_playback.c, res/res_stasis_playback.c,
- res/res_stasis_websocket.c, res/res_stasis_json_recordings.c,
- res/res_stasis_http_channels.c, res/res_stasis_json_endpoints.c,
- res/res_stasis_json_events.c, res/res_stasis_http_recordings.c,
- res/res_stasis_answer.c, res/res_chan_stats.c,
- res/res_stasis_http_endpoints.c, res/res_stasis_http_events.c,
- res/res_stasis_json_sounds.c, res/res_stasis_bridge_add.c,
- res/res_stasis_json_bridges.c, res/res_stasis_http_sounds.c,
- res/res_statsd.c, res/res_stasis_http_bridges.c,
- res/res_stasis_json_asterisk.c, res/res_stasis_test.c,
- res/res_stasis_json_playback.c, res/res_stasis_http.c,
- res/res_stasis.c, apps/app_stasis.c,
- res/res_stasis_http_asterisk.c, res/res_stasis_json_channels.c:
- Fix menuselect display for stasis modules. The menuselect parser
- is very simple. It looks for AST_MODULE_INFO and uses any quoted
- string on that line as the module summary display.
- 2013-06-24 19:28 +0000 [r392729-392747] Mark Michelson <mmichelson@digium.com>
- * /: Remove stray properties from merge.
- * /, main/features_config.c, doc/appdocsxml.dtd: Add documentation
- for features configuration. Review:
- https://reviewboard.asterisk.org/r/2616 (closes issue
- ASTERISK-21542) Reported by Matt Jordan
- 2013-06-24 13:49 +0000 [r392700] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/media_index.h (added), main/file.c, main/http.c,
- include/asterisk/format.h, rest-api/api-docs/sounds.json,
- include/asterisk/_private.h, main/sounds_index.c (added),
- res/res_stasis_http.c, main/asterisk.c, main/media_index.c
- (added), include/asterisk/file.h, include/asterisk/http.h,
- include/asterisk/sounds_index.h (added),
- res/stasis_http/resource_sounds.c: Index installed sounds and
- implement ARI sounds queries This adds support for stasis/sounds
- and stasis/sounds/{ID} queries via the Asterisk RESTful Interface
- (ARI, formerly Stasis-HTTP). The following changes have been made
- to accomplish this: * A modular indexer was created for local
- media. * A new function to get an ast_format associated with a
- file extension was added. * Modifications were made to the
- built-in HTTP server so that URI decoding could be deferred to
- the URI handler when necessary. * The Stasis-HTTP sounds JSON
- documentation was modified to handle cases where multiple
- languages are installed in different formats. * Register and
- Unregister events for formats were added to the system topic.
- (closes issue ASTERISK-21584) (closes issue ASTERISK-21585)
- Review: https://reviewboard.asterisk.org/r/2507/
- 2013-06-23 19:19 +0000 [r392676] Matthew Jordan <mjordan@digium.com>
- * res/res_fax.c: Properly pack the parameters into ast_json_pack
- when sending a send fax message This patch properly packs the
- parameters into the send fax message so that it actually work.
- Missing a ',' between two string fields can be difficult to
- debug, particularly when the actual packing succeeds.
- Interestingly enough, this didn't actually crash until the JSON
- blob we deref'd and disposed of. Since that happened in a
- different thread, it was pretty tough to track down.
- 2013-06-23 18:59 +0000 [r392627-392667] Joshua Colp <jcolp@digium.com>
- * res/res_sip_outbound_registration.c,
- res/res_sip_endpoint_identifier_ip.c, res/res_sip_acl.c: Add some
- more missing ast_sorcery_generic_alloc conversions.
- * tests/test_sorcery_realtime.c, tests/test_sorcery_astdb.c: Add
- missing ast_sorcery_generic_alloc conversions.
- * main/manager_endpoints.c: Fix a bug where messages were getting
- duplicated on AMI. This was caused by forwarding all endpoint
- messages to manager which includes channel messages that are
- related to the endpoint. This change causes only the PeerStatus
- messages to be forwarded to manager thus eliminating the
- duplicate channel messages.
- 2013-06-22 22:42 +0000 [r392607] Matthew Jordan <mjordan@digium.com>
- * res/res_fax.c: Properly extract channel variables for the
- SendFAX/ReceiveFAX Stasis messages By the time something extracts
- the pointers from ast_json_pack, the channels will already be
- disposed of. This patch properly pulls the information out of the
- variables and packs them into the JSON blob.
- 2013-06-22 14:26 +0000 [r392565-392586] Joshua Colp <jcolp@digium.com>
- * include/asterisk/sorcery.h, res/res_sip/config_auth.c,
- res/res_sip/sip_options.c, res/res_sip/location.c,
- tests/test_sorcery.c, main/sorcery.c,
- res/res_sip/config_domain_aliases.c,
- res/res_sip/config_transport.c, res/res_sip/sip_configuration.c:
- Make sorcery details opaque and add extended fields. Sorcery
- specific object information is now opaque and allocated with the
- object. This means that modules do not need to be recompiled if
- the sorcery specific part is changed. It also means that sorcery
- can store additional information on objects and ensure it is
- freed or the reference count decreased when the object goes away.
- To facilitate the above a generic sorcery allocator function has
- been added which also ensures that allocated objects do not have
- a lock. Extended fields have been added thanks to all of the
- above which allows specific fields to be marked as extended, and
- thus simply stored as-is within the object. Type safety is *NOT*
- enforced on these fields. A consumer of them has to query and
- ultimately perform their own safety check. What does this mean?
- Extra modules can extend already defined structures without
- having to modify them. Tests have also been included to verify
- extended field functionality. Review:
- https://reviewboard.asterisk.org/r/2585/
- * res/res_sip_exten_state.exports.in (added),
- res/res_sip_session.exports.in, res/res_sip_sdp_rtp.c,
- res/res_sip_messaging.c (added), res/res_sip_caller_id.c,
- channels/chan_gulp.c, res/res_sip_session.c,
- res/res_sip_exten_state.c (added), res/res_sip/sip_options.c,
- res/res_sip_pubsub.exports.in, channels/sip/include/sip.h,
- include/asterisk/sdp_srtp.h (added), channels/sip/sdp_crypto.c
- (removed), main/pbx.c, channels/sip/srtp.c (removed),
- res/res_sip_transport_websocket.c (added), channels/chan_sip.c,
- res/res_sip_registrar.c, res/res_sip/sip_distributor.c,
- include/asterisk/res_sip_session.h,
- include/asterisk/res_sip_exten_state.h (added),
- res/res_sip/security_events.c (added),
- res/res_sip_registrar_expire.c (added), res/res_sip.c,
- res/res_sip_pidf.c (added), include/asterisk/res_sip_pubsub.h,
- channels/sip/include/sdp_crypto.h (removed),
- res/res_sip/location.c, res/res_sip_outbound_registration.c,
- channels/sip/include/srtp.h (removed),
- res/res_sip_endpoint_identifier_anonymous.c (added),
- res/res_sip_one_touch_record_info.c (added),
- res/res_sip_pubsub.c, res/res_sip/config_transport.c,
- configs/res_sip.conf.sample, res/res_sip/sip_configuration.c,
- res/res_sip_diversion.c (added), res/res_sip_refer.c (added),
- include/asterisk/res_sip.h, res/res_sip_dtmf_info.c,
- main/sdp_srtp.c (added), res/res_sip/include/res_sip_private.h,
- res/res_sip.exports.in: Merge in current pimp_my_sip work,
- including: 1. Security events 2. Websocket support 3. Diversion
- header + redirecting support 4. An anonymous endpoint identifier
- 5. Inbound extension state subscription support 6. PIDF notify
- generation 7. One touch recording support (special thanks Sean
- Bright!) 8. Blind and attended transfer support 9. Automatic
- inbound registration expiration 10. SRTP support 11. Media offer
- control dialplan function 12. Connected line support 13.
- SendText() support 14. Qualify support 15. Inband DTMF detection
- 16. Call and pickup groups 17. Messaging support Thanks everyone!
- Side note: I'm reminded of the song "How Far We've Come" by
- Matchbox Twenty.
- 2013-06-22 13:58 +0000 [r392564] Matthew Jordan <mjordan@digium.com>
- * res/res_fax.c: Fix a deadlock and possible crash in res_fax This
- patch fixes two bugs. (1) It unlocks the channel in the framehook
- handlers before attempting to grab the peer from the bridge. The
- locking order for the bridging framework is bridge first, then
- channel - having the channel locked while attempting to obtain
- the bridge lock causes a locking inversion and a deadlock. This
- patch bumps the channel ref count prior to releasing the lock in
- the framehook to avoid lifetime issues. Note that this does
- expose a subtle problem in framehooks; that is, something could
- modify the framehook list while we are executing, causing issues
- in the framehook list traversal that the callback executes in.
- Fixing this is a much larger problem that is beyond the scope of
- this patch - (a) we already unlock the channel in this particular
- framehook and we haven't run into a problem yet (as modifying the
- framehook list when a channel is about to perform a fax gateway
- would be a very odd operation) and (b) migrating to an ao2
- container of framehooks would be more invasive at this point. See
- the referenced ASTERISK issue for more information. (2) Directly
- packing channel variables into a JSON object turned out to be
- unsafe. A condition existed where the strings in the JSON blob
- were no longer safe to be accessed if the channel object itself
- was disposed of. (issue ASTERISK-21951)
- 2013-06-22 12:40 +0000 [r392538] Joshua Colp <jcolp@digium.com>
- * include/asterisk/res_sip.h, main/manager_endpoints.c (added),
- include/asterisk/stasis_endpoints.h, channels/chan_iax2.c,
- include/asterisk/manager.h, channels/chan_gulp.c,
- main/stasis_endpoints.c, res/res_sip.c, main/manager.c,
- channels/chan_sip.c, channels/chan_skinny.c,
- res/res_sip/sip_configuration.c: Migrate PeerStatus events to
- stasis, add stasis endpoints, and add chan_pjsip device state.
- (closes issue ASTERISK-21489) (closes issue ASTERISK-21503)
- Review: https://reviewboard.asterisk.org/r/2601/
- 2013-06-21 22:39 +0000 [r392514] Richard Mudgett <rmudgett@digium.com>
- * bridges/bridge_simple.c, bridges/bridge_softmix.c,
- bridges/bridge_native_rtp.c, main/bridging.c,
- include/asterisk/bridging_technology.h, bridges/bridge_holding.c,
- include/asterisk/bridging.h: Extract a useful routine from the
- softmix bridge technology. * Extract a useful routine from the
- softmix bridge technology for other technologies. Make other
- technologies use it if they can. * Made native and 1-1 bridges
- write to all parties if the bridge channel writing the frame into
- the bridge is NULL. Softmix will also do the same for frame types
- that make sense. * Tweak the bridge write routine return value
- meaning and adjust the bridge technologies to match.
- 2013-06-21 21:22 +0000 [r392489] Matthew Jordan <mjordan@digium.com>
- * channels/chan_gulp.c: Add BUGBUG for broken direct media in
- chan_gulp (issue ASTERISK-21947)
- 2013-06-21 18:54 +0000 [r392464] Jason Parker <jparker@digium.com>
- * rest-api/api-docs/channels.json: Fix typo.
- 2013-06-21 18:10 +0000 [r392437] Richard Mudgett <rmudgett@digium.com>
- * main/bridging.c: Add channel optimization interaction with frame
- hooks BUGBUG comments.
- 2013-06-21 18:05 +0000 [r392436] Mark Michelson <mmichelson@digium.com>
- * channels/chan_unistim.c: Change chan_unistim to use core transfer
- API. Review: https://reviewboard.asterisk.org/r/2553 (closes
- issue ASTERISK-21527) Reported by Matt Jordan
- 2013-06-21 17:48 +0000 [r392435] Richard Mudgett <rmudgett@digium.com>
- * bridges/bridge_softmix.c, main/bridging.c,
- include/asterisk/bridging_technology.h,
- include/asterisk/bridging.h, main/features.c: Change several
- bridge functions to return error status. The bridge frame queue
- functions need to return an error status if the frame failed to
- be queued because of an error condition. The main calls that
- needed to return the status are:
- ast_bridge_channel_queue_action_data() and
- ast_bridge_channel_write_action_data(). The other return changes
- are ripple effects.
- 2013-06-21 14:21 +0000 [r392409] Matthew Jordan <mjordan@digium.com>
- * contrib/scripts/autosupport: Update autosupport script This patch
- updates the autosupport script to collect all information
- available to the Asterisk CLI command "digium_phones". It also
- makes minor improvements in options handling. (closes issue
- AST-1163) Reported by: Trey Blancher patches:
- 390347_autosupport.diff uploaded by tblancher (License 5821)
- 390348_autosupport.diff uploaded by tblancher (License 5821)
- 2013-06-20 21:13 +0000 [r392364] Joshua Colp <jcolp@digium.com>
- * res/res_sip_session.c: Add a log message for when an incoming
- session is rejected due to the extension not being found.
- 2013-06-20 17:21 +0000 [r392335] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/bridging_features.h, main/features.c,
- main/bridging.c, res/parking/parking_bridge_features.c,
- apps/confbridge/conf_config_parser.c: Fix potential bridge hook
- resource leak if the hook install fails.
- 2013-06-20 16:29 +0000 [r392318] Mark Michelson <mmichelson@digium.com>
- * main/threadpool.c: Fix threadpool rapid growth problem. When a
- threadpool is set to autoincrement its threadcount, an issue may
- arise when multiple tasks are queued at once into the threadpool.
- Since threads start active, each new task would result in
- autoincrementing the thread count. So if all threads were active,
- and a thread's autoincrement value were 5, then 3 new tasks would
- result in 15 threads being created even though the initial
- autoincrement was sufficient to handle the number of tasks. This
- change introduces three behavior changes: 1) New threads in the
- threadpool start idle instead of active. 2) When a threadpool
- autoincrements, one thread is activated after the growth. 3) When
- a threadpool's size is incremented manually, all added threads
- are activated. For a more detailed explanation about the changes,
- please see the Review Board link at the bottom of this commit.
- Review: https://reviewboard.asterisk.org/r/2629
- 2013-06-19 22:52 +0000 [r392279] David M. Lee <dlee@digium.com>
- * Makefile, main/Makefile: Fix build problem on OS X Mountain Lion
- (10.8) For about forever, our build flags for OS X have been
- slightly off, but good enough to build and run. Apparently they
- aren't good enough any more. Previously, we would compile with
- macosx-version-min unset and link with it set. This combination,
- using GCC 4.8, on Mountain Lion, would create a bad executable
- ("Illegal Instruction: 4", or something like that) This patch
- consistently sets macosx-version-min for both compiling and
- linking, which makes everything happy enough to build and run.
- 2013-06-19 12:55 +0000 [r392241] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/cel.h, main/cel.c: Pull CEL linkedid
- manipulation into cel.c This finishes moving all CEL linkedid
- tracking entirely within cel.c since that is now possible with
- channel snapshots. This also removes another CEL linkedid
- manipulation function from cel.h that has already been
- internalized and is neither called nor available to link against.
- Review: https://reviewboard.asterisk.org/r/2632/
- 2013-06-19 01:28 +0000 [r392190-392214] Matthew Jordan <mjordan@digium.com>
- * funcs/func_cdr.c: Handle variable substitution in dummy variables
- When func_cdr is used for variable substitution, there is no
- channel name and hence no run-time information available for CDR
- variable substitution. In that case, the correct thing to do is
- to use the CDR object on the channel passed to the function. This
- patch checks to see if the channel passed in has a name - if not,
- it uses ast_cdr_format_var instead of ast_cdr_get_var. This
- allows CDR backends to continue to use variable substitution in
- order to resolve ast_cdr object properties.
- * tests/test_substitution.c: Fix the test_substitution test In
- r391947, the CDR function was modified such that it will return a
- value for the start,answer, and end times if asked. That time
- will just be 0 if it hasn't happened yet.
- 2013-06-18 19:31 +0000 [r392139-392166] Richard Mudgett <rmudgett@digium.com>
- * main/bridging.c, include/asterisk/bridging.h: Bridging: Fix crash
- on destruction of a partially constructed bridge. * Promoted some
- bridge construction debug messages to warnings.
- * main/bridging.c: Add some safety cleanup for a failed push into a
- bridge.
- * main/bridging_basic.c: Remove stub comment on function that is
- not a stub.
- 2013-06-18 14:30 +0000 [r392116] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/stasis_bridging.h,
- rest-api/api-docs/bridges.json, main/stasis_bridging.c: Fix
- bridge snapshot conversion to JSON This makes
- ast_bridge_snapshot_to_json conform to the swagger Bridge model
- by adding the two fields it required. Review:
- https://reviewboard.asterisk.org/r/2583/
- 2013-06-17 18:58 +0000 [r392076] David M. Lee <dlee@digium.com>
- * funcs/func_cdr.c, main/cdr.c: Fix build warnings related to
- printf/scanf of tv_usec. The type of tv_usec is suseconds_t. On
- Linux, this is usually a long int, but the specification is
- actually pretty lax on what it might actually be. And, sadly,
- there's no printf/scanf width specifier for suseconds_t. So it
- could bit an int or a long, but there's not a great way to tell
- which it is. This patch fixes scanf by reading into a long
- temporary variable that's then stored into the tv_usec. It fixes
- printf by casting the tv_usec to a long first. This patch also
- adds some missing width specifiers for some debug statements,
- which would cause ".000001" to be displayed at ".1".
- 2013-06-17 18:37 +0000 [r392053-392073] Richard Mudgett <rmudgett@digium.com>
- * main/channel.c, channels/chan_vpb.cc: chan_vpb: Fix compile error
- and __ast_channel_alloc() prototype const inconsistency.
- * channels/chan_misdn.c: chan_misdn: Fix compile error after CDR
- merge.
- 2013-06-17 16:59 +0000 [r392032] Jason Parker <jparker@digium.com>
- * include/asterisk/app.h: Fix a build warning with stasis messages.
- 2013-06-17 14:40 +0000 [r392004-392005] Matthew Jordan <mjordan@digium.com>
- * main/manager_channels.c: Prevent sending a NewExten event after a
- Hangup during a stack restore When a channel is originated, its
- application is typically set to AppDial2, indicating that it was
- a dialed channel through the Dial API. Asterisk during an
- originate will perform a stack execute to direct the outgoing
- channel to a particular place in the dialplan or application.
- When the stack returns, the previous application (AppDial2) is
- restored. Unfortunately, in the case of an originated channel,
- the stack restore happens after hangup. A stasis message is sent
- notifying everyone that the application was restored, and this
- causes a NewExten event to go out after the Hangup event,
- violating the basic contract consumers have of the channel
- lifetime. While we could preclude the message from going out,
- restoring the channel's state before it executed the next higher
- frame in the stack has to occur, and other places in the code
- depend on this behavior. Since we know that channel hung up (it's
- a ZOMBIE!), this patch simply checks to see if the channel has
- been zombified before sending a NewExten event. Note that this
- will fix a number of bouncing tests in the Test Suite. Go tests.
- * CHANGES: Restore bad merge on CHANGES The patch for CDRs moved
- around a lot of content in CHANGES to try and organize the areas
- that were affected. This missed some changes that went in with a
- merge and removed some updates - this patch adds them back in.
- 2013-06-17 12:28 +0000 [r391982] Joshua Colp <jcolp@digium.com>
- * main/cdr.c: Fix build warning (which is transmogrified into an
- error) with my compiler due to uninitialized variable.
- 2013-06-17 03:31 +0000 [r391947-391964] Matthew Jordan <mjordan@digium.com>
- * addons/cdr_mysql.c: Make cdr_mysql compile again by not directly
- setting the run-time CDR object A stray ast_cdr_setvar was missed
- in cdr_mysql (silly addons). This has now been refactored to not
- set the property, as the property would have been set on a
- run-time object that was already dispatched to the backend. The
- module simply remembers the value it wanted to set and writes it
- to MySQL later in the processing.
- * apps/app_forkcdr.c, include/asterisk/stasis_channels.h,
- main/test.c, channels/chan_h323.c, main/asterisk.c,
- channels/chan_unistim.c, addons/chan_ooh323.c,
- include/asterisk/cel.h, apps/app_authenticate.c, cdr/cdr_pgsql.c,
- apps/app_followme.c, channels/chan_iax2.c,
- res/res_config_sqlite.c, main/stasis.c, cdr/cdr_csv.c,
- main/cli.c, main/dial.c, channels/chan_skinny.c,
- cel/cel_manager.c, res/res_agi.c, main/stasis_channels.c,
- cdr/cdr_odbc.c, tests/test_cdr.c (added), main/bridging_basic.c,
- main/pbx.c, channels/chan_sip.c, main/channel_internal_api.c,
- UPGRADE.txt, include/asterisk/cdr.h, include/asterisk/channel.h,
- res/res_stasis_answer.c, main/cel.c, cdr/cdr_tds.c,
- funcs/func_channel.c, funcs/func_cdr.c,
- include/asterisk/bridging.h, addons/cdr_mysql.c,
- funcs/func_callerid.c, apps/app_cdr.c, include/asterisk/time.h,
- cel/cel_radius.c, include/asterisk/stasis_internal.h (added),
- include/asterisk/channel_internal.h, main/utils.c,
- cdr/cdr_adaptive_odbc.c, cdr/cdr_radius.c, main/channel.c,
- main/cdr.c, include/asterisk/test.h, channels/chan_dahdi.c,
- main/manager.c, apps/app_osplookup.c, main/features.c,
- apps/app_dumpchan.c, main/manager_channels.c, main/bridging.c,
- cdr/cdr_custom.c, channels/chan_mgcp.c, cdr/cdr_manager.c,
- apps/app_dial.c, main/stasis_cache.c, cdr/cdr_syslog.c,
- cel/cel_tds.c, channels/chan_agent.c, apps/app_disa.c,
- apps/app_queue.c, CHANGES, res/res_monitor.c: Update Asterisk's
- CDRs for the new bridging framework This patch is the initial
- push to update Asterisk's CDR engine for the new bridging
- framework. This patch guts the existing CDR engine and builds the
- new on top of messages coming across Stasis. As changes in
- channel state and bridge state are detected, CDRs are built and
- dispatched accordingly. This fundamentally changes CDRs in a few
- ways. (1) CDRs are now *very* reflective of the actual state of
- channels and bridges. This means CDRs track well with what an
- actual channel is doing - which is useful in transfer scenarios
- (which were previously difficult to pin down). It does, however,
- mean that CDRs cannot be 'fooled'. Previous behavior in Asterisk
- allowed for CDR applications, channels, and other properties to
- be spoofed in parts of the code - this no longer works. (2) CDRs
- have defined behavior in multi-party scenarios. This behavior
- will not be what everyone wants, but it is a defined behavior and
- as such, it is predictable. (3) The CDR manipulation functions
- and applications have been overhauled. Major changes have been
- made to ResetCDR and ForkCDR in particular. Many of the options
- for these two applications no longer made any sense with the new
- framework and the (slightly) more immutable nature of CDRs. There
- are a plethora of other changes. For a full description of CDR
- behavior, see the CDR specification on the Asterisk wiki. (closes
- issue ASTERISK-21196) Review:
- https://reviewboard.asterisk.org/r/2486/
- 2013-06-14 23:26 +0000 [r391921] Mark Michelson <mmichelson@digium.com>
- * main/app.c: Fix regression in MWI stasis handling. In revision
- 389733, mwi state allocation was placed into its own function
- instead of performing the allocation in-line when required. The
- issue was that in ast_publish_mwi_state_full(), the local
- variable "uniqueid" was no longer being set, but it was still
- being used as the topic for MWI. This meant that all MWI
- publications ended up being published to the "" (empty string)
- mailbox topic. Thus MWI subscriptions for specific mailboxes were
- never notified of mailbox state changes. This change fixes the
- issue by removing the local uniqueid variable from
- ast_publish_mwi_state_full() and instead referencing the
- mwi_state->uniqueid field since it has been properly set. (closes
- issue ASTERISK-21913) Reported by Malcolm Davenport
- 2013-06-14 21:57 +0000 [r391902] Joshua Colp <jcolp@digium.com>
- * res/res_sip_registrar.c: Ensure that the number of added contacts
- never goes below 0. This can happen when a REGISTER request is
- removing a contact. (closes issue ASTERISK-21911) Reported by:
- mdavenport
- 2013-06-14 18:50 +0000 [r391855-391856] Kinsey Moore <kmoore@digium.com>
- * main/stasis_bridging.c, include/asterisk/stasis_bridging.h,
- rest-api/api-docs/bridges.json: Revert parts of r391855 that were
- not ready to go in to trunk
- * main/cel.c, include/asterisk/stasis_bridging.h,
- rest-api/api-docs/bridges.json, main/stasis_bridging.c: Fix two
- more possible crashes in CEL These are locations that should
- return valid snapshots, but need to be handled if not.
- 2013-06-14 16:32 +0000 [r391828] Jonathan Rose <jrose@digium.com>
- * apps/app_mixmonitor.c, /: app_mixmonitor: Fix crashes caused by
- unloading app_mixmonitor Unloading app_mixmonitor while active
- mixmonitors were running would cause a segfault. This patch fixes
- that by making it impossible to unload app_mixmonitor while
- mixmonitors are active. Review:
- https://reviewboard.asterisk.org/r/2624/ ........ Merged
- revisions 391778 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 391794 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-06-14 16:12 +0000 [r391776-391777] Kinsey Moore <kmoore@digium.com>
- * main/cel.c: Fix a crash in CEL bridge snapshot handling Properly
- search for bridge association structures so that they are found
- when expected and handle cases where they don't exist.
- * main/bridging.c: Publish bridge snapshots more often Bridge
- snapshot events were missing some important transitions that were
- noticed in subsequent snapshots. Snapshots will now be published
- on all bridge reconfigurations.
- 2013-06-13 21:53 +0000 [r391732] Matthew Jordan <mjordan@digium.com>
- * utils/check_expr.c, utils/refcounter.c, utils/ael_main.c,
- utils/conf2ael.c: Make the utils directory compile... again.
- Utils is a source folder that lies, eventually all developers
- will cry, "I know I must maintain it, But really with this last
- commit I can kiss my software ethics good-bye."
- 2013-06-13 19:04 +0000 [r391701] Richard Mudgett <rmudgett@digium.com>
- * apps/app_confbridge.c, apps/confbridge/conf_config_parser.c, /,
- apps/confbridge/include/confbridge.h: app_confbridge: Fix memory
- leak on reload. The config framework options should not be
- registered multiple times. Instead the configuration just needs
- to be reprocessed by the config framework. ........ Merged
- revisions 391700 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-06-13 18:26 +0000 [r391699] Mark Michelson <mmichelson@digium.com>
- * main/features_config.c: Just return outright on a reload since we
- have already processed configuration.
- 2013-06-13 18:20 +0000 [r391689] Kinsey Moore <kmoore@digium.com>
- * main/cel.c: Ensure that Asterisk still starts up when cel.conf is
- missing
- 2013-06-13 18:17 +0000 [r391676] Mark Michelson <mmichelson@digium.com>
- * main/features_config.c: Fix memory leak in features_config.c The
- options should not be registered multiple times. Instead, the
- configuration just needs to be reprocessed by the config
- framework. This also exposed that we were not properly telling
- the config framework to treat the configuration processing with
- the "reload" semantics when a reload occurred. Both of these
- errors are fixed now. Thanks to Richard Mudgett for discovering
- the leak.
- 2013-06-13 18:14 +0000 [r391675] Matthew Jordan <mjordan@digium.com>
- * main/json.c, main/manager.c, include/asterisk/json.h: Blow away
- usage of libjansson's foreach macro While very handy, this macro
- didn't occur until a later version of libjansson. We'd prefer to
- be compatible with older versions still - as such, iteration over
- key/value pairs in a JSON object have to be done with a little
- bit more manual work.
- 2013-06-13 13:46 +0000 [r391622-391643] Kinsey Moore <kmoore@digium.com>
- * main/parking.c, include/asterisk/cel.h, main/features.c,
- include/asterisk/_private.h, main/cel.c,
- include/asterisk/parking.h, main/asterisk.c,
- res/parking/parking_manager.c: Refactor CEL bridge events on top
- of Stasis-Core This pulls bridge-related CEL event triggers out
- of the code in which they were residing and pulls them into cel.c
- where they are now triggered by changes in bridge snapshots. To
- get access to the Stasis-Core parking topic in cel.c, the
- Stasis-Core portions of parking init have been pulled into core
- Asterisk init. This also adds a new CEL event
- (AST_CEL_BRIDGE_TO_CONF) that indicates a two-party bridge has
- transitioned to a multi-party conference. The reverse cannot
- occur in CEL terms even though it may occur in actuality and two
- party bridges which receive a AST_CEL_BRIDGE_TO_CONF will be
- treated as multi-party conferences for the duration of the
- bridge. Review: https://reviewboard.asterisk.org/r/2563/ (closes
- issue ASTERISK-21564)
- * include/asterisk/strings.h, main/cel.c,
- include/asterisk/stasis_bridging.h, main/asterisk.c,
- main/channel.c, include/asterisk/config_options.h, main/pbx.c,
- include/asterisk/stasis_channels.h, main/stasis_bridging.c,
- main/config_options.c, main/stasis_channels.c: Refactor CEL
- channel events on top of Stasis-Core This uses the channel state
- change events from Stasis-Core to determine when channel-related
- CEL events should be raised. Those refactored in this patch are:
- * AST_CEL_CHANNEL_START * AST_CEL_ANSWER * AST_CEL_APP_START *
- AST_CEL_APP_END * AST_CEL_HANGUP * AST_CEL_CHANNEL_END Retirement
- of Linked IDs is also refactored. CEL configuration has been
- refactored to use the config framework. Note: Some HANGUP events
- are not generated correctly because the bridge layer does not
- propagate hangupcause/hangupsource information yet. Review:
- https://reviewboard.asterisk.org/r/2544/ (closes issue
- ASTERISK-21563)
- 2013-06-13 11:02 +0000 [r391596] Joshua Colp <jcolp@digium.com>
- * main/endpoints.c, res/stasis_http/resource_endpoints.c,
- main/stasis_cache.c, main/stasis_endpoints.c,
- main/channel_internal_api.c, include/asterisk/stasis.h,
- include/asterisk/channel.h, include/asterisk/stasis_endpoints.h:
- Add support for requiring that all queued messages on a caching
- topic have been handled before retrieving from the cache and also
- change adding channels to an endpoint to be an immediate
- operation. Review: https://reviewboard.asterisk.org/r/2599/
- 2013-06-12 21:08 +0000 [r391561] David M. Lee <dlee@digium.com>
- * res/res_http_websocket.c, /: Fix segfault for certain invalid
- WebSocket input. The WebSocket code would allocate, on the stack,
- a string large enough to hold a key provided by the client, and
- the WEBSOCKET_GUID. If the key is NULL, this causes a segfault.
- If the key is too large, it could overflow the stack. This patch
- checks the key for NULL and checks the length of the key to avoid
- stack smashing nastiness. (closes issue ASTERISK-21825) Reported
- by: Alfred Farrugia Tested by: Alfred Farrugia, David M. Lee
- Patches: issueA21825_check_if_key_is_sent.patch uploaded by
- Walter Doekes (license 5674) ........ Merged revisions 391560
- from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-06-12 02:29 +0000 [r391479-391521] Matthew Jordan <mjordan@digium.com>
- * main/loader.c, main/format.c, /, main/endpoints.c: Fix memory
- leak while loading modules, adding formats, and destroying
- endpoints This patch fixes three memory leaks * When we load a
- module with the LOAD_PRIORITY flag, we remove its entry from the
- load order list. Unfortunately, we don't free the memory
- associated with entry in the list. This patch corrects that and
- properly frees the memory for the module in the list. * When
- adding a custom format (such as SILK or CELT), the routine for
- adding the format was leaking a reference. RAII_VAR cleans this
- up properly. * We now de-ref the channel_snapshot appropriately
- when an endpoint is disposed of ........ Merged revisions 391489
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 391507 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/stasis_channels.c, bridges/bridge_native_rtp.c: Fix memory
- leaks in stasis_channels and bridge_native_rtp This patch fixes
- two memory leaks: * A memory leak in packing channels into a
- multi-channel blob payload when publishing dial messages. The
- multi-channel blob payload does not steal the references - this
- approach was chosen because it works well with the RAII_VAR
- macro. Unfortunately, this does mean that you actually have to
- use the RAII_VAR macro (or manually deref it yourself) * RTP
- instances returned as a result of one of the glue operations are
- ref counted and have to be de-ref'd appropriately. We now do
- that, as saying that we should do it and then not would be silly.
- 2013-06-11 22:57 +0000 [r391455] Mark Michelson <mmichelson@digium.com>
- * main/bridging.c: Remove incorrect comment about local channel
- optimization occurring when performing an attended transfer on an
- entire bridge.
- 2013-06-11 22:21 +0000 [r391430-391453] Jonathan Rose <jrose@digium.com>
- * bridges/bridge_native_rtp.c, include/asterisk/framehook.h,
- main/framehook.c: bridge_native_rtp: Fix native bridge tech being
- incompatible when it should be. When checking compatability for
- the native RTP bridge technology there is a race condition
- between clearing framehooks that are destroyed when leaving
- certain bridges with certain technologies (such as
- bridge_native_rtp) and joining bridges with the bridge_native_rtp
- technology. Yes, that means a channel in a native RTP bridge
- could move to another native RTP bridge and be considered
- incompatible with the new native RTP bridge causing it to revert
- to a simple bridge technology0. This fixes that bug by ignoring
- framehooks that have been marked for destruction when checking
- for compatibility with the bridge_native_rtp technology.
- * bridges/bridge_native_rtp.c: bridge_native_rtp: Fix possible
- segfaults on leaves/joins native_rtp_bridge_get can return any
- result from the ast_rtp_glue_result enumerator and the join/leave
- functions for bridge_native_rtp seem to assume that if the result
- wasn't local that it was remote. Meanwhile forbid can be returned
- by that function which can mean certain glue pointers are NULL.
- Then when the join/leave functions try to use members of that
- pointer, boom. Segfault.
- 2013-06-11 15:46 +0000 [r391403] David M. Lee <dlee@digium.com>
- * main/manager.c, main/stasis_message.c, main/parking.c,
- tests/test_stasis_channels.c, include/asterisk/stasis.h,
- main/stasis_channels.c, tests/test_stasis.c,
- main/manager_channels.c: Add vtable and methods for to_json and
- to_ami for Stasis messages When a Stasis message type is defined
- in a loadable module, handling those messages for AMI and
- res_stasis events can be cumbersome. This patch adds a vtable to
- stasis_message_type, with to_ami and to_json virtual functions.
- These allow messages to be handled abstractly without putting
- module-specific code in core. As an example, the VarSet AMI event
- was refactored to use the to_ami virtual function. (closes issue
- ASTERISK-21817) Review: https://reviewboard.asterisk.org/r/2579/
- 2013-06-11 10:24 +0000 [r391380] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
- * channels/chan_unistim.c, /: Fix issue with no sound in both way
- in case of previous call to chan_unistim phone was canceled.
- (related to ASTERISK-20183) ........ Merged revisions 391379 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-06-11 08:13 +0000 [r391335] Alec L Davis <sivad.a@paradise.net.nz>
- * channels/chan_iax2.c, /: IAX2: Transfer Reject: Lock bridgecallno
- before touching it, refactor 1). When touching the bridgecallno,
- we need to lock it. 2). Remove magic number '0' and replace with
- TRANSFER_NONE. 3). Exit early if no bridgecallno. 4). Reduce
- indentation. Reported by: alecdavis Tested by: alecdavis
- alecdavis (license 585) Review
- https://reviewboard.asterisk.org/r/2613/ ........ Merged
- revisions 391333 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 391334 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-06-10 22:38 +0000 [r391314] Matthew Jordan <mjordan@digium.com>
- * main/loader.c: Make the reload stasis message bump the ref count
- of its sub-object JSON objects are reference stealing. Hence, if
- you've RAII_VAR'd some subobject and want to pack it into another
- JSON object, you have to bump the reference count. Using the 'O'
- option during the pack will bump the reference count for you.
- 2013-06-10 21:04 +0000 [r391297] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Change chan_skinny to use core transfer
- API. Changes for both attended and blind transfers in chan_skinny
- to use the new transfer API instead of masquerade. (closes issue
- ASTERISK-21526) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2557/
- 2013-06-10 16:03 +0000 [r391271] Kinsey Moore <kmoore@digium.com>
- * res/res_agi.c: Add AGI command arguments to AsyncAGI event This
- makes the AGI AsyncAGI event put provided AGI command arguments
- in the event's environment. (closes issue ASTERISK-21304)
- Patch-By: Dirk Wendland
- 2013-06-10 15:32 +0000 [r391269] Mark Michelson <mmichelson@digium.com>
- * main/features_config.c: Temporary fix for people using sample
- features.conf from previous Asterisk versions. People who use the
- features.conf.sample file from Asterisk 11 and before in trunk
- were given a rude awakening when features configuration changes
- were made. Because it uses the config framework and the config
- framework is strict about what is accepted and what isn't, people
- that had parking options configured found that Asterisk no longer
- started. This is because parking options are currently handled in
- res_parking.conf instead of features.conf. This fix seeks to
- create a temporary band-aid fix for the problem, but having
- parking options from the general section be passed to a handler
- that will simply print that the option is no longer supported.
- This will not cause Asterisk to exit. The fix only applies to
- options in the general section. There are two main reasons for
- this: 1) The sample features.conf file only has parking options
- in the general section. There are no configured parking lots.
- Therefore it's not quite as "urgent" to get the parking lot
- parsing fixed. 2) The plan is to move parking configuration back
- from res_parking.conf to features.conf. When that happens, the
- parking lots will also be addressed at that time.
- 2013-06-10 14:36 +0000 [r391245] Matthew Jordan <mjordan@digium.com>
- * apps/app_queue.c, /, configs/queues.conf.sample, UPGRADE.txt: Add
- announce-to-first-user option for app_queue In r386792, the
- ability to play prompts to the first caller in a call queue was
- added. While this is arguably a bug fix for those who expect the
- first caller to continue receiving prompts while the agent is
- dialed, it has the side effect of preventing the first caller
- from hearing the agent immediately upon bridging. This may not be
- a problem for those who really want this option, but for those
- who didn't care whether or not the first caller in queue heard
- their position, it was an issue. This patch disables the ability
- for the first caller in the queue to hear prompts and adds a new
- option, announce-to-first-user, to queues.conf. Those who the
- behavior can enable it by setting this value to True. Note that
- if we ever implement the ability to have the prompts be stopped
- upon bridging, this option can be removed. (closes issue
- ASTERISK-21782) Reported by: Remi Quezada ........ Merged
- revisions 391215 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 391241 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-06-10 13:07 +0000 [r391199] Kinsey Moore <kmoore@digium.com>
- * res/res_stasis_bridge_add.exports.in (added),
- include/asterisk/stasis_app.h,
- res/stasis_http/resource_bridges.c, res/stasis/app.h,
- res/res_stasis_json_events.c, include/asterisk/stasis_bridging.h,
- rest-api/api-docs/bridges.json,
- res/stasis_http/resource_bridges.h, res/res_stasis_bridge_add.c
- (added), main/stasis_bridging.c,
- res/stasis_json/resource_events.h, res/res_stasis.c,
- res/res_stasis_json_events.exports.in,
- rest-api/api-docs/events.json, res/stasis/control.c,
- res/stasis/app.c: Stasis-HTTP: Flesh out bridge-related
- capabilities This adds support for Stasis applications to receive
- bridge-related messages when the application shows interest in a
- given bridge. To supplement this work and test it, this also adds
- support for the following bridge-related Stasis-HTTP
- functionality: * GET stasis/bridges * GET
- stasis/bridges/{bridgeId} * POST stasis/bridges * DELETE
- stasis/bridges/{bridgeId} * POST
- stasis/bridges/{bridgeId}/addChannel * POST
- stasis/bridges/{bridgeId}/removeChannel Review:
- https://reviewboard.asterisk.org/r/2572/ (closes issue
- ASTERISK-21711) (closes issue ASTERISK-21621) (closes issue
- ASTERISK-21622) (closes issue ASTERISK-21623) (closes issue
- ASTERISK-21624) (closes issue ASTERISK-21625) (closes issue
- ASTERISK-21626)
- 2013-06-10 09:33 +0000 [r391064-391154] Alec L Davis <sivad.a@paradise.net.nz>
- * /, channels/chan_iax2.c: chan_iax2: nativebridge refactor, missed
- unlock bridgecallno ........ Merged revisions 391143 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 391148 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_iax2.c, /: fix bad edit after conflict resolution
- ........ Merged revisions 391107 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 391111 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_iax2.c, /: IAX2: refactor nativebridge transfer
- remove triple checking of iaxs[fr->callno]->transferring reduce
- indentation. Reported by: alecdavis Tested by: alecdavis
- alecdavis (license 585) Review
- https://reviewboard.asterisk.org/r/2602/ ........ Merged
- revisions 391065 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 391084 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_iax2.c, /: IAX2: fix race condition with
- nativebridge transfers. 1). When touching the bridgecallno, we
- need to lock it. 2). stop_stuff() which calls
- iax2_destroy_helper() Assumes the lock on the pvt is already
- held, when iax2_destroy_helper() is called. Thus we need to lock
- the bridgecallno pvt before we call
- stop_stuff(iaxs[fr->callno]->bridgecallno); 3). When evaluating
- the state of 'callno->transferring' of the current leg, we can't
- change it to READY unless the bridgecallno is locked. Why, if we
- are interrupted by the other call leg before 'transferring =
- TRANSFER_RELEASED', the interrupt will find that it is READY and
- that the bridgecallno is also READY so Releases the legs. (closes
- issue ASTERISK-21409) Reported by: alecdavis Tested by: alecdavis
- alecdavis (license 585) Review
- https://reviewboard.asterisk.org/r/2594/ ........ Merged
- revisions 391062 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 391063 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-06-09 21:11 +0000 [r391012-391040] Matthew Jordan <mjordan@digium.com>
- * main/app.c: Clean up MWI topic pool before message type
- destruction Topics need to be disposed of prior to the message
- types that are published on them. This includes topic pools. This
- prevents an assertion from being raised on shutdown.
- * main/manager.c: Only initialize manager_bridging during startup
- This moves the initialization call behind the protection against
- reloads. We don't want to re-add message router routes during
- reloads.
- * main/backtrace.c (added), main/logger.c, include/asterisk/lock.h,
- main/astmm.c, utils/extconf.c, main/astobj2.c,
- include/asterisk/backtrace.h (added), include/asterisk/logger.h:
- Add backtrace generation to MALLOC_DEBUG memory corruption
- reports This patch allows astmm to access the backtrace
- generation code in Asterisk. When memory is allocated, a
- backtrace is created and stored with the memory region that
- tracks the allocation. If a memory corruption is detected, the
- backtrace is printed to the astmm log. The backtrace will make
- use of the BETTER_BACKTRACES build option if available. As a
- result, this patch moves the backtrace generation code into its
- own file and uses the non-wrapped versions of the C library
- memory allocation routines. This allows the memory allocation
- code to safely use the backtrace generation routines without
- infinitely recursing. Review:
- https://reviewboard.asterisk.org/r/2567
- 2013-06-08 06:31 +0000 [r390940-390991] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/bridging_technology.h, main/bridging.c: Add more
- support for native bridging. * Added a start technology callback
- that technologies can use to start bridging operations. It is
- expected that native bridges will find this useful. * Factored
- out bridge_channel_complete_join().
- * main/bridging.c, include/asterisk/bridging_technology.h,
- bridges/bridge_softmix.c: Fix a crash when a bridge switches from
- the softmix bridge technology to another. A three party bridge
- uses the softmix bridging technology. This technology has a
- dedicated thread used to perform the analog mixing. When one of
- these parties leaves the bridge, the bridge technology is changed
- from the softmix technology to a two-party mixing technology.
- Changing technologies is done by removing channels from the old
- technology and adding them to the new technology. Since the
- remaining channels do not leave the bridge, the softmix mixing
- thread could continue to process all channels in the bridge. If
- the bridge code is not able to start destruction of the softmix
- technology before the softmix mixing thread wakes up, a crash
- happens. * Added a stop technology callback that technologies can
- use to request any helper threads to stop in preparation for
- being destroyed. (closes issue AST-1156) Reported by: John
- Bigelow
- * include/asterisk/bridging_technology.h: Update some doxygen
- comments.
- * bridges/bridge_softmix.c: The bridge uniqueid is available for
- softmix destructor.
- * bridges/bridge_softmix.c: Add some bridge identifiers to some
- softmix messages.
- 2013-06-07 20:51 +0000 [r390920] Jonathan Rose <jrose@digium.com>
- * res/parking/parking_devicestate.c (added): res_parking: Add
- parking_devicestate.c left out from previous commit (issue
- ASTERISK-21645) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2545/
- 2013-06-07 19:51 +0000 [r390885-390901] Jason Parker <jparker@digium.com>
- * configs/queues.conf.sample, CHANGES, apps/app_queue.c,
- main/manager.c: Make app_queue AMI events more consistent. Give
- Join/Leave more useful names. This also removes the
- eventwhencalled and eventmemberstatus configuration options.
- These events can just be filtered via manager.conf blacklists.
- (closes issue ASTERISK-21469) Review:
- https://reviewboard.asterisk.org/r/2586/
- * res/res_stasis_http_channels.c,
- res/stasis_http/resource_channels.h,
- rest-api/api-docs/channels.json,
- res/stasis_json/resource_channels.h,
- res/stasis_http/resource_channels.c: Implement ARI POST to
- /channels, to originate a call. (closes issue ASTERISK-21617)
- Review: https://reviewboard.asterisk.org/r/2597/
- 2013-06-07 16:22 +0000 [r390864] Kinsey Moore <kmoore@digium.com>
- * tests/test_devicestate.c: Ensure that all unit tests compile with
- the cache clear rework in place
- 2013-06-07 16:07 +0000 [r390848-390849] Jonathan Rose <jrose@digium.com>
- * include/asterisk/pbx.h, CHANGES,
- res/parking/parking_bridge_features.c,
- res/parking/parking_bridge.c, main/pbx.c,
- res/parking/res_parking.h, res/res_parking.c, main/features.c,
- res/parking/parking_controller.c: res_parking: Automatically
- generate extensions, hints, etc. (closes issue ASTERISK-21645)
- Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2545/
- * main/manager.c, apps/app_meetme.c,
- apps/confbridge/confbridge_manager.c, include/asterisk/manager.h:
- app_meetme: Refactor manager events to use stasis (closes issue
- ASTERISK-21467) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2564/
- 2013-06-07 12:56 +0000 [r390830] Kinsey Moore <kmoore@digium.com>
- * main/channel.c, main/stasis_cache.c, include/asterisk/stasis.h,
- main/stasis_channels.c, main/endpoints.c, tests/test_stasis.c,
- main/bridging.c: Rework stasis cache clear events Stasis cache
- clear message payloads now consist of a stasis_message
- representative of the message to be cleared from the cache. This
- allows multiple parallel caches to coexist and be cleared
- properly by the same cache clear message even when keyed on
- different fields. This change fixes a bug where multiple cache
- clears could be posted for channels. The cache clear is now
- produced in the destructor instead of ast_hangup. Additionally,
- dummy channels are no longer capable of producing channel
- snapshots. Review: https://reviewboard.asterisk.org/r/2596
- 2013-06-07 01:06 +0000 [r390803-390804] Richard Mudgett <rmudgett@digium.com>
- * channels/sig_pri.c, channels/sig_pri.h, main/channel.c,
- channels/chan_dahdi.c, channels/chan_misdn.c,
- channels/sig_analog.c: Refactor chan_dahdi/sig_analog/sig_pri and
- chan_misdn to use the common transfer functions. (closes issue
- ASTERISK-21523) Reported by: Matt Jordan (closes issue
- ASTERISK-21524) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2600/
- * main/features_config.c: Tweak applicationmap and featuregroup
- config containers. * Change applicationmap and featuregroup to
- replace duplicate config items rather than reject them. * Remove
- some unneeded warning messages when getting the applicationmap
- allows duplicates from DYNAMIC_FEATURES.
- 2013-06-06 23:32 +0000 [r390787] Mark Michelson <mmichelson@digium.com>
- * main/features_config.c: Conditionally reject duplicate entries in
- applicationmap containers. When reading from a config file, it's
- important to reject duplicates. Otherwise, featuregroups will
- have ambiguity when pointing to applicationmap items. However,
- when constructing the channel's current applicationmap, we don't
- care about duplicate names since it's the DTMF that identifies a
- feature, not the name.
- 2013-06-06 22:46 +0000 [r390771] Richard Mudgett <rmudgett@digium.com>
- * configs/iax.conf.sample, configs/chan_dahdi.conf.sample,
- bridges/bridge_builtin_features.c,
- include/asterisk/bridging_features.h,
- include/asterisk/bridging.h, main/features.c, UPGRADE.txt,
- configs/sip.conf.sample, configs/skinny.conf.sample, CHANGES,
- main/bridging.c: Reimplement bridging and DTMF features related
- channel variables in the bridging core. * The channel variable
- ATTENDED_TRANSFER_COMPLETE_SOUND is no longer channel driver
- specific. If the channel variable is set on the transferrer
- channel, the sound will be played to the target of an attended
- transfer. * The channel variable BRIDGEPEER becomes a comma
- separated list of peers in a multi-party bridge. The BRIDGEPEER
- value can have a maximum of 10 peers listed. Any more peers in
- the bridge will not be included in the list. BRIDGEPEER is not
- valid in holding bridges like parking since those channels do not
- talk to each other even though they are in a bridge. * The
- channel variable BRIDGEPVTCALLID is only valid for two party
- bridges and will contain a value if the BRIDGEPEER's channel
- driver supports it. * The channel variable DYNAMIC_PEERNAME is
- redundant with BRIDGEPEER and is removed. The more useful
- DYNAMIC_WHO_ACTIVATED gives the channel name that activated the
- dynamic feature. * The channel variables DYNAMIC_FEATURENAME and
- DYNAMIC_WHO_ACTIVATED are set only on the channel executing the
- dynamic feature. Executing a dynamic feature on the bridge peer
- in a multi-party bridge will execute it on all peers of the
- activating channel. (closes issue ASTERISK-21555) Reported by:
- Matt Jordan Review: https://reviewboard.asterisk.org/r/2582/
- 2013-06-06 21:40 +0000 [r390751] Mark Michelson <mmichelson@digium.com>
- * channels/sip/include/sip.h, main/bridging.c,
- channels/chan_mgcp.c, apps/app_dial.c, channels/chan_unistim.c,
- channels/chan_sip.c, include/asterisk/features_config.h (added),
- include/asterisk/channel.h, main/features_config.c (added),
- include/asterisk/features.h, channels/chan_dahdi.c,
- channels/chan_misdn.c, channels/sig_analog.c, main/manager.c,
- bridges/bridge_builtin_features.c, main/features.c: Refactor the
- features configuration scheme. Features configuration is handled
- in its own API in features_config.h and features_config.c. This
- way, features configuration is accessible to anything that needs
- it. In addition, features configuration has been altered to be
- more channel-oriented. Most callers of features API code will be
- supplying a channel so that the individual channel's settings
- will be acquired rather than the global setting. Missing from
- this commit is XML documentation for the features configuration.
- That will be handled in a separate commit. Review:
- https://reviewboard.asterisk.org/r/2578/ (issue ASTERISK-21542)
- 2013-06-06 20:50 +0000 [r390733-390734] Richard Mudgett <rmudgett@digium.com>
- * main/stasis_message_router.c: Fix compiler warning.
- * main/bridging.c, main/features.c, apps/app_bridgewait.c: * Fix a
- couple missed hook installs that need
- AST_BRIDGE_HOOK_REMOVE_ON_PULL. * Rename some hook flag
- parameters to remove_flags.
- 2013-06-06 20:37 +0000 [r390730] Kinsey Moore <kmoore@digium.com>
- * res/res_agi.c: Fix documentation generation Regression from
- r390701
- 2013-06-06 20:32 +0000 [r390729] Jason Parker <jparker@digium.com>
- * /: Remove props that people will yell at me for. I'm sorry I
- broke automerge. :(
- 2013-06-06 20:30 +0000 [r390728] Kinsey Moore <kmoore@digium.com>
- * res/parking/parking_manager.c: Fix documentation that was in
- review during the great suffix/prefix swap
- 2013-06-06 19:51 +0000 [r390698-390701] Jason Parker <jparker@digium.com>
- * CHANGES, /, res/res_agi.c: Split AGI manager events, to remove
- SubEvent field. This moves them to stasis, in the process.
- (closes issue ASTERISK-21470) Review:
- https://reviewboard.asterisk.org/r/2587/
- * main/stasis_message_router.c,
- include/asterisk/stasis_message_router.h: Convert message_router
- routes to ao2. Add support for removal. Review:
- https://reviewboard.asterisk.org/r/2591/
- 2013-06-06 18:21 +0000 [r390669] Jonathan Rose <jrose@digium.com>
- * main/bridging.c: Parking: Enable code responsible for
- intercepting park exten transfers
- 2013-06-06 01:52 +0000 [r390612-390639] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_dahdi.c: Add a BUGBUG note.
- * main/bridging.c: Misc core external attended transfer fixes. *
- Fix external attended transfer bridge move/swap method. One of
- the transferrer channels was not kicked out of the bridge. * Fix
- several off-nominal extended attended transfer paths. Mainly the
- channels involved needed to be hung up or kicked out of the
- bridge.
- * main/core_local.c: Make local channels use ast_channel_move()
- instead of the inlined version.
- 2013-06-05 21:14 +0000 [r390584-390585] David M. Lee <dlee@digium.com>
- * include/asterisk/stasis.h: Corrected comment on stasis_cache_get
- * main/manager_channels.c: Fixed refcounting problems with chanspy
- AMI support. The ast_multi_channel_blob_get_channel function does
- not bump the refcount on the channel snapshot that it returns.
- This is typical for Stasis message payloads, since being
- immutable means that the object won't get unreffed out from
- underneath you. The manager code for chanspy was unreffing the
- snapshots it got out of the multi-channel blob, which was one
- unref too many.
- 2013-06-05 19:19 +0000 [r390510-390550] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/bridging_features.h, main/features.c,
- bridges/bridge_builtin_interval_features.c, main/bridging.c,
- res/parking/parking_bridge_features.c, main/bridging_basic.c:
- Remove remaining traces of remove_on_pull from hooks and hook
- APIs.
- * include/asterisk/bridging_features.h: Give the
- AST_BRIDGE_HOOK_REMOVE_ON_PULL a legitimate value.
- * include/asterisk/bridging_features.h, main/bridging.c: Change the
- remove_on_pull flag on ast_bridge_hook to be a set of flags. This
- change is used to make bridge hook removal more generic. This
- way, depending on the circumstance, the appropriate bridge hooks
- may be removed.
- 2013-06-05 14:50 +0000 [r390473] Joshua Colp <jcolp@digium.com>
- * main/channel.c: Publish the channel state snapshot *before*
- calling device state so a device state producer can use an up to
- date snapshot.
- 2013-06-05 14:47 +0000 [r390472] David M. Lee <dlee@digium.com>
- * main/channel_internal_api.c: Fixed a consistency problem with
- channel snapshot and endpoint state. When channels are added to
- an endpoint, the code originally posted a channel snapshot to the
- endoint's topic directly. Turns out, this is a bad idea. This
- causes the endpoint to see an inconsistent view of the channel,
- since it will later receive in-flight messages with old channel
- snapshots. This patch instead just publishes channel state
- immediately after setting up the forward to the endpoint's topic.
- This gives the endpoints a consistent view of the channel's
- state.
- 2013-06-04 22:55 +0000 [r390439-390440] Richard Mudgett <rmudgett@digium.com>
- * bridges/bridge_native_rtp.c: Add BUGBUG comment.
- * bridges/bridge_native_rtp.c: Simple lock, assignment, unlock
- sandwich optimization.
- 2013-06-04 15:55 +0000 [r390352-390398] David M. Lee <dlee@digium.com>
- * include/asterisk/manager.h: Corrected the docs on
- ast_manager_event_blob_create
- * configure.ac, makeopts.in, configure,
- include/asterisk/autoconfig.h.in, main/Makefile: Correct autoconf
- script for finding UUID support. The library that provides UUID
- support varies greatly from system to system. On most Linux
- distros, it's in libuuid. On OpenBSD, it's in libe2fs-uuid. On OS
- X, it is in libsystem. This patch plays hide-and-seek with UUID
- support, looking for it in the three places we know about. It
- also corrects the Makefile so that it uses the configured library
- name and include path. (closes issue ASTERISK-21816) Reported by:
- Brad Latus (snuffy) Tested by: Brad Latus (snuffy)
- 2013-05-31 19:00 +0000 [r390317] Kinsey Moore <kmoore@digium.com>
- * main/pbx.c, apps/app_userevent.c, main/stasis_channels.c:
- Refactor code and fix a reference leak Refactor some channel blob
- publishing code to use ast_channel_publish_blob now that it is
- available and fix a JSON reference leak that was occurring during
- varset publishing.
- 2013-05-31 16:15 +0000 [r390289-390291] Richard Mudgett <rmudgett@digium.com>
- * main/channel.c, main/manager.c, main/channel_internal_api.c,
- include/asterisk/channel.h: Remove ast_channel_bridge() and
- associated code called only by it. * Added some more BUGBUG
- notes.
- * include/asterisk/stasis_channels.h,
- bridges/bridge_builtin_features.c, include/asterisk/bridging.h,
- main/stasis_channels.c, main/bridging.c, main/channel.c: Fixup
- hold/unhold with attended and blind transfers. * DTMF attended
- and blind transfers have hold/unhold behavior restored. *
- External attended and blind transfers unhold the transfered party
- when the transfer is initiated. * Made prohibit blind
- transferring a bridge marked as masquerade only. (ConfBridge
- bridges) * Made running an application or playing a file inside a
- bridge post the hold/unhold messages if MOH is requested. Review:
- https://reviewboard.asterisk.org/r/2574/
- 2013-05-31 14:36 +0000 [r390268] Jason Parker <jparker@digium.com>
- * main/manager.c, include/asterisk/manager.h, main/asterisk.c:
- Replace ast_manager_publish_message() with a more useful version.
- It's much easier to just create a blob of the message. Convert
- some AMI events to use it. Review:
- https://reviewboard.asterisk.org/r/2577/
- 2013-05-31 12:41 +0000 [r390249-390250] Kinsey Moore <kmoore@digium.com>
- * apps/confbridge/include/confbridge.h, main/stasis_bridging.c,
- apps/confbridge/confbridge_manager.c, apps/app_confbridge.c,
- include/asterisk/stasis_bridging.h: Remove remnant of snapshot
- blob JSON types Remove usage of the once-mandatory snapshot blob
- type field, refactor confbridge stasis messages accordingly, and
- remove ast_bridge_blob_json_type(). Review:
- https://reviewboard.asterisk.org/r/2575/
- * main/stasis_channels.c, include/asterisk/stasis_channels.h: Add
- snapshot cache that indexes by channel name This adds a new
- channel snapshot cache in parallel to the existing cache; the
- difference being that it indexes the channel snapshots by channel
- name instead of channel uniqueid. Review:
- https://reviewboard.asterisk.org/r/2576
- 2013-05-31 10:42 +0000 [r390230] Alexandr Anikin <may@telecom-service.ru>
- * addons/chan_ooh323.c, /: Multiple revisions 390228-390229
- ........ r390228 | may | 2013-05-31 14:19:52 +0400 (Fri, 31 May
- 2013) | 14 lines reject call attempts when gatekeeper is
- configured but not registered (closes issue ASTERISK-21800)
- Reported by: Dmitry Melekhov Patches: ASTERISK-21800-1.patch
- Tested by: Dmitry Melekhov ........ Merged revisions 390181 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 390223 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ r390229
- | may | 2013-05-31 14:34:20 +0400 (Fri, 31 May 2013) | 4 lines
- remove unnecessary declarations (issue ASTERISK-21800) ........
- Merged revisions 390228-390229 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-31 07:57 +0000 [r390180] Walter Doekes <walter+asterisk@wjd.nu>
- * Makefile: Let find do its own globbing. Previously a stray .c
- file would cause xmldocs to not get built.
- 2013-05-30 19:23 +0000 [r390122-390154] David M. Lee <dlee@digium.com>
- * main/app.c: Missed a line from a bad merge in r390122
- * main/stasis_cache.c, include/asterisk.h, main/security_events.c,
- include/asterisk/stasis.h, main/devicestate.c, main/named_acl.c,
- include/asterisk/stasis_bridging.h, main/presencestate.c,
- main/stasis.c, main/channel.c,
- include/asterisk/stasis_channels.h, main/stasis_bridging.c,
- main/test.c, main/app.c, main/stasis_channels.c,
- include/asterisk/security_events.h, main/asterisk.c,
- main/bridging.c: Avoid unnecessary cleanups during immediate
- shutdown This patch addresses issues during immediate shutdowns,
- where modules are not unloaded, but Asterisk atexit handlers are
- run. In the typical case, this usually isn't a big deal. But the
- introduction of the Stasis message bus makes it much more likely
- for asynchronous activity to be happening off in some thread
- during shutdown. During an immediate shutdown, Asterisk skips
- unloading modules. But while it is processing the atexit
- handlers, there is a window of time where some of the core
- message types have been cleaned up, but the message bus is still
- running. Specifically, it's still running module subscriptions
- that might be using the core message types. If a message is
- received by that subscription in that window, it will attempt to
- use a message type that has been cleaned up. To solve this
- problem, this patch introduces ast_register_cleanup(). This
- function operates identically to ast_register_atexit(), except
- that cleanup calls are not invoked on an immediate shutdown. All
- of the core message type and topic cleanup was moved from atexit
- handlers to cleanup handlers. This ensures that core type and
- topic cleanup only happens if the modules that used them are
- first unloaded. This patch also changes the ast_assert() when
- accessing a cleaned up or uninitialized message type to an error
- log message. Message type functions are actually NULL safe across
- the board, so the assert was a bit heavy handed. Especially for
- anyone with DO_CRASH enabled. Review:
- https://reviewboard.asterisk.org/r/2562/
- 2013-05-29 20:24 +0000 [r390068] Richard Mudgett <rmudgett@digium.com>
- * main/channel.c, /: Fix segfault when dealing with chan_agent
- channels. Check the returned bridged pointer for NULL to avoid a
- crash. It looks like chan_agent is returning a NULL pointer when
- it probably should be returning a pointer to the channel the
- Agent channel is pretending to be. (closes issue ASTERISK-21793)
- Reported by: Rodrigo P. Telles Patches:
- jira_asterisk_21793_v1.8.patch (license #5621) patch uploaded by
- rmudgett Tested by: Rodrigo P. Telles ........ Merged revisions
- 390044 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 390047 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-29 19:54 +0000 [r390042] Jason Parker <jparker@digium.com>
- * main/channel.c: Remove unused RAII vars.
- 2013-05-29 03:22 +0000 [r389990] Matthew Jordan <mjordan@digium.com>
- * res/res_fax.c: Pack the right number of items into the status and
- receive fax blobs The code was still attempting to pack an
- additional item into the blobs that didn't exist. Crashes ensued.
- This patch modifies the publishing of these messages so that the
- correct number of items are packed in the JSON.
- 2013-05-29 02:26 +0000 [r389974] Kinsey Moore <kmoore@digium.com>
- * res/res_musiconhold.c, res/res_monitor.c,
- include/asterisk/stasis_channels.h, res/res_fax.c,
- apps/app_fax.c, main/stasis_channels.c: Resolve a merge conflict
- When ast_channel_cached_blob_create was merged,
- ast_channel_blob_create_from_cache was partially removed in an
- unresolved merge conflict. This restores
- ast_channel_blob_create_from_cache and refactors usage of
- ast_channel_cached_blob_create (requires an ast_channel) to use
- ast_channel_blob_create_from_cache (requires a channel uniqueid)
- instead.
- 2013-05-28 17:47 +0000 [r389897] Jonathan Rose <jrose@digium.com>
- * /, main/slinfactory.c: Fix a memory copying bug in slinfactory
- which was causing mixmonitor issues. Reported by: Michael Walton
- Tested by: Jonathan Rose Patches:
- slinfactory.c.ASTERISK-21799.patch uploaded by Michael Walton
- (license 6502) (closes issue ASTERISK-21799) ........ Merged
- revisions 389895 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 389896 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-28 15:54 +0000 [r389848-389870] Mark Michelson <mmichelson@digium.com>
- * main/bridging.c: Add missing NULL check to acquire_bridge()
- function.
- * channels/chan_sip.c, channels/sip/include/sip.h: Add attended
- transfer support for chan_sip.c This now uses the core API for
- performing attended transfers. Review
- https://reviewboard.asterisk.org/r/2513 (Closes issue
- ASTERISK-21520) reported by Matt Jordan
- * main/channel.c, main/pbx.c, bridges/bridge_builtin_features.c,
- channels/chan_sip.c, apps/confbridge/confbridge_manager.c,
- include/asterisk/bridging.h, main/features.c,
- include/asterisk/channel.h, CHANGES, main/bridging.c,
- channels/chan_mgcp.c: Adds support for a core attended transfer
- function plus adds some hiding of masquerades. The attended
- transfer API call can complete the attended transfer in a number
- of ways depending on the current bridged states of the channels
- involved. The hiding of masquerades is done in some
- bridging-related functions, such as the manager Bridge action and
- the Bridge dialplan application. In addition, call pickup was
- edited to "move" a channel rather than masquerade it. Review:
- https://reviewboard.asterisk.org/r/2511 (closes issue
- ASTERISK-21334) Reported by Matt Jordan (closes issue
- Asterisk-21336) Reported by Matt Jordan
- 2013-05-27 01:33 +0000 [r389770-389827] Matthew Jordan <mjordan@digium.com>
- * res/res_fax.c, res/res_fax_spandsp.c: Fix some more fax test
- errors due to needing the peer in a bridge In r389799, a number
- of fax errors in gateway mode were fixed by using the appropriate
- function to get a channel's peer while in a bridge. This patch
- does two things: (1) It uses the same function in res_fax_spandsp
- while starting the fax gateway. Without this, the fax gateway
- will not actually start up, as res_fax_spandsp also must inspect
- the channel's peer in a two-party bridge (2) It refactors some
- ao2 objects in sendfax_exec to use RAII_VAR. This was reverted in
- r389799 as some off nominal paths were getting hit without the
- fix in (1) that indicated an ao2 object issue; this turned out to
- be a red herring (which is an odd phrase)
- * main/stasis_endpoints.c: Initialize the message type before the
- topic Caching topics will during initialization attempt to
- reference their message type. The message type therefore has to
- be initialized prior to the topic to prevent the dreaded
- assertion.
- * res/res_fax.c: Fix a few fax gateway failures Fax gateway
- requires knowledge of a channel's peer in a bridge. This patch
- now uses the supported mechanisms to get this information. This
- is acceptable for a few reasons: * Fax gateway can only ever work
- in a 2-party bridge * Fax gateway cannot work when not in a
- bridge * Fax gateway cannot work without knowledge of the
- capabilities of both channels in the fax operation (it is, after
- all, a gateway)
- * main/asterisk.c, res/res_fax.c, main/devicestate.c: Fix a variety
- of memory corruption/assertion errors * Initialize a Stasis-Core
- message type prior to initializing a caching topic. The caching
- topic will attempt to use the message type. * Don't attempt to
- publish Stasis-Core messages from remote console connections.
- They aren't the main process; they shouldn't attempt to behave as
- it (they also don't have the infrastructure to do so) * Don't
- treat a JSON object as an ao2 object (whoops) * In asterisk.c,
- ref bump the JSON even package that is distributed with the event
- meta data. The callers assume that they own the reference, and
- the packing routine steals references.
- * main/asterisk.c: Restore initialization of security topics During
- a merge the security topic initialization got blown away. This
- patch restores it.
- 2013-05-24 21:23 +0000 [r389746-389748] Jason Parker <jparker@digium.com>
- * /: grr, props.
- * channels/chan_h323.c, main/stasis_channels.c,
- main/manager_channels.c, channels/chan_mgcp.c,
- channels/chan_unistim.c, /, channels/chan_sip.c,
- include/asterisk/channel.h, channels/sig_pri.c,
- channels/chan_iax2.c, CHANGES, res/res_sip_sdp_rtp.c,
- main/channel.c, channels/chan_dahdi.c,
- include/asterisk/stasis_channels.h, channels/sig_analog.c,
- channels/chan_misdn.c, channels/chan_skinny.c,
- channels/chan_motif.c: Split Hold event into Hold/Unhold, and
- move it into core. (closes issue ASTERISK-21487) Review:
- https://reviewboard.asterisk.org/r/2565/
- 2013-05-24 21:01 +0000 [r389738] Kinsey Moore <kmoore@digium.com>
- * res/res_stasis.c: Remove a junk define BLOB_HANDLER_BUCKETS is a
- remnant of using "type" fields in JSON/snapshot blobs and is no
- longer used.
- 2013-05-24 20:44 +0000 [r389680-389733] Matthew Jordan <mjordan@digium.com>
- * include/asterisk/_private.h, include/asterisk/manager.h,
- channels/sig_pri.c, CHANGES, res/res_monitor.c,
- include/asterisk/app.h, main/json.c,
- include/asterisk/stasis_channels.h, apps/app_chanspy.c,
- res/parking/parking_manager.c, main/asterisk.c,
- main/manager_mwi.c (added), apps/app_voicemail.c,
- channels/chan_unistim.c, include/asterisk/json.h,
- res/res_musiconhold.c, res/res_xmpp.c, channels/chan_iax2.c,
- res/res_jabber.c, main/enum.c, main/loader.c, main/cli.c,
- main/cdr.c, channels/chan_dahdi.c, main/manager.c,
- channels/chan_skinny.c, apps/app_minivm.c, main/app.c,
- main/stasis_channels.c, main/manager_channels.c,
- res/res_sip_mwi.c, channels/chan_mgcp.c, main/pbx.c,
- main/dnsmgr.c, channels/chan_sip.c, res/res_fax.c,
- apps/app_fax.c: Migrate a large number of AMI events over to
- Stasis-Core This patch moves a number of AMI events over to the
- Stasis-Core message bus. This includes: * ChanSpyStart/Stop *
- MonitorStart/Stop * MusicOnHoldStart/Stop * FullyBooted/Reload *
- All Voicemail/MWI related events In addition, it adds some
- Stasis-Core and AMI support for generic AMI messages, refactors
- the message router in AMI to use a single router with topic
- forwarding for the topics that AMI cares about, and refactors MWI
- message types and topics to be more name compliant. Review:
- https://reviewboard.asterisk.org/r/2532 (closes issue
- ASTERISK-21462)
- * /, main/logger.c: Print all logger messages on shutdown When
- Asterisk shuts down and shuts down the loggin gsubsystem, any
- messages currently in flight will not get logged. This patch
- prevents the loop writing messages from breaking out prematurely,
- such that all of the messages are logged. (closes issue
- ASTERISK-21716) Reported by: Corey Farrell patches:
- logger-process-all-messages.patch uploaded by Corey Farrell
- (license 5909) ........ Merged revisions 389676 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 389677 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-24 10:23 +0000 [r389663] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
- * channels/chan_unistim.c, /: Fix several problems caused by
- multiple line usage with i2004 phones. Reported by: Daniel
- Bohling, MihaiMircea (closes issue ASTERISK-21061) (closes issue
- ASTERISK-21120) ........ Merged revisions 389661 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-23 21:46 +0000 [r389639] David M. Lee <dlee@digium.com>
- * res/res_stasis_playback.c, res/stasis_http/resource_channels.c,
- include/asterisk/stasis_http.h, res/res_stasis_http.c:
- stasis-http: Provide a response body for 201 created responses
- 2013-05-23 21:11 +0000 [r389618-389623] Jonathan Rose <jrose@digium.com>
- * res/parking/parking_bridge.c: res_parking: Add a verbose message
- when a channel is parked
- * res/parking/parking_bridge.c: res_parking: Fix some simple bugs
- Both of them are covered in the dynamic parking review on
- https://reviewboard.asterisk.org/r/2550 - Remove unref against
- parking lot that the bridge did on dissolve since the reference
- wasn't taken in the first place. On a swap, reapply bridge roles
- in order to get music on hold and such playing on the channel
- that swaps into the bridge.
- 2013-05-23 20:25 +0000 [r389609] Joshua Colp <jcolp@digium.com>
- * res/res_sip_session.c: Fix a crash due to the INVITE session
- being destroyed before the session. This change ensures that the
- INVITE session remains valid for the lifetime of the session
- object itself by increasing the session count on the dialog that
- the INVITE session is allocated from. Once this reaches zero
- (normally as a result of decrementing it within the session
- destructor) the dialog, and INVITE session, are destroyed.
- 2013-05-23 20:21 +0000 [r389587-389603] David M. Lee <dlee@digium.com>
- * include/asterisk/stasis_app_playback.h,
- res/stasis_http/resource_playback.c, include/asterisk/app.h,
- res/res_stasis_playback.c, res/stasis/control.c,
- res/stasis_http/resource_channels.c,
- rest-api/api-docs/playback.json, res/res_stasis_http_channels.c,
- include/asterisk/stasis_app.h, main/app.c,
- include/asterisk/channel.h, res/stasis_http/resource_channels.h,
- rest-api/api-docs/channels.json: This patch adds support for
- controlling a playback operation from the Asterisk REST
- interface. This adds the /playback/{playbackId}/control resource,
- which may be POSTed to to pause, unpause, reverse, forward or
- restart the media playback. Attempts to control a playback that
- is not currently playing will either return a 404 Not Found
- (because the playback object no longer exists) or a 409 Conflict
- (because the playback object is still in the queue to be played).
- This patch also adds skipms and offsetms parameters to the
- /channels/{channelId}/play resource. (closes issue
- ASTERISK-21587) Review: https://reviewboard.asterisk.org/r/2559
- * res/res_stasis_json_events.exports.in, res/res_stasis_playback.c
- (added), rest-api/api-docs/events.json, res/stasis/control.c,
- main/channel_internal_api.c, include/asterisk/stasis_http.h,
- res/res_stasis_http_channels.c, res/res_stasis_json_events.c,
- include/asterisk/stasis_app_playback.h (added),
- res/stasis_http/resource_playback.c, include/asterisk/app.h,
- include/asterisk/stasis_channels.h,
- res/stasis_json/resource_channels.h,
- res/stasis_http/resource_channels.c,
- res/stasis_http/resource_channels.h, main/stasis_channels.c,
- rest-api/api-docs/channels.json,
- res/res_stasis_playback.exports.in (added),
- res/res_stasis_http.c, res/stasis_json/resource_events.h: This
- patch implements the REST API's for POST
- /channels/{channelId}/play and GET /playback/{playbackId}. This
- allows an external application to initiate playback of a sound on
- a channel while the channel is in the Stasis application. /play
- commands are issued asynchronously, and return immediately with
- the URL of the associated /playback resource. Playback commands
- queue up, playing in succession. The /playback resource shows the
- state of a playback operation as enqueued, playing or complete.
- (Although the operation will only be in the 'complete' state for
- a very short time, since it is almost immediately freed up).
- (closes issue ASTERISK-21283) (closes issue ASTERISK-21586)
- Review: https://reviewboard.asterisk.org/r/2531/
- 2013-05-23 18:40 +0000 [r389569] Richard Mudgett <rmudgett@digium.com>
- * main/features.c: Fix inverted test preventing DTMF disconnect
- from working.
- 2013-05-23 18:39 +0000 [r389551-389568] Joshua Colp <jcolp@digium.com>
- * res/res_sip_sdp_rtp.c: Fix a bug where the DTMF mode was not set
- on newly created RTP instances in the res_sip_sdp_rtp module.
- * res/res_sip_sdp_rtp.c: Fix a bug with applying the end result of
- the codec negotiation to the Asterisk channel.
- * res/res_sip_session.c: Fix a bug where the codec order as
- configured was not being obeyed.
- 2013-05-22 19:15 +0000 [r389519] David M. Lee <dlee@digium.com>
- * main/app.c: Fixed startup race condition which caused occasional
- stasis_mwi_state_type assertions. The caching topic (which refers
- to the message type) was created before the message type. If the
- initial subscription message gets processed before the type can
- be initialized, the assertion about using an uninitialized type
- fires.
- 2013-05-22 18:20 +0000 [r389492-389505] Jason Parker <jparker@digium.com>
- * /: Remove bad props, before anybody notices.
- * /, include/asterisk/dial.h, apps/app_followme.c,
- apps/app_queue.c, apps/app_dial.c, main/dial.c: Add dial events
- to app_queue and app_followme. Also fixes an issue in app_dial,
- where the channels were swapped on dial events. (closes issue
- ASTERISK-21551) (closes issue ASTERISK-21550) Review:
- https://reviewboard.asterisk.org/r/2549/
- 2013-05-21 22:49 +0000 [r389454] David M. Lee <dlee@digium.com>
- * main/stasis_bridging.c: Fix destruction order assert for
- stasis_bridging
- 2013-05-21 21:08 +0000 [r389426] Richard Mudgett <rmudgett@digium.com>
- * apps/app_queue.c: Conditional out more app_queue logging that
- needs to be reworked. Fixes crash because app_queue was
- unconditionally freeing a datastore that was still on a channel.
- 2013-05-21 18:45 +0000 [r389402] Matthew Jordan <mjordan@digium.com>
- * apps/app_confbridge.c, apps/confbridge/confbridge_manager.c:
- Raise the ConfBridgeMute/Unmute events when a CLI or AMI action
- triggers the change New in 12 are the ConfBridgeMute/Unmute
- events, which are triggered when a user changes their mute/unmute
- state. This was typically triggered when a user hit a DTMF key
- that triggered the mute/unmute menu handler. Forgotten in this is
- when an AMI action or CLI command triggers the mute/unmute. This
- patch now raises the events in those situations as well. (closes
- issue ASTERISK-21802) Reported by: Birger "WIMPy" Harzenetter
- 2013-05-21 18:00 +0000 [r389378] Richard Mudgett <rmudgett@digium.com>
- * rest-api-templates/res_stasis_json_resource.c.mustache,
- include/asterisk/frame.h, apps/app_mixmonitor.c,
- include/asterisk/parking.h (added), channels/chan_mgcp.c,
- main/bridging_roles.c (added), main/pbx.c, main/strings.c,
- rest-api/api-docs/events.json, include/asterisk/core_local.h
- (added), configs/res_parking.conf.sample (added),
- channels/chan_bridge.c (removed),
- res/parking/parking_controller.c,
- res/parking/parking_applications.c, include/asterisk/channel.h,
- include/asterisk/manager.h, apps/app_queue.c,
- include/asterisk/stasis_bridging.h (added),
- include/asterisk/framehook.h, include/asterisk/config_options.h,
- bridges/bridge_builtin_features.c,
- apps/confbridge/confbridge_manager.c (added), main/features.c,
- apps/app_dumpchan.c, channels/chan_motif.c, channels/chan_h323.c,
- apps/app_confbridge.c, include/asterisk/rtp_engine.h,
- apps/app_chanspy.c, include/asterisk/ccss.h,
- main/manager_channels.c, main/bridging.c,
- apps/confbridge/conf_chan_announce.c (added),
- main/bridging_basic.c (added), include/asterisk/core_unreal.h
- (added), apps/app_dial.c, res/res_stasis_json_events.exports.in,
- addons/chan_ooh323.c, main/frame.c, main/parking.c (added),
- bridges/bridge_holding.c (added), bridges/bridge_simple.c,
- bridges/bridge_softmix.c, funcs/func_jitterbuffer.c,
- res/Makefile, res/res_stasis_json_events.c, main/core_local.c
- (added), CHANGES, channels/chan_iax2.c,
- bridges/bridge_multiplexed.c (removed),
- res/parking/parking_bridge_features.c,
- include/asterisk/abstract_jb.h, channels/chan_gulp.c,
- apps/confbridge/conf_config_parser.c, main/channel.c,
- res/res_parking.c (added), main/manager.c, main/stasis_bridging.c
- (added), res/parking (added),
- bridges/bridge_builtin_interval_features.c (added),
- rest-api-templates/stasis_json_resource.h.mustache,
- main/config_options.c, res/stasis_json/resource_events.h,
- main/asterisk.c, res/parking/parking_manager.c,
- apps/app_parkandannounce.c (removed), channels/chan_unistim.c,
- res/parking/parking_ui.c, channels/chan_local.c (removed),
- main/rtp_engine.c, apps/confbridge/conf_chan_record.c (added),
- main/core_unreal.c (added), apps/app_bridgewait.c (added),
- apps/app_followme.c, configs/features.conf.sample,
- channels/chan_jingle.c, channels/chan_dahdi.c,
- apps/app_channelredirect.c, funcs/func_channel.c,
- main/abstract_jb.c, main/manager_bridging.c (added),
- include/asterisk/bridging_roles.h (added), channels/chan_vpb.cc,
- channels/chan_sip.c, main/channel_internal_api.c,
- channels/chan_agent.c, UPGRADE.txt, include/asterisk/_private.h,
- res/parking/parking_bridge.c, main/cli.c,
- res/parking/res_parking.h,
- include/asterisk/bridging_technology.h, channels/chan_misdn.c,
- apps/confbridge/include/confbridge.h, channels/chan_skinny.c,
- include/asterisk/bridging_features.h, funcs/func_frame_trace.c,
- include/asterisk/bridging.h, include/asterisk/bridging_basic.h
- (added), bridges/bridge_native_rtp.c (added): Merge in the
- bridge_construction branch to make the system use the Bridging
- API. Breaks many things until they can be reworked. A partial
- list: chan_agent chan_dahdi, chan_misdn, chan_iax2 native
- bridging app_queue COLP updates DTMF attended transfers Protocol
- attended transfers
- 2013-05-21 14:17 +0000 [r389343] David M. Lee <dlee@digium.com>
- * apps/app_userevent.c, main/stasis_channels.c: Fixed some extra
- field assertion when the event WebSocket is connected
- 2013-05-20 19:24 +0000 [r389306] Matthew Jordan <mjordan@digium.com>
- * main/pbx.c: Set the AST_CDR_FLAG_ORIGINATED flag on originated
- channel's CDRs This may alleviate some of the CDR woes with
- originated channels, as CDRs do like to know when a channel was
- originated. Eventually this will get converted to be a channel
- flag, so its location is still good to know post the great CDR
- shakeup of 2013.
- 2013-05-20 18:03 +0000 [r389247-389251] Richard Mudgett <rmudgett@digium.com>
- * res/stasis_http/resource_recordings.c, cel/cel_sqlite3_custom.c,
- main/event.c, funcs/func_iconv.c,
- res/stasis_http/resource_recordings.h,
- res/stasis_http/resource_events.c,
- res/res_stasis_http_asterisk.c, main/udptl.c,
- res/res_stasis_websocket.c, res/stasis_http/resource_events.h,
- tests/test_gosub.c, main/threadstorage.c, cel/cel_tds.c,
- tests/test_dlinklists.c, res/res_stasis_http_endpoints.c,
- res/stasis_http/resource_asterisk.c, res/ael/pval.c, main/json.c,
- res/stasis_http/resource_asterisk.h, res/ael/ael_lex.c,
- res/res_stasis_http_bridges.c, tests/test_stasis_http.c,
- tests/test_stasis.c, res/res_clioriginate.c, cel/cel_pgsql.c,
- tests/test_res_stasis.c, res/res_stasis_http_channels.c,
- res/res_srtp.c, main/stasis.c, main/stasis_message.c,
- main/stasis_message_router.c, main/hashtab.c, res/ael/ael.tab.c,
- cel/cel_manager.c, funcs/func_odbc.c,
- res/stasis_http/resource_channels.c, funcs/func_channel.c,
- res/ael/ael.tab.h, res/stasis_http/resource_channels.h,
- utils/ael_main.c, formats/format_h264.c, codecs/codec_dahdi.c,
- contrib/utils/eagi_proxy.c, res/res_stasis.c,
- main/manager_channels.c, tests/test_json.c, cel/cel_radius.c,
- main/stasis_cache.c, tests/test_astobj2_thrash.c,
- funcs/func_dialgroup.c, tests/test_xml_escape.c, pbx/pbx_lua.c,
- res/res_ael_share.c, res/res_pktccops.c, funcs/func_realtime.c,
- cel/cel_odbc.c, res/res_smdi.c, cel/cel_custom.c, res/res_curl.c,
- res/res_stasis_http.c, res/stasis_http/resource_endpoints.c,
- utils/refcounter.c, res/stasis_http/resource_endpoints.h,
- funcs/func_rand.c, funcs/func_version.c, main/sha1.c,
- tests/test_hashtab_thrash.c, res/stasis_http/resource_bridges.c,
- res/res_stasis_http_recordings.c, main/cel.c,
- res/stasis_http/resource_bridges.h, res/res_stasis_http_events.c,
- tests/test_time.c: Fixup svn:keywords in all *.c and *.h files.
- * channels/sip/include/globals.h, apps/app_celgenuserevent.c,
- channels/sip/dialplan_functions.c, include/asterisk/pktccops.h,
- channels/sip/include/sdp_crypto.h,
- include/asterisk/ael_structs.h, include/asterisk/udptl.h,
- channels/sip/include/srtp.h, include/asterisk/frame_defs.h,
- apps/app_stasis.c, include/asterisk/sha1.h,
- include/asterisk/smdi.h, include/asterisk/stringfields.h,
- channels/sip/sdp_crypto.c, channels/sip/include/dialog.h,
- include/asterisk/res_srtp.h, channels/sip/srtp.c,
- include/asterisk/cel.h, include/asterisk/stasis_http.h,
- include/asterisk/stasis_app.h, include/asterisk/stasis.h,
- apps/app_morsecode.c, apps/app_waituntil.c,
- include/asterisk/json.h,
- include/asterisk/stasis_message_router.h,
- include/asterisk/hashtab.h,
- channels/sip/include/dialplan_functions.h,
- include/asterisk/paths.h, include/asterisk/event.h,
- apps/app_setcallerid.c, include/asterisk/event_defs.h: Fixup
- svn:keywords in all *.c and *.h files.
- 2013-05-20 17:44 +0000 [r389246] Jason Parker <jparker@digium.com>
- * /: Add doxygen.log to svn:ignore property. ........ Merged
- revisions 389244 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 389245 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-20 14:21 +0000 [r389217] Kinsey Moore <kmoore@digium.com>
- * res/res_stasis_answer.exports.in (added): Add missing exports
- file This exposes stasis_app_control_answer and allows
- res_stasis_http_channels to load properly.
- 2013-05-20 14:02 +0000 [r389204] Joshua Colp <jcolp@digium.com>
- * main/sorcery.c: In Sorcery pass the name of the object being
- allocated to the allocator.
- 2013-05-20 13:45 +0000 [r389202] Kinsey Moore <kmoore@digium.com>
- * apps/confbridge/conf_config_parser.c: Add documentation for
- record_file_append When this option was added, it was noted in
- CHANGES, but was missing the XML documentation that this patch
- adds. (closes issue ASTERISK-21780) Patch-by: Brad Latus (snuffy)
- 2013-05-19 20:52 +0000 [r389180] Alexandr Anikin <may@telecom-service.ru>
- * addons/chan_ooh323.c, addons/chan_ooh323.h: add
- ast_publish_channel_state according new event framework
- 2013-05-19 19:45 +0000 [r389164] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Add transfer softkey to ringout state to
- enable blond transfers. (closes issue ASTERISK-21327) Reported
- by: wedhorn Tested by: myself Patches: skinny-blindxfer01.diff
- uploaded by wedhorn (license 5019)
- 2013-05-19 17:45 +0000 [r389148] Kinsey Moore <kmoore@digium.com>
- * res/res_sip_acl.c, res/res_sip.c,
- res/res_sip_outbound_registration.c,
- res/res_sip_endpoint_identifier_ip.c: Add base XML documentation
- for res_sip Thanks to Brad Latus, this patch adds a significant
- amount much-needed documentation to res_sip. It should cover all
- existing configuration options currently in Asterisk trunk.
- Patch-by: Brad Latus (snuffy) Review:
- https://reviewboard.asterisk.org/r/2471/
- 2013-05-19 02:21 +0000 [r389116-389132] Joshua Colp <jcolp@digium.com>
- * main/pbx.c: Don't hold the outgoing lock for a prolonged period
- of time as it may block the originator.
- * main/pbx.c: If the caller of the originate API calls wants the
- channel ensure it has been requested and dialed.
- 2013-05-18 23:20 +0000 [r389097] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c, configs/skinny.conf.sample: Add call
- forward no answer to skinny and cleanup general callfwd handling.
- CallforwardNoAnswer uses a sched to determine when to forward the
- call. Defaults to 20secs but configurable in skinny.conf. Adds
- dialType to each subchannel structure to be used to differentiate
- between normal dials that result in a call being placed (default)
- and other uses for the skinny_dialer (such as cfwd digit
- collection). Restructured all cfwd handling to use this new
- arrangement. (closes issue ASTERISK-21292) Reported by: wedhorn
- Tested by: myself Patches: skinny-callfwdnoans03.diff uploaded by
- wedhorn (license 5019)
- 2013-05-18 22:49 +0000 [r389053-389085] Joshua Colp <jcolp@digium.com>
- * main/pbx.c: Fix a bug where synchronous origination (oddly enough
- triggered by doing an async manager Originate) would not work
- properly.
- * include/asterisk/dial.h, main/manager_channels.c, main/dial.c,
- main/pbx.c: Move origination to use the dialing API and send
- Stasis messages on dial begin and end. (closes issue
- ASTERISK-21549) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2512/
- 2013-05-17 21:10 +0000 [r389011] David M. Lee <dlee@digium.com>
- * res/res_jabber.c, apps/app_queue.c, channels/chan_iax2.c,
- main/endpoints.c, include/asterisk/stasis_message_router.h,
- res/res_chan_stats.c, main/stasis.c, main/manager.c,
- funcs/func_presencestate.c, main/stasis_message_router.c,
- main/app.c, main/stasis_channels.c, res/res_stasis.c,
- main/manager_channels.c, apps/app_voicemail.c,
- main/stasis_cache.c, main/pbx.c, main/stasis_endpoints.c,
- channels/chan_sip.c, include/asterisk/stasis.h,
- main/devicestate.c: Fix shutdown assertions in stasis-core In
- r388005, macros were introduced to consistently define message
- types. This added an assert if a message type was used either
- before it was initialized or after it had been cleaned up. It
- turns out that this assertion fires during shutdown. This
- actually exposed a hidden shutdown ordering problem. Since
- unsubscribing is asynchronous, it's possible that the message
- types used by the subscription could be freed before the final
- message of the subscription was processed. This patch adds
- stasis_subscription_join(), which blocks until the last message
- has been processed by the subscription. Since joining was most
- commonly done right after an unsubscribe, a
- stasis_unsubscribe_and_join() convenience function was also
- added. Similar functions were also added to the
- stasis_caching_topic and stasis_message_router, since they wrap
- subscriptions and have similar problems. Other code in trunk was
- refactored to join() where appropriate, or at least verify that
- the subscription was complete before being destroyed. Review:
- https://reviewboard.asterisk.org/r/2540
- 2013-05-17 20:24 +0000 [r389009] Michael L. Young <elgueromexicano@gmail.com>
- * channels/chan_iax2.c: Remove Character Limit On "inkeys" For IAX2
- Currently, the buffer for processing "inkeys" is limited to 256
- characters. If the user has many keys and the names of those key
- files are long, the 256 character limit is not enough. * Change
- inkeys buffer to be dynamic (closes issue ASTERISK-21398)
- Reported by: Pavel Kopchyk Tested by: Pavel Kopchyk, Michael L.
- Young Patches: asterisk-21398-iax2-inkeys-dynamic-buffer_v3.diff
- by Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2501/
- 2013-05-17 17:43 +0000 [r388976] Matthew Jordan <mjordan@digium.com>
- * apps/app_dial.c, main/channel.c, main/dial.c,
- include/asterisk/stasis_channels.h, main/stasis_channels.c:
- Publish the outbound channel's application/data when dialing This
- patch does two things: * It fixes a bug where the outbound
- channel's application/data set by the dialing API/app_dial is not
- communicated until the channel is hung up. If that happens, AMI
- would incorrectly send a NewExten event immediately after a
- Hangup. This isn't really AMI's fault, as the dialing APIs never
- communicated the 'helpful' app/data on the outbound channel until
- it was hungup. * It makes public sending a stasis message about a
- change in channel state. This is useful enough that - for now at
- least - it should be public. If operations on a channel go to
- being more coarse-grained, this function could be made private
- again. Review: https://reviewboard.asterisk.org/r/2548 Note that
- this problem was found and reported by Matt DiMeo.
- 2013-05-17 17:36 +0000 [r388975] Jonathan Rose <jrose@digium.com>
- * include/asterisk/json.h, main/named_acl.c, CHANGES,
- channels/chan_iax2.c, tests/test_security_events.c,
- res/res_sip.c, main/json.c, main/manager.c,
- channels/sip/include/config_parser.h, res/res_sip_nat.c,
- channels/sip/dialplan_functions.c, include/asterisk/netsock2.h,
- res/res_sip_outbound_registration.c,
- channels/sip/config_parser.c, include/asterisk/security_events.h,
- channels/sip/include/sip.h,
- include/asterisk/security_events_defs.h, main/asterisk.c,
- res/res_security_log.c, include/asterisk/acl.h,
- res/res_sip/config_transport.c, channels/chan_sip.c,
- main/security_events.c, channels/sip/security_events.c,
- include/asterisk/res_sip.h: Stasis: Update security events to use
- Stasis Also moves ACL messages to the security topic and gets rid
- of the ACL topic (closes issue ASTERISK-21103) Reported by: Matt
- Jordan Review: https://reviewboard.asterisk.org/r/2496/
- 2013-05-15 21:13 +0000 [r388896] David M. Lee <dlee@digium.com>
- * res/stasis/app.c, res/stasis/app.h: Fixed inverted logic in
- app_add_channel(). Also added some missing doc comments for
- stasis/app.h.
- 2013-05-15 15:58 +0000 [r388840] Kevin Harwell <kharwell@digium.com>
- * main/lock.c, /: Fix for segfault in __ast_rwlock_destroy with
- DEBUG_THREADS If DEBUG_THREADS is enabled __ast_rwlock_destroy
- causes a segfault while trying to access a possible NULL t->track
- object. A NULL check has been added before trying to access the
- memory. (closes issue ASTERISK-21724) Reported by: Corey Farrell
- Fixed by: Corey Farrell Patches: ast_rwlock_destroy-segv.patch
- uploaded by Corey Farrell (license 5909) ........ Merged
- revisions 388838 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 388839 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-15 15:03 +0000 [r388818] Jason Parker <jparker@digium.com>
- * apps/app_voicemail.c, /: Fix VM snapshot handling for combined
- INBOX. The snapshot API contains an option that allow for
- combining of new and old messages within a single snapshot. New
- messages, however, include options beyond just 'INBOX' - it also
- includes the Urgent folder. A previous patch that combined INBOX
- and Urgent accidentally impacted snapshots that attempted to gain
- messages from just the Old folder. This patch fixes the snapshot
- gathering such that the API returns the appropriate messages for
- the folder selected, with and without the combine option. This
- should make it more clear about what's happening. Review:
- https://reviewboard.asterisk.org/r/2539/ ........ Merged
- revisions 388816 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-15 12:42 +0000 [r388770] Kinsey Moore <kmoore@digium.com>
- * res/res_srtp.c, /, configure, include/asterisk/autoconfig.h.in,
- configure.ac: Use srtp_shutdown when available This allows the
- SRTP library to be shut down properly when the functionality is
- offered by libsrtp. Review:
- https://reviewboard.asterisk.org/r/2538/ (closes issue
- ASTERISK-21719) ........ Merged revisions 388768 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 388769 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-15 02:37 +0000 [r388729-388751] David M. Lee <dlee@digium.com>
- * main/named_acl.c, res/res_stasis_test.c, main/asterisk.c,
- main/presencestate.c, main/stasis.c, main/stasis_cache.c,
- main/stasis_endpoints.c, include/asterisk/stasis.h, main/test.c,
- main/app.c, main/devicestate.c: Refactored the rest of the
- message types to use the STASIS_MESSAGE_TYPE_* macros.
- * res/res_stasis_answer.c (added), res/res_stasis.c,
- apps/app_stasis.c, res/stasis (added), include/asterisk/module.h,
- include/asterisk/stasis_app.h, include/asterisk/stasis_app_impl.h
- (added), res/Makefile: Break res_stasis into smaller files. When
- implementing playback for stasis-http, the monolithicedness of
- res_stasis really started to get in my way. This patch breaks the
- major components of res_stasis.c into individual files. *
- res/stasis/app.c - Stasis application tracking *
- res/stasis/control.c - Channel control objects *
- res/stasis/command.c - Channel command object This refactoring
- also allows res_stasis applications to be loaded as independent
- modules, such as the new res_stasis_answer module. The bulk of
- this patch is simply moving code from one file to another,
- adjusting names and adding accessors as necessary. Review:
- https://reviewboard.asterisk.org/r/2530/
- 2013-05-14 19:03 +0000 [r388701] Richard Mudgett <rmudgett@digium.com>
- * main/astobj2.c, /, include/asterisk/astobj2.h: Make ao2 global
- objects not always use the debug version of the ao2_ref() calls.
- The debug versions of ao2_ref() should only be used if REF_DEBUG
- is enabled so nothing is written to /tmp/refs unexpectedly.
- (closes issue ASTERISK-21785) Reported by: abelbeck Patches:
- jira_asterisk_21785_v11.patch (license #5621) patch uploaded by
- rmudgett Tested by: abelbeck ........ Merged revisions 388700
- from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-14 12:47 +0000 [r388668] Kinsey Moore <kmoore@digium.com>
- * res/stasis_http/resource_recordings.h,
- rest-api-templates/stasis_http_resource.h.mustache,
- res/res_stasis_json_endpoints.exports.in (added),
- res/res_stasis_json_events.exports.in (added),
- res/res_stasis_json_channels.c (added),
- rest-api-templates/res_stasis_http_resource.c.mustache,
- res/stasis_http/resource_events.h,
- res/res_stasis_json_recordings.c (added),
- res/stasis_json/resource_bridges.h (added),
- res/stasis_http/resource_sounds.h, res/res_stasis_json_events.c
- (added), res/res_stasis_json_bridges.exports.in (added),
- res/stasis_json/resource_playback.h (added),
- res/res_stasis_json_sounds.c (added),
- res/stasis_http/resource_asterisk.h,
- res/stasis_json/resource_channels.h (added),
- rest-api-templates/stasis_json_resource.h.mustache (added),
- res/res_stasis_json_channels.exports.in (added),
- res/stasis_json/resource_recordings.h (added),
- res/res_stasis_json_asterisk.c (added),
- rest-api-templates/res_stasis_json_resource.c.mustache (added),
- res/res_stasis_json_recordings.exports.in (added),
- res/stasis_json/resource_events.h (added),
- res/stasis_http/resource_endpoints.h,
- res/stasis_json/resource_sounds.h (added),
- tests/test_res_stasis.c, res/res_stasis_json_sounds.exports.in
- (added), res/res_stasis_json_endpoints.c (added),
- rest-api-templates/res_stasis_json_resource.exports.mustache
- (added), res/stasis_http/resource_bridges.h,
- res/stasis_json/resource_asterisk.h (added),
- res/res_stasis_http_events.c,
- res/res_stasis_json_asterisk.exports.in (added),
- res/res_stasis_json_playback.exports.in (added),
- res/stasis_http/resource_playback.h,
- res/res_stasis_json_bridges.c (added),
- res/stasis_http/resource_channels.h, res/stasis_json (added),
- res/stasis_json/resource_endpoints.h (added),
- res/res_stasis_json_playback.c (added), res/res_stasis.c,
- rest-api-templates/make_stasis_http_stubs.py: Move JSON event
- generators into separate modules This moves the JSON event
- generators out of the Stasis-HTTP modules and into standalone
- JSON-related counterparts so that Stasis-HTTP and res_stasis can
- depend on them without creating dependency cycles. This also
- provides a future location for Swagger Model validator functions
- once the generators for that code are written. Review:
- https://reviewboard.asterisk.org/r/2534/
- 2013-05-13 21:21 +0000 [r388602-388617] Michael L. Young <elgueromexicano@gmail.com>
- * /, main/logger.c: Fix Missing CALL-ID When Logging Through Syslog
- The CALL-ID (ie [C-00000074]) is missing when logging to syslog.
- This was just an oversight when this feature was added. * Add
- CALL-IDs when using syslog (closes issue ASTERISK-21430) Reported
- by: Nikola Ciprich Tested by: Nikola Ciprich, Michael L. Young
- Patches: asterisk-21430-syslog-callid_trunk.diff by Michael L.
- Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2526/ ........ Merged
- revisions 388605 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: Fix Crash Caused By One-way Audio With
- auto_* NAT Settings Fix The prior code committed, r385473, failed
- to take into consideration that not all outgoing calls will be to
- a peer. My fault. This patch does the following: * Check if there
- is a related peer involved. If there is, check and set NAT
- settings according to the peer's settings. * Fix a problem with
- realtime peers. If the global setting has auto_force_rport set
- and we issued a "sip reload" while a peer is still registered,
- the peer's flags for NAT are reset to off. When this happens, we
- were always setting the contact address of the peer to that of
- the full contact info that we had. (closes issue ASTERISK-21374)
- Reported by: jmls Tested by: Michael L. Young Patches:
- asterisk-21374-fix-crash-and-rt-peers.diff by Michael L. Young
- (license 5026) Review: https://reviewboard.asterisk.org/r/2524/
- ........ Merged revisions 388601 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-13 20:37 +0000 [r388598] Kinsey Moore <kmoore@digium.com>
- * res/res_srtp.c, /: Revert r388529 for now Adding the cleanup
- function needs some deeper thought since it apparently doesn't
- exist for all variants of libsrtp. ........ Merged revisions
- 388596 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 388597 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-13 19:29 +0000 [r388579] Jonathan Rose <jrose@digium.com>
- * main/pbx.c, /: pbx: Fix lack of cleanup on macrolock and
- context_table (closes issue ASTERISK-21723) Reported by: Corey
- Farrell Patches: core-pbx-cleanup.patch uploaded by Correy
- Farrell (license 5909) ........ Merged revisions 388532 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 388578 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-13 18:10 +0000 [r388531] Kinsey Moore <kmoore@digium.com>
- * res/res_srtp.c, /: Close libsrtp properly Ensure that libsrtp is
- shutdown properly when res_srtp is unloaded. (closes issue
- ASTERISK-21719) Reported by: Corey Farrell Patches:
- res_srtp-library-shutdown.patch uploaded by Corey Farrell
- ........ Merged revisions 388529 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 388530 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-13 17:20 +0000 [r388526] Jonathan Rose <jrose@digium.com>
- * channels/chan_gulp.c: chan_gulp: Minor readability Improvements
- to chan_gulp (closes issue ASTERISK-21670) Reported by: Snuffy
- Review: https://reviewboard.asterisk.org/r/2473/ Patches:
- gulp-coding-guide.diff uploaded by snuffy (license 5024)
- 2013-05-13 14:28 +0000 [r388479] Richard Mudgett <rmudgett@digium.com>
- * main/manager.c, /: Fix SendText AMI action to never return
- non-zero. AMI actions must never return non-zero unless they
- intend to close the AMI connection. (Which is almost never.)
- (closes issue ASTERISK-21779) Reported by: Paul Goldbaum ........
- Merged revisions 388477 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 388478 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-10 22:12 +0000 [r388427] Richard Mudgett <rmudgett@digium.com>
- * /, channels/misdn/isdn_msg_parser.c: Allow mISDN to send PROGRESS
- messsage. * Made isdn_msg_parser.c build a progress message with
- the mandatory progress indicator IE. (The mISDNuser NT state
- machine rejected sending the incomplete message.) Note: The
- associated mISDN and mISDNuser patches respectively are viewable
- here: http://svnview.digium.com/svn/thirdparty?view=rev&rev=200
- http://svnview.digium.com/svn/thirdparty?view=rev&rev=201 (closes
- issue AST-1153) Reported by: Guenther Kelleter Patches:
- progress-chan_misdn.diff (license #6372) patch uploaded by
- Guenther Kelleter progress-misdn.diff (license #6372) mISDN patch
- uploaded by Guenther Kelleter progress-misdnuser.diff (license
- #6372) mISDNuser patch uploaded by Guenther Kelleter ........
- Merged revisions 388425 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 388426 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-10 20:50 +0000 [r388380] Mark Michelson <mmichelson@digium.com>
- * /, pbx/pbx_dundi.c: Fix memory leak in pbx_dundi pbx_dundi added
- an io context without removing it. This caused a memory leak when
- the module was unloaded. (closes ASTERISK-21718) Reported by
- Corey Farrell Patches: pbx_dundi-ast_io_remove.patch uploaded by
- Corey Farrell (License #5909) ........ Merged revisions 388376
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 388378 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-10 20:28 +0000 [r388375] Michael L. Young <elgueromexicano@gmail.com>
- * res/res_config_odbc.c: Fix Finding Extensions With Patterns Using
- ODBC Realtime After the merge of support for the realtime sorcery
- module, extensions that contained a pattern were not being found
- through odbc realtime. It was tracked down to this one line that
- was advancing to the next variable list before it should have
- been. The removal of this one line fixes this. Tested this fix on
- my machine. Received confirmation that this is the right fix from
- file on IRC.
- 2013-05-10 17:12 +0000 [r388318-388350] David M. Lee <dlee@digium.com>
- * res/res_stasis_http_channels.c, include/asterisk/stasis_app.h,
- res/res_stasis_http_recordings.c,
- res/res_stasis_http_endpoints.c, main/loader.c,
- res/res_stasis_http_events.c, res/res_stasis_http_sounds.c,
- res/res_stasis_http_bridges.c, res/res_stasis_http.c,
- res/res_stasis.c, apps/app_stasis.c,
- res/res_stasis_http_asterisk.c,
- rest-api-templates/res_stasis_http_resource.c.mustache,
- res/res_stasis_http_playback.c, res/res_stasis_websocket.c,
- tests/test_res_stasis.c: Address unload order issues for
- res_stasis* modules I've noticed when doing a graceful shutdown
- that the res_stasis_http.so module gets unloaded before the
- modules that use it, which causes some asserts during their
- unload. While r386928 was a quick hack to get it to not assert
- and die, this patch increases the use counts on res_stasis.so and
- res_stasis_http.so properly. It's a bigger change than I
- expected, hence the review instead of just committing it. Review:
- https://reviewboard.asterisk.org/r/2489/
- * include/asterisk/stasis.h: Avoided __ast names for the private
- variables created by the STASIS_MESSAGE_TYPE_*() macros.
- 2013-05-10 13:13 +0000 [r388275] Kinsey Moore <kmoore@digium.com>
- * rest-api-templates/event_function_decl.mustache (added),
- res/stasis_http/resource_sounds.h, CHANGES,
- res/res_stasis_http_events.c, include/asterisk/stasis_channels.h,
- main/stasis_channels.c, rest-api-templates/swagger_model.py,
- res/res_stasis.c, main/manager_channels.c,
- rest-api-templates/stasis_http_resource.h.mustache,
- res/stasis_http/resource_recordings.h,
- rest-api-templates/asterisk_processor.py,
- rest-api-templates/res_stasis_http_resource.c.mustache,
- res/stasis_http/resource_endpoints.h,
- rest-api/api-docs/events.json, res/stasis_http/resource_events.h,
- res/res_stasis_websocket.c, apps/app_userevent.c: Add channel
- events for res_stasis apps This change adds a framework in
- res_stasis for handling events from channel topics. JSON event
- generation and validation code is created from event
- documentation in rest-api/api-docs/events.json to assist in JSON
- event generation, ensure consistency, and ensure that accurate
- documentation is available for ALL events that are received by
- res_stasis applications. The userevent application has been
- refactored along with the code that handles userevent channel
- blob events to pass the headers as key/value pairs in the JSON
- blob. As a side-effect, app_userevent now handles duplicate keys
- by overwriting the previous value. Review:
- https://reviewboard.asterisk.org/r/2428/ (closes issue
- ASTERISK-21180) Patch-By: Kinsey Moore <kmoore@digium.com>
- 2013-05-10 11:47 +0000 [r388254] Sean Bright <sean@malleable.com>
- * /, channels/chan_sip.c: Fix copy/paste error in
- one-touch-recording implementation. ........ Merged revisions
- 388253 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-09 14:41 +0000 [r388175] Matthew Jordan <mjordan@digium.com>
- * apps/app_userevent.c: Don't expect to pack three tuples when you
- only have two
- 2013-05-09 04:11 +0000 [r388110-388113] Michael L. Young <elgueromexicano@gmail.com>
- * res/res_rtp_asterisk.c, /: Fix The Payload Being Set On CN
- Packets And Do Not Set Marker Bit When we send out a CN packet
- (for instance, in the case of using rtpkeepalives), we are not
- setting the payload code properly. Also, we are setting the
- marker bit when we shouldn't be according to RFC 3389, section 4.
- AST_RTP_CN is not defined by AST_FORMAT codes. Therefore, we
- should be using ast_rtp_codecs_payload_code() rather than
- ast_rtp_codecs_payload_lookup(). 11 and trunk already use the
- appropriate function. * In 1.8, use ast_rtp_codecs_payload_code()
- * Remove the setting of the marker bit * Fix the debug message by
- incrementing the seqno after the debug message is set in order to
- display the correct seqno that was sent out (closes issue
- ASTERISK-21246) Reported by: Peter Katzmann Tested by: Peter
- Katzmann, Michael L. Young Patches:
- asterisk-21246-rtp-cng-payload-error_1.8_v2.diff uploaded by
- Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2500/ ........ Merged
- revisions 388111 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 388112 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_queue.c: Fix Segfault In app_queue When
- "persistentmembers" Is Enabled And Using Realtime When the
- "ignorebusy" setting was deprecated, we added some code to allow
- us to be compatible with older setups that are still using the
- "ignorebusy" setting instead of "ringinuse". We set a char
- *variable with the column name to use, which helps the realtime
- functions to use the correct column in their SQL queries. When
- "persistentmembers" is enabled, we are not setting this variable
- before the realtime functions were called to load members. This
- results in the variable being NULL and therefore causing a
- segfault when loading members during the module's process of
- loading. The solution was to move the code that sets that
- variable to be before these realtime functions are called during
- the loading of the module. (closes issue ASTERISK-21738) Reported
- by: JoshE Tested by: JoshE Patches:
- asterisk-21738-rt-ringinuse-field-not-set.diff uploaded by
- Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2499/ ........ Merged
- revisions 388108 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-08 22:00 +0000 [r388014-388075] David M. Lee <dlee@digium.com>
- * res/res_stasis_websocket.c: Fixed MODFLAG for
- res_stasis_websocket
- * build_tools/cflags.xml, include/asterisk/inline_api.h: Add
- development flag to disable the inline API. A GCC bug[1] can, in
- some cases, pop up an unsuppressible pedwarn when using a static
- inline standard library function from a non-static inline
- function. This normally doesn't show up, but can occur if you're
- running an upgrade version of GCC (such as GCC 4.8 on OS X, which
- normally runs GCC 4.2). [1]:
- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47816
- * main/srv.c, main/enum.c: Removed #if checks for crazy old
- versions of OS X. The <arpa/nameser_compat.h> was introduced way
- back in OS X Panther, which itself was end-of-lifed back in 2007.
- We can assume that any OS X machine we build on will need that
- header file :-) Why bother removing it? The flag we're checking
- (__APPLE_CC__) is actually Apple's build number. Self-compiled
- versions of GCC (such as installing the latest version of GCC
- from homebrew) sets the value to 0, making it useless for this
- sort of compile flaggery.
- * tests/test_stasis_endpoints.c: Fixed set-but-not-used warning
- caught by newer GCC
- 2013-05-08 18:36 +0000 [r388008] Matthew Jordan <mjordan@digium.com>
- * apps/app_directory.c: Don't perform a realtime lookup with a NULL
- keyword Previously, a call to ast_load_realtime_multientry could
- get away with passing a NULL parameter to the function, even
- though it really isn't supposed to do that. After the change over
- to using ast_variable instead of variadic arguments, the realtime
- engine gets unhappy if you do this. This was always an unintended
- function call in app_directory anyway - now, we just don't call
- into the realtime function calls if we don't have anything to
- query on.
- 2013-05-08 18:34 +0000 [r388005] David M. Lee <dlee@digium.com>
- * main/stasis_channels.c, res/res_stasis.c,
- main/manager_channels.c, main/channel.c,
- include/asterisk/stasis_channels.h, tests/test_stasis_channels.c,
- apps/app_userevent.c, include/asterisk/stasis.h: Remove required
- type field from channel blobs When we first introduced the
- channel blob types, the JSON blobs were self identifying by a
- required "type" field in the JSON object itself. This, as it
- turns out, was a bad idea. When we introduced the message router,
- it was useless for routing based on the JSON type. And messages
- had two type fields to check: the stasis_message_type() of the
- message itself, plus the type field in the JSON blob (but only if
- it was a blob message). This patch corrects that mistake by
- removing the required type field from JSON blobs, and introducing
- first class stasis_message_type objects for the actual message
- type. Since we now will have a proliferation of message types, I
- introduced a few macros to help reduce the amount of boilerplate
- necessary to set them up. Review:
- https://reviewboard.asterisk.org/r/2509
- 2013-05-08 16:58 +0000 [r387974] Richard Mudgett <rmudgett@digium.com>
- * utils: Add version.c to list of ignored files in the utils
- directory.
- 2013-05-08 13:39 +0000 [r387932] David M. Lee <dlee@digium.com>
- * tests/test_endpoints.c (added),
- include/asterisk/stasis_endpoints.h (added),
- res/res_stasis_test.c (added),
- res/stasis_http/resource_endpoints.c, channels/sip/include/sip.h,
- main/asterisk.c, rest-api/api-docs/endpoints.json,
- res/stasis_http/resource_endpoints.h, main/stasis_cache.c,
- main/stasis_endpoints.c (added), channels/chan_sip.c,
- include/asterisk/endpoints.h (added), include/asterisk/astobj2.h,
- main/channel_internal_api.c, include/asterisk/stasis_test.h
- (added), include/asterisk/stasis.h, main/endpoints.c (added),
- main/astobj2.c, res/res_stasis_http_endpoints.c,
- tests/test_stasis_endpoints.c (added),
- res/res_stasis_test.exports.in (added): Initial support for
- endpoints. An endpoint is an external device/system that may
- offer/accept channels to/from Asterisk. While this is a very
- useful concept for end users, it is surprisingly not a core
- concept within Asterisk itself. This patch defines ast_endpoint
- as a separate object, which channel drivers may use to expose
- their concept of an endpoint. As the channel driver creates
- channels, it can use ast_endpoint_add_channel() to associate
- channels to the endpoint. This updated the endpoint
- appropriately, and forwards all of the channel's events to the
- endpoint's topic. In order to avoid excessive locking on the
- endpoint object itself, the mutable state is not accessible via
- getters. Instead, you can create a snapshot using
- ast_endpoint_snapshot_create() to get a consistent snapshot of
- the internal state. This patch also includes a set of topics and
- messages associated with endpoints, and implementations of the
- endpoint-related RESTful API. chan_sip was updated to create
- endpoints with SIP peers, but the state of the endpoints is not
- updated with the state of the peer. Along for the ride in this
- patch is a Stasis test API. This is a stasis_message_sink object,
- which can be subscribed to a Stasis topic. It has functions for
- blocking while waiting for conditions in the message sink to be
- fulfilled. (closes issue ASTERISK-21421) Review:
- https://reviewboard.asterisk.org/r/2492/
- 2013-05-08 07:21 +0000 [r387885] Alec L Davis <sivad.a@paradise.net.nz>
- * /, channels/chan_sip.c: chan_sip: NOTIFYs for BLF start queuing
- up and fail to be sent out after retries fail RFC6665 4.2.2: ...
- after a failed State NOTIFY transaction remove the subscription
- The problem is that the State Notify requests rely on the 200OK
- reponse for pacing control and to not confuse the notify
- susbsystem. The issue is, the pendinginvite isn't cleared if a
- response isn't received, thus further notify's are never sent.
- The solution, follow RFC 6665 4.2.2's 'SHOULD' and remove the
- subscription after failure. (closes issue ASTERISK-21677)
- Reported by: Dan Martens Tested by: alecdavis alecdavis (license
- 585) Review https://reviewboard.asterisk.org/r/2475/ ........
- Merged revisions 387875 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 387880 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-07 18:32 +0000 [r387803-387825] David M. Lee <dlee@digium.com>
- * include/asterisk/lock.h: Fixed up \example marker in lock.h
- Doxygen comment. The \example tags marks an entire file as an
- example, not a code snippet.
- * res/res_config_pgsql.c, main/manager.c, /: Minor fixups to
- Doxygen comments. The \example tags marks an entire file as an
- example, not a code snippet. ........ Merged revisions 387823
- from http://svn.asterisk.org/svn/asterisk/branches/11
- * include/asterisk/json.h: Better explained the depths of reference
- stealing.
- 2013-05-07 17:53 +0000 [r387802] Jason Parker <jparker@digium.com>
- * include/asterisk.h: Fix build breakage, from LOW_MEMORY fix.
- 2013-05-06 17:15 +0000 [r387740-387741] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/astobj2.h: Update ao2_destructor_fn doxygen.
- * channels/chan_dahdi.c: Make a log NOTICE more explicit that the
- event comes from DAHDI and not PRI.
- 2013-05-06 17:01 +0000 [r387738] Jason Parker <jparker@digium.com>
- * main/asterisk.c: Fix building with LOW_MEMORY defined.
- 2013-05-06 15:58 +0000 [r387690] Russell Bryant <russell@russellbryant.com>
- * /, apps/app_meetme.c: Make SLA reload more paranoid. Reload
- support was originally not included for SLA. It was added later,
- but in a fairly non-traditional way. It basically sets a flag
- indicating that a reload is pending, and then waits for a time
- where it thinks everything SLA related is idle and unused, and
- *then* executes the reload. It does this because the reload
- process is destructive. It starts by throwing everything away and
- starting over. There are a number of problems with this approach.
- One of them is that the check to see if anything in use was
- incomplete. This patch makes it more complete and thus less
- likely for a crash to occur during reload processing. However,
- this approach still has problems so some much more significant
- reworking of this code will need to come in as a next step. Patch
- credit and testing by CoreDial, LLC. ........ Merged revisions
- 387688 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 387689 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-06 13:04 +0000 [r387662] Joshua Colp <jcolp@digium.com>
- * include/asterisk/sorcery.h, res/res_sorcery_astdb.c,
- tests/test_sorcery.c, main/sorcery.c: Add support for observers
- and JSON objectset creation to sorcery. This change adds the
- ability for modules to add themselves as observers to sorcery
- object types. Observers can be notified when objects are created,
- updated, or deleted as well as when the object type is loaded or
- reloaded. Observer notifications are done using a thread pool in
- a serialized fashion so the caller of the sorcery API calls is
- minimally impacted. This also adds the ability to create JSON
- changesets of a sorcery object. Tests are also present to confirm
- all of the above functionality. Review:
- https://reviewboard.asterisk.org/r/2477/
- 2013-05-04 16:00 +0000 [r387630-387633] Matthew Jordan <mjordan@digium.com>
- * main/asterisk.c, include/asterisk.h: Clean up documentation;
- prevent ref leak on exit This patch: * Cleans up some doxygen *
- Prevents leaking the system level Stasis topics and messages on
- exit (users of valgrind will be happier)
- * funcs/func_global.c: Migrate SHARED's use of the VarSet AMI event
- to Stasis-Core This patch removes the direct call to AMI from the
- SHARED function and instead call Stasis-Core. Stasis-Core
- delivers the notification that a shared variable has changed on a
- channel to all interested consumers. (issue ASTERISK-21462)
- 2013-05-03 18:03 +0000 [r387594] Jonathan Rose <jrose@digium.com>
- * main/asterisk.c, include/asterisk.h, channels/chan_sip.c,
- res/res_stun_monitor.c, main/event.c, channels/chan_iax2.c:
- Stasis: Convert network change events into network change stasis
- messages (issue ASTERISK-21103) Review:
- https://reviewboard.asterisk.org/r/2490/
- 2013-05-03 11:35 +0000 [r387545] Joshua Colp <jcolp@digium.com>
- * res/res_sip_sdp_rtp.c, channels/chan_gulp.c: Use the configured
- formats for Gulp sessions if there are no joint formats between
- requested formats and configured formats. (closes issue
- ASTERISK-21756)
- 2013-05-02 20:59 +0000 [r387519] Matthew Jordan <mjordan@digium.com>
- * build_tools/post_process_documentation.py, apps/app_stack.c:
- Migrate AMI VarSet events raised by GoSub local variables This
- patch moves VarSet events for local variables raised by GoSub
- over to Stasis-Core. It also tweaks up the post-processing
- documentation scripts to not combine parameters if both
- parameters are already documented. (issue ASTERISK-21462)
- 2013-05-02 19:06 +0000 [r387482] Richard Mudgett <rmudgett@digium.com>
- * main/channel.c: Remove the ABI compatability ast_channel_alloc().
- It is no longer needed.
- 2013-05-02 17:15 +0000 [r387423] Matthew Jordan <mjordan@digium.com>
- * utils/Makefile, /: Update utils Makefile to handle r387294 Alec's
- patch that added the Asterisk version to 'core show locks'
- angered the items in utils, as they exist somewhat outside of the
- Asterisk build system. Some day, this Makefile should get nuked
- from high orbit, but for now, include version.c in its list of
- stuff to pile in. ........ Merged revisions 387421 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 387422 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-02 16:39 +0000 [r387420] Jonathan Rose <jrose@digium.com>
- * include/asterisk/event_defs.h, main/event.c: Putting all event
- defs and names back for now due to res_corosync dependency
- 2013-05-02 08:24 +0000 [r387296-387369] Alec L Davis <sivad.a@paradise.net.nz>
- * /, channels/chan_sip.c, channels/sip/include/sip.h: chan_sip:
- Session-Expires: Set timer to correctly expire at (~2/3) of the
- interval when not the refresher RFC 4028 Section 10 if the side
- not performing refreshes does not receive a session refresh
- request before the session expiration, it SHOULD send a BYE to
- terminate the session, slightly before the session expiration.
- The minimum of 32 seconds and one third of the session interval
- is RECOMMENDED. Prior to this asterisk would refresh at 1/2 the
- Session-Expires interval, or if the remote device was the
- refresher, asterisk would timeout at interval end. Now, when not
- refresher, timeout as per RFC noted above. (closes issue
- ASTERISK-21742) Reported by: alecdavis Tested by: alecdavis
- alecdavis (license 585) Review
- https://reviewboard.asterisk.org/r/2488/ ........ Merged
- revisions 387344 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 387345 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: chan_sip: Honor Session-Expires in 200OK
- response when it's a RE-INVITE when asterisk is the refresher.
- RFC 4028 Section 7.2 "UACs MUST be prepared to receive a
- Session-Expires header field in a response, even if none were
- present in the request." What changed After ASTERISK-20787,
- inbound calls to asterisk with no Session-Expires in the INVITE
- are now are offered a Session-Expires (1800 asterisk default) in
- the response, with asterisk as the refresher. Symptom: After 900
- seconds (asterisk default refresher period 1800), asterisk
- RE-INVITEs the device, the device may respond with a much lower
- Session-Expires (180 in our case) value that it is now using.
- Asterisk ignores this response, as it's deemed both an INBOUND
- CALL, and a RE-INVITE. After 180 seconds the device times out and
- sends BYE (hangs up), asterisk is still working with the
- refresher period of 1800 as it ignored the 'Session Expires: 180'
- in the previous 200OK response. Fix: handle_response_invite()
- when 200OK, remove check for outbound and reinvite. (closes issue
- ASTERISK-21664) Reported by: alecdavis Tested by: alecdavis
- alecdavis (license 585) Review
- https://reviewboard.asterisk.org/r/2463/ ........ Merged
- revisions 387312 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 387319 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_dahdi.c, /: chan_dahdi: fix lower bound check with
- -ve integer conversion from a float Lower bound of a 16bit signed
- int is -32768 not -32767 (closes issue ASTERISK-21744) Reported
- by: alecdavis Tested by: alecdavis alecdavis (license 585)
- ........ Merged revisions 387297 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 387298 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/utils.c: Add Asterisk Version to core show locks Assist
- with reporting 'core show locks' when submitting bug reports.
- Example below: =========================== == SVN-branch-1.8-...
- == Currently Held Locks =========================== (closes issue
- ASTERISK-21743) Reported by: alecdavis Tested by: alecdavis
- alecdavis (license 585) ........ Merged revisions 387294 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 387295 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-01 21:55 +0000 [r387260-387261] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_local.c: Simplify
- chan_local.c:manager_optimize_away() using ao2_find().
- * channels/chan_local.c: Cleanup chan_local.c:local_new(). * Remove
- t and ama local variables. There is no way they could be anything
- other than default because p->owner can only be NULL at this
- point. * Rename tmp and tmp2 to owner and chan respectively. *
- Remove redundant initialization of channel context, exten,
- priority.
- 2013-05-01 21:18 +0000 [r387220] Matthew Jordan <mjordan@digium.com>
- * res/res_rtp_asterisk.c, /: Clear the DTMF sending digit tracking
- on off nominal paths In certain situations, when the RTP engine
- goes to send a DTMF end digit it may be in a situation where the
- remote address is no longer available, or the digit that was
- supposed to be sent is invalid. In such cases, we need to clear
- the RTP counters appropriately. Otherwise, when the RTP source is
- set again, we'll continue to think that we're in the middle of
- sending a DTMF digit, which can confuse the remote party
- (signficantly). (closes issue ASTERISK-21522) Reported by: Corey
- Farrell patches: rtp_dtmf_process_end.patch uploaded by Corey
- Farrell (License 5909) ........ Merged revisions 387213 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 387216 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-01 21:09 +0000 [r387181-387212] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_local.c: Trivial changes. Comments, parentheses,
- spelling, wording.
- * channels/chan_local.c: Make chan_local locals container an
- explicit list container. Pretending that chan_local locals
- container can have more than one bucket is silly. The container
- has no key to help search.
- * channels/chan_local.c: Whitespace changes.
- * main/loader.c: Make mod_load_cmp() not as klunky. There is a
- reason the heap comparison functions like qsort(), and other
- comparison functions specify <0, >0, and =0 for the return
- values.
- * channels/chan_unistim.c: Remove some unnecessary calls to
- ast_bridged_channel() in chan_unistim.c
- * channels/chan_mgcp.c: Remove some unnecessary calls to
- ast_bridged_channel() in chan_mgcp.c
- * channels/chan_skinny.c: Remove some unnecessary calls to
- ast_bridged_channel() in chan_skinny.c
- * channels/chan_iax2.c: Remove some unnecessary calls to
- ast_bridged_channel() in chan_iax2.c
- * channels/chan_dahdi.c, channels/sig_analog.c: Remove some
- unnecessary calls to ast_bridged_channel() in
- chan_dahdi.c/sig_analog.c
- 2013-05-01 18:38 +0000 [r387135] Matthew Jordan <mjordan@digium.com>
- * /, channels/chan_sip.c: Prevent crash in 'sip show peers' when
- the number of peers on a system is large When you have lots of
- SIP peers (according to the issue reporter, around 3500), the
- 'sip show peers' CLI command or AMI action can crash due to a
- poorly placed string duplication that occurs on the stack. This
- patch refactors the command to not allocate the string on the
- stack, and handles the formatting of a single peer in a separate
- function call. (closes issue ASTERISK-21466) Reported by:
- Guillaume Knispel patches:
- fix_sip_show_peers_stack_overflow_asterisk_11.3.0-v2.patch
- uploaded by gknispel (License 6492) ........ Merged revisions
- 387134 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-05-01 17:15 +0000 [r387108] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_dahdi.c: Move some annoying chan_dahdi debug
- messages to level 5.
- 2013-04-30 22:50 +0000 [r387039] Matthew Jordan <mjordan@digium.com>
- * main/features.c, /: Fix CDR not being created during an
- externally initiated blind transfer Way back when in the dark
- days of Asterisk 1.8.9, blind transferring a call in a context
- that included the 'h' extension would inadvertently execute the
- hangup code logic on the transferred channel. This was a "bad
- thing". The fix was to properly check for the softhangup flags on
- the channel and only execute the 'h' extension logic (and, in
- later versions, hangup handler logic) if the channel was well and
- truly dead (Jim). Unfortunately, CDRs are fickle. Setting the
- softhangup flag when we detected that the channel was leaving the
- bridge (but not to die) caused some crucial snippet of CDR code,
- lying in ambush in the middle of the bridging code, to not get
- executed. This had the effect of blowing away one of the CDRs
- that is typically created during a blind transfer. While we live
- and die by the adage "don't touch CDRs in release branches", this
- was our bad. The attached patch restores the CDR behavior, and
- still manages to not run the 'h' extension during a blind
- transfer (at least not when it's supposed to). Thanks to Steve
- Davies for diagnosing this and providing a fix. Review:
- https://reviewboard.asterisk.org/r/2476 (closes issue
- ASTERISK-21394) Reported by: Ishfaq Malik Tested by: Ishfaq
- Malik, mjordan patches: fix_missing_blindXfer_cdr2 uploaded by
- one47 (License 5012) ........ Merged revisions 387036 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 387038 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-30 22:37 +0000 [r387035-387037] Jonathan Rose <jrose@digium.com>
- * main/event.c, include/asterisk/json.h, channels/chan_iax2.c,
- main/named_acl.c, include/asterisk/acl.h, main/json.c,
- main/manager.c, channels/chan_sip.c,
- include/asterisk/event_defs.h: Stasis Core: Refactor ACL Change
- events to go out over the stasis core msg bus (issue
- ASTERISK-21103) Reported by: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2481/
- * /, main/event.c: Add forgotten event types to event_names array
- ........ Merged revisions 387030 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-30 18:12 +0000 [r386990] Jason Parker <jparker@digium.com>
- * channels/chan_gulp.c: Fix a log message.
- 2013-04-30 13:48 +0000 [r386931] Sean Bright <sean@malleable.com>
- * include/asterisk/utils.h, /: Use the proper lower bound when
- doing saturation arithmetic. 16 bit signed integers have a range
- of [-32768, 32768). The existing code was using the interval
- (-32768, 32768) instead. This patch fixes that. Review:
- https://reviewboard.asterisk.org/r/2479/ ........ Merged
- revisions 386929 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 386930 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-30 13:37 +0000 [r386928] David M. Lee <dlee@digium.com>
- * tests/test_stasis_http.c, res/res_stasis_http.c: Just a couple of
- Stasis-HTTP nitpick fixes. * Fixed crash when res_stasis_http is
- unloaded before the implementation modules. * Cleaned up test
- initialization for test_stasis_http.so.
- 2013-04-29 23:36 +0000 [r386879] Rusty Newton <rnewton@digium.com>
- * sounds/Makefile, /: Modifying sounds/Makefile to pull down 1.4.24
- core sounds 1.4.24 core sounds includes a full set of Italian
- prompts for core sounds and a fix for the missing voicemail
- prompts in the Russian language. (closes issue ASTERISK-19431)
- (closes issue ASTERISK-19721) ........ Merged revisions 386877
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 386878 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-29 13:38 +0000 [r386793-386841] Olle Johansson <oej@edvina.net>
- * /, CHANGES, apps/app_queue.c: Play periodic prompts for first
- call in a call queue Review:
- https://reviewboard.asterisk.org/r/2263/ ........ Merged
- revisions 386792 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 386794 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * include/asterisk/doxygen/commits.h: Change pointer to existing
- wiki page instead of non-existing page
- 2013-04-28 03:32 +0000 [r386774] Kinsey Moore <kmoore@digium.com>
- * rest-api-templates/swagger_model.py: Fix spelling error in python
- doc
- 2013-04-27 19:03 +0000 [r386731-386760] Joshua Colp <jcolp@digium.com>
- * res/res_sip.c: Tweak res_sip priority so it gets loaded first
- before all other SIP stuff.
- * res/res_config_sqlite.c: Update res_config_sqlite to use the
- ast_variable lists.
- * CHANGES, res/res_config_ldap.c, main/config.c,
- tests/test_sorcery_realtime.c (added), main/sorcery.c,
- res/res_sorcery_realtime.c (added), addons/res_config_mysql.c,
- res/res_config_sqlite3.c, res/res_config_curl.c,
- res/res_config_pgsql.c, res/res_config_odbc.c,
- include/asterisk/config.h: Add support for a realtime sorcery
- module. This change does the following: 1. Adds the sorcery
- realtime module 2. Adds unit tests for the sorcery realtime
- module 3. Changes the realtime core to use an ast_variable list
- instead of variadic arguments 4. Changes all realtime drivers to
- accept an ast_variable list Review:
- https://reviewboard.asterisk.org/r/2424/
- 2013-04-26 21:52 +0000 [r386685-386686] Matthew Jordan <mjordan@digium.com>
- * res/res_sip_nat.c, res/res_sip_registrar.c,
- res/res_sip_dtmf_info.c,
- res/res_sip_outbound_authenticator_digest.c,
- res/res_sip_rfc3326.c, res/res_sip_outbound_registration.c,
- res/res_sip_endpoint_identifier_ip.c,
- res/res_sip_endpoint_identifier_constant.c, res/res_sip_mwi.c,
- res/res_sip_acl.c, res/res_sip_logger.c,
- res/res_sip_endpoint_identifier_user.c, res/res_sip_pubsub.c: Add
- missing module dependencies to various res_sip* modules This
- patch updates the various res_sip modules with their proper
- menuselect options and proper dependencies, such that Asterisk
- still has a snowball's chance in hell of compiling without
- pjproject. Much thanks to snuffy(-home|-work) for making
- everyone's life easier with this patch. Review:
- https://reviewboard.asterisk.org/r/2472/ (closes issue
- ASTERISK-21669) Reported by: snuffy patches: xml-depends.diff
- uploaded by snuffy (license 5024)
- * /, main/config.c: Clean up memory leak in config file on off
- nominal paths when glob is allowed If a system allows for its
- usage, Asterisk will use glob to help parse Asterisk .conf files.
- The config file loading routine was leaking the memory allocated
- by the glob() routine when the config file was in an unmodified
- or invalid state. This patch properly calls globfree in those off
- nominal paths. (closes issue ASTERISK-21412) Reported by: Corey
- Farrell patches: config_glob_leak.patch uploaded by Corey Farrell
- (license 5909) ........ Merged revisions 386672 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 386677 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-26 21:31 +0000 [r386684] David M. Lee <dlee@digium.com>
- * main/loader.c: By popular demand, putting the
- about-to-load-module printf back. But now it only prints during
- the initial startup, and prints at verbose 1 level.
- 2013-04-26 21:27 +0000 [r386676] Matthew Jordan <mjordan@digium.com>
- * /, main/features.c: Clean up resources in features on exit This
- patch cleans up two things features: * It properly unregisters
- the CLI commands that features registered * It cancels and
- performs a pthread_join on the created parking thread. This not
- only properly joins a non-detached thread, but also prevents
- disposing of the parking lots prior to the parking thread
- completely exiting. (closes issue ASTERISK-21407) Reported by:
- Corey Farrell patches: features_shutdown-r2.patch uploaded by
- Corey Farrell (License 5909) ........ Merged revisions 386641
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 386642 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-26 21:00 +0000 [r386640] David M. Lee <dlee@digium.com>
- * main/loader.c: Removing stray printf from r386540
- 2013-04-26 20:32 +0000 [r386638] Mark Michelson <mmichelson@digium.com>
- * main/uuid.c: Add an \extref doxygen pointer for libuuid. Thanks
- to Olle Johansson for suggesting this.
- 2013-04-26 20:05 +0000 [r386623-386624] David M. Lee <dlee@digium.com>
- * res/res_chan_stats.c (added), res/res_statsd.exports.in (added),
- configs/statsd.conf.sample (added), include/asterisk/utils.h,
- include/asterisk/statsd.h (added), res/res_statsd.c (added):
- Example of how to use the Stasis message bus In order to get
- people familiar with the Stasis message bus, it would be useful
- to have something of a tutorial. Since I'm not clever enough to
- think of some cool integration we could do with Twitter, I
- settled for something that might actually be useful. This patch
- adds a res_statsd.so module, which implements a basic statsd[1]
- client. Statsd is a very simple statistics gathering server,
- which can publish its results to a backend graphing engine, like
- Graphite[2]. There are several different Statsd server
- implementations[3], so you can pick what works best for your
- environment. The actual example of how to use the Stasis message
- bus is in res_chan_stats.so. This module demonstrates how to use
- subscriptions and the message router by monitoring messages and
- posting channels stats to the statsd server. A wiki page walking
- through res_chan_stats.so is forthcoming. [1]:
- https://github.com/etsy/statsd/ [2]:
- http://graphite.readthedocs.org/en/latest/ [3]:
- http://joemiller.me/2011/09/21/list-of-statsd-server-implementations/
- Review: https://reviewboard.asterisk.org/r/2460/
- * res/res_sip: Ignore *.[oi] files in res/res_sip
- 2013-04-25 21:32 +0000 [r386577] Joshua Colp <jcolp@digium.com>
- * configs/res_sip.conf.sample: Don't bind to anything in the sample
- configuration so we don't clash with chan_sip on a "make samples"
- right now.
- 2013-04-25 18:28 +0000 [r386540-386541] Mark Michelson <mmichelson@digium.com>
- * /: REmove automerge properties.
- * res/res_sip/sip_options.c, res/res_sip_pubsub.exports.in (added),
- res/res_sip_rfc3326.c (added), res/res_sip_mwi.c (added),
- main/sorcery.c, res/res_sip (added),
- include/asterisk/threadpool.h, res/res_sip_registrar.c (added),
- res/res_sip/sip_distributor.c, res/res_sip/config_auth.c,
- include/asterisk/res_sip_session.h (added),
- res/res_sip_endpoint_identifier_ip.c (added), channels/Makefile,
- tests/test_sorcery.c, res/res_sip/config_domain_aliases.c,
- res/res_sip_endpoint_identifier_user.c (added), res/res_sip.c
- (added), include/asterisk/res_sip_pubsub.h (added),
- include/asterisk/sorcery.h,
- res/res_sip_outbound_authenticator_digest.c (added),
- res/res_sip/location.c, res/res_sip_outbound_registration.c
- (added), res/res_sip_endpoint_identifier_constant.c (added),
- res/res_sip_acl.c (added), res/res_sip_pubsub.c (added),
- res/res_sorcery_config.c, res/res_sip/config_transport.c,
- configs/res_sip.conf.sample (added),
- res/res_sip/sip_configuration.c, /,
- include/asterisk/autoconfig.h.in, include/asterisk/res_sip.h
- (added), res/res_sip_dtmf_info.c (added),
- res/res_sip/include/res_sip_private.h, res/res_sip.exports.in
- (added), main/threadpool.c, res/Makefile,
- res/res_sip_authenticator_digest.c (added), main/taskprocessor.c,
- res/res_sip_session.exports.in (added), main/astobj2.c,
- res/res_sip_sdp_rtp.c (added), res/res_sip/sip_outbound_auth.c,
- main/loader.c, channels/chan_gulp.c (added),
- res/res_sip_caller_id.c (added), res/res_sip_logger.c (added),
- res/res_sip/include, res/res_sip_nat.c (added), configure,
- res/res_sip_session.c (added): Merge the pimp_my_sip branch into
- trunk. The pimp_my_sip branch is being merged at this point
- because it offers basic functionality, and from an API
- standpoint, things are complete. SIP work is *not*
- feature-complete; however, with the completion of the
- SUBSCRIBE/NOTIFY API, all APIs (except a PUBLISH API) have been
- created, and thus it is possible for developers to attempt to
- create new SIP work. API documentation can be found in the
- doxygen in the code, but usability documentation is still
- lacking.
- 2013-04-25 03:04 +0000 [r386485-386487] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c: Fix Displaying Symmetric RTP Global
- Setting * Use comedia_string() to display correctly the symmetric
- rtp setting when running "sip show settings" ........ Merged
- revisions 386486 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: Change Case On Forcerport For Consistency
- * Change "ForcerPort" to "Forcerport" to match everywhere else it
- is displayed ........ Merged revisions 386483 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 386484 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-24 21:47 +0000 [r386461-386462] David M. Lee <dlee@digium.com>
- * res/stasis_http/resource_bridges.h,
- res/stasis_http/resource_recordings.h,
- rest-api-templates/stasis_http_resource.h.mustache,
- res/stasis_http/resource_endpoints.h,
- res/stasis_http/resource_events.h,
- res/stasis_http/resource_asterisk.h,
- res/stasis_http/resource_playback.h,
- res/stasis_http/resource_channels.h,
- res/stasis_http/resource_sounds.h: Document JSON models in
- resource_*.h
- * rest-api-templates/swagger_model.py: Oops. Mustache doesn't like
- dictionaries
- 2013-04-23 20:18 +0000 [r386375] Richard Mudgett <rmudgett@digium.com>
- * apps/confbridge/conf_config_parser.c, apps/app_confbridge.c:
- confbridge: Make search the conference bridges container using
- OBJ_KEY. * Make confbridge config parsing user profile, bridge
- profile, and menu container hash/cmp functions correctly check
- the OBJ_POINTER, OBJ_KEY, and OBJ_PARTIAL_KEY flags. * Made
- confbridge load_module()/unload_module() free all resources on
- failure conditions.
- 2013-04-23 18:57 +0000 [r386352] Kinsey Moore <kmoore@digium.com>
- * res/res_stasis.c: Fix some bad whitespace This crept in with the
- RESTful HTTP interface merge.
- 2013-04-22 16:44 +0000 [r386289] Richard Mudgett <rmudgett@digium.com>
- * main/channel.c, /: Fix crash when AMI redirect action redirects
- two channels out of a bridge. The two party bridging loops were
- changing the bridge peer pointers without the channel locks held.
- Thus when ast_channel_massquerade() tested and used the pointer
- there is a small window of opportunity for the pointers to become
- NULL even though the masquerade code has the channels locked.
- (closes issue ASTERISK-21356) Reported by: William luke Patches:
- jira_asterisk_21356_v11.patch (license #5621) patch uploaded by
- rmudgett Tested by: William luke ........ Merged revisions 386256
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 386286 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-22 16:22 +0000 [r386266] Andrew Latham <lathama@gmail.com>
- * include/asterisk/srv.h: Doxygen - Markup Guidelines Expand on a
- commit by OEJ to use the Coding-Guidelines (issue ASTERISK-20259)
- 2013-04-22 14:58 +0000 [r386232] David M. Lee <dlee@digium.com>
- * res/stasis_http/resource_channels.c, res/res_stasis_http_sounds.c
- (added), rest-api (added), main/http.c,
- res/res_stasis_http_bridges.c (added), tests/test_stasis_http.c
- (added), include/asterisk/strings.h, res/res_stasis_http.c
- (added), tests/test_stasis.c, res/res_stasis.c,
- res/res_stasis_http_asterisk.c (added),
- res/res_stasis_http_playback.c (added), res/stasis_http (added),
- configs/stasis_http.conf.sample (added),
- include/asterisk/stasis_http.h (added),
- res/res_stasis_http_channels.c (added),
- include/asterisk/stasis_app.h, res/Makefile,
- include/asterisk/json.h, res/res_stasis_http_recordings.c
- (added), res/stasis_http.make (added), tests/test_strings.c,
- res/res_stasis_http_endpoints.c (added),
- res/res_stasis_http_events.c (added), include/asterisk/http.h,
- Makefile, main/json.c, res/res_stasis_http.exports.in (added),
- rest-api-templates (added): This patch adds a RESTful HTTP
- interface to Asterisk. The API itself is documented using
- Swagger, a lightweight mechanism for documenting RESTful API's
- using JSON. This allows us to use swagger-ui to provide
- executable documentation for the API, generate client bindings in
- different languages, and generate a lot of the boilerplate code
- for implementing the RESTful bindings. The API docs live in the
- rest-api/ directory. The RESTful bindings are generated from the
- Swagger API docs using a set of Mustache templates. The code
- generator is written in Python, and uses Pystache. Pystache has
- no dependencies, and be installed easily using pip. Code
- generation code lives in rest-api-templates/. The generated code
- reduces a lot of boilerplate when it comes to handling HTTP
- requests. It also helps us have greater consistency in the REST
- API. (closes issue ASTERISK-20891) Review:
- https://reviewboard.asterisk.org/r/2376/
- 2013-04-22 12:45 +0000 [r386211] Olle Johansson <oej@edvina.net>
- * include/asterisk/srv.h: Fix mistake in Doxygen. Doxygen is only
- *ONE* comment that applies to the NEXT piece of code.
- 2013-04-22 01:05 +0000 [r386190] Russell Bryant <russell@russellbryant.com>
- * apps/app_meetme.c: sla: remove redundant locking. sla.lock was
- already locked in the only place that sla_check_reload() was
- called. Remove the redundant locking of sla.lock done in this
- function. Less recursive locking is A Good Thing.
- 2013-04-19 22:27 +0000 [r386160] Matthew Jordan <mjordan@digium.com>
- * /, res/res_timing_pthread.c: Prevent res_timing_pthread from
- blocking callers There were several reports of deadlock when
- using res_timing_pthread. Backtraces indicated that one thread
- was blocked waiting for the write to the pipe to complete and
- this thread held the container lock for the timers. Therefore any
- thread that wanted to create a new timer or read an existing
- timer would block waiting for either the timer lock or the
- container lock and deadlock ensued. This patch changes the way
- the pipe is used to eliminate this source of deadlocks: 1) The
- pipe is placed in non-blocking mode so that it would never block
- even if the following changes someone fail... 2) Instead of
- writing bytes into the pipe for each "tick" that's fired the pipe
- now has two states--signaled and unsignaled. If signaled, the
- pipe is hot and any pollers of the read side filedescriptor will
- be woken up. If unsigned the pipe is idle. This eliminates even
- the chance of filling up the pipe and reduces the potential
- overhead of calling unnecessary writes. 3) Since we're tracking
- the signaled / unsignaled state, we can eliminate the exta poll
- system call for every firing because we know that there is data
- to be read. (closes issue ASTERISK-21389) Reported by: Matt
- Jordan Tested by: Shaun Ruffell, Matt Jordan, Tony Lewis patches:
- 0001-res_timing_pthread-Reduce-probability-of-deadlocking.patch
- uploaded by sruffell (License 5417) (closes issue ASTERISK-19754)
- Reported by: Nikola Ciprich (closes issue ASTERISK-20577)
- Reported by: Kien Kennedy (closes issue ASTERISK-17436) Reported
- by: Henry Fernandes (closes issue ASTERISK-17467) Reported by:
- isrl (closes issue ASTERISK-17458) Reported by: isrl Review:
- https://reviewboard.asterisk.org/r/2441/ ........ Merged
- revisions 386109 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 386159 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-19 05:20 +0000 [r386019-386054] David M. Lee <dlee@digium.com>
- * main/cli.c, /: cli.c: Properly initialize debug_modules and
- verbose_modules. This avoids some lock errors on the core set
- {debug,verbose} commands. ........ Merged revisions 386049 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 386051 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_http_websocket.c, include/asterisk/http_websocket.h:
- Allow WebSocket connections on more URL's This patch adds the
- concept of ast_websocket_server to res_http_websocket, allowing
- WebSocket connections on URL's more more than /ws. The existing
- funcitons for managing the WebSocket subprotocols on /ws still
- work, so this patch should be completely backward compatible.
- (closes issue ASTERISK-21279) Review:
- https://reviewboard.asterisk.org/r/2453/
- * main/message.c, /: Fix lock errors on startup. In messages.c,
- there are several places in the code where we create a
- tmp_tech_holder and pass that into an ao2_find call.
- Unfortunately, we weren't initializing the rwlock on the
- tmp_tech_holder, which the hash function was locking. It's
- apparently harmless, but still not the best code. This patch
- extracts all that copy/pasted code into two functions,
- msg_find_by_tech and msg_find_by_tech_name, which properly
- initialize and destroy the rwlock on the tmp_tech_holder. Review:
- https://reviewboard.asterisk.org/r/2454/ ........ Merged
- revisions 386006 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-16 23:44 +0000 [r385939] Alec L Davis <sivad.a@paradise.net.nz>
- * res/res_xmpp.c, res/res_jabber.c, /: res_xmpp and res_jabber need
- to search 'cachable' in the attrib section of the received IE,
- not data. (issue ASTERISK-20175) (closes issue ASTERISK-21429)
- (closes issue ASTERISK-21069) (closes issue ASTERISK-21164)
- Reported by: alecdavis Tested by: alecdavis alecdavis (license
- 585) Review https://reviewboard.asterisk.org/r/2452/
- 2013-04-16 17:50 +0000 [r385860-385886] Kinsey Moore <kmoore@digium.com>
- * res/res_corosync.c: Allow res_corosync to build
- ast_enable_distributed_devstate is no longer applicable to how
- the distributed device state system works and is no longer
- necessary.
- * main/pbx.c, funcs/func_presencestate.c,
- include/asterisk/presencestate.h, main/presencestate.c: Move
- presence state distribution to Stasis-core Convert presence state
- events to Stasis-core messages and remove redundant serializers
- where possible. Review: https://reviewboard.asterisk.org/r/2410/
- (closes issue ASTERISK-21102) Patch-by: Kinsey Moore
- <kmoore@digium.com>
- * include/asterisk/devicestate.h, main/pbx.c, main/ccss.c,
- include/asterisk/xmpp.h, tests/test_devicestate.c,
- main/devicestate.c, res/res_xmpp.c, apps/app_queue.c,
- res/res_jabber.c, main/asterisk.c: Move device state distribution
- to Stasis-core In the move from Asterisk's event system to
- Stasis, this makes distributed device state aggregation
- always-on, removes unnecessary task processors where possible,
- and collapses aggregate and non-aggregate states into a single
- cache for ease of retrieval. This also removes an intermediary
- step in device state aggregation. Review:
- https://reviewboard.asterisk.org/r/2389/ (closes issue
- ASTERISK-21101) Patch-by: Kinsey Moore <kmoore@digium.com>
- 2013-04-16 14:09 +0000 [r385835] David M. Lee <dlee@digium.com>
- * include/asterisk/stasis_channels.h: Fixed a typo
- 2013-04-15 17:26 +0000 [r385782] Jason Parker <jparker@digium.com>
- * Makefile, /: Don't unnecessarily rebuild things on every run of
- 'make'. Review: https://reviewboard.asterisk.org/r/2449/ ........
- Merged revisions 385745 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 385768 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-15 16:47 +0000 [r385718-385743] David M. Lee <dlee@digium.com>
- * res/res_stasis_websocket.c: Avoid unused variable warning when
- not in devmode
- * main/json.c, include/asterisk/stasis_channels.h,
- res/res_stasis.exports.in (added), apps/Makefile,
- apps/app_stasis.exports.in (removed), apps/stasis_json.c
- (removed), main/stasis_channels.c, tests/test_app_stasis.c
- (removed), res/res_stasis.c (added), main/manager_channels.c,
- apps/app_stasis.c, tests/test_json.c, res/res_stasis_websocket.c,
- tests/test_res_stasis.c (added), tests/test_stasis_channels.c,
- include/asterisk/app_stasis.h (removed),
- include/asterisk/stasis_app.h (added), include/asterisk/json.h:
- Moved core logic from app_stasis to res_stasis After some
- discussion on asterisk-dev, it was decided that the bulk of the
- logic in app_stasis actually belongs in a resource module instead
- of the application module. This patch does that, leaves the app
- specific stuff in app_stasis, and fixes up everything else to be
- consistent with that change. * Renamed test_app_stasis to
- test_res_stasis * Renamed app_stasis.h to stasis_app.h * This is
- still stasis application support, even though it's no longer in
- an app_ module. The name should never have been tied to the type
- of module, anyways. * Now that json isn't a resource module
- anymore, moved the ast_channel_snapshot_to_json function to
- main/stasis_channels.c, where it makes more sense. Review:
- https://reviewboard.asterisk.org/r/2430/
- * apps/app_stasis.c, main/manager_channels.c, main/channel.c,
- include/asterisk/cli.h, include/asterisk/strings.h: DTMF events
- are now published on a channel's stasis_topic. AMI was refactored
- to use these events rather than producing the events directly in
- channel.c. Finally, the code was added to app_stasis to produce
- DTMF events on the WebSocket. The AMI events are completely
- backward compatible, including sending events on transmitted
- DTMF, and sending DTMF start events. The Stasis-HTTP events are
- somewhat simplified. Since DTMF start and DTMF send events are
- generally less useful, Stasis-HTTP will only send events on
- received DTMF end. (closes issue ASTERISK-21282) (closes issue
- ASTERISK-21359) Review: https://reviewboard.asterisk.org/r/2439
- * apps/app_saycounted.c, channels/sip/security_events.c,
- contrib/realtime/mysql/voicemail_messages.sql, BSDmakefile,
- contrib/realtime/mysql/voicemail_data.sql,
- build_tools/sha1sum-sh, res/res_mutestream.c,
- configs/res_curl.conf.sample, tests/test_func_file.c,
- res/res_rtp_multicast.c, include/asterisk/select.h,
- include/asterisk/bridging_technology.h,
- include/asterisk/bridging_features.h, tests/test_locale.c,
- doc/Makefile, tests/test_poll.c,
- contrib/realtime/mysql/musiconhold.sql, res/res_timing_kqueue.c,
- contrib/realtime/mysql/queue_log.sql,
- channels/sip/include/security_events.h, channels/sig_ss7.c,
- channels/chan_multicast_rtp.c, channels/sig_ss7.h, /,
- tests/test_expr.c: Fix the svn:keywords property on several
- files. Normally I think keyword expansion is silly, but the one
- time it would have been good, it didn't work because the property
- had quotes in it. This patch fixes obviously busted svn:keywords
- properties. ........ Merged revisions 385683 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 385689 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-14 03:01 +0000 [r385635-385638] Matthew Jordan <mjordan@digium.com>
- * res/res_rtp_multicast.c, /: Calculate the timestamp for outbound
- RTP if we don't have timing information This patch calculates the
- timestamp for outbound RTP when we don't have timing information.
- This uses the same approach in res_rtp_asterisk. Thanks to both
- Pietro and Tzafrir for providing patches. (closes issue
- ASTERISK-19883) Reported by: Giacomo Trovato Tested by: Pietro
- Bertera, Tzafrir Cohen patches: rtp-timestamp-1.8.patch uploaded
- by tzafrir (License 5035) rtp-timestamp.patch uploaded by
- pbertera (License 5943) ........ Merged revisions 385636 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 385637 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_alsa.c: Don't attempt to create a voice frame on
- a read error Prior to this patch, a read error in snd_pcm_readi
- would still be treated as a nominal result when constructing a
- voice frame from the expected data. Since the value returned is
- negative, as opposed to the number of samples read, this could
- result in a crash. With this patch, we now return a null frame
- when a read error is detected. Note that the patch on
- ASTERISK-21329 was modified slightly for this commit, in that we
- bail immediately on detecting the read error, rather than
- bypassing the construction of the voice frame. (closes issue
- ASTERISK-21329) Reported by: Keiichiro Kawasaki patches:
- chan_alsa.diff uploaded by kawasaki (License 6489) ........
- Merged revisions 385633 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 385634 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-12 22:38 +0000 [r385595] Michael L. Young <elgueromexicano@gmail.com>
- * /, apps/app_queue.c: Fix Manager Segfault When app_queue Is
- Unloaded When app_queue is unloaded, some manager commands are
- not being unregistered which result in a segfault. This patch
- corrects this. (closes issue ASTERISK-21397) Reported by: Peter
- Katzmann, Corey Farrell Tested by: Corey Farrell Patches:
- asterisk-21397-missing-unreg-manager-cmd_1.8.diff Michael L.
- Young (license 5026)
- asterisk-21397-missing-unreg-manager-cmd_11.diff Michael L. Young
- (license 5026) Review: https://reviewboard.asterisk.org/r/2444/
- ........ Merged revisions 385593 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 385594 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-12 22:26 +0000 [r385585] Kinsey Moore <kmoore@digium.com>
- * /, codecs/codec_resample.c: Allow codec_resample to be unloaded
- Ensure that trans_size is correct to prevent uninitialized
- entries from preventing reload. (closes issue ASTERISK-21401)
- Reported by: Corey Farrell Tested by: Corey Farrell Patches:
- codec_resample-unload.patch uploaded by Corey Farrell ........
- Merged revisions 385582 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-12 22:22 +0000 [r385573] Michael L. Young <elgueromexicano@gmail.com>
- * apps/app_voicemail.c, /: Fix app_voicemail Segfault And A Few
- Memory Leaks The original report was that app_voicemail would
- crash. This was caused by ast_config_load() returning
- CONFIG_STATUS_FILEINVALID but no checks being performed for that
- return status. After adding the initial patch to fix this issue,
- Jaco Kroon (jkroon) added some fixes to memory leaks he had
- discovered. During review, Walter Doekes (wdoekes) suggested
- adding a helper function in order to determine if we had a valid
- configuration or not. This patch does the following: * Creates a
- helper function to check if the configuration is valid * Adds
- calls to the new helper function where appropiate * Fixes memory
- leaks where the code returned without running
- ast_config_destroy() on the configuration that was loaded (closes
- issue ASTERISK-21302) Reported by: Jaco Kroon Tested by: Jaco
- Kroon, Michael L. Young Patches:
- asterisk-11.3.0-app_voicemail-ast_config-fixes.patch Jaco Kroon
- (license 5671) asterisk-21302-valid_cfg_and_mem_leaks_v3-1.8.diff
- Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2443/ ........ Merged
- revisions 385551 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 385557 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-12 21:48 +0000 [r385548] Jason Parker <jparker@digium.com>
- * include/asterisk/sorcery.h: Fix documentation.
- 2013-04-12 21:11 +0000 [r385522] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/manager.h, main/manager_channels.c: Expose
- channel snapshot manager blob generation These functions are
- already used in one branch (jrose's parking branch) and will soon
- be used in other branches as well.
- 2013-04-12 15:06 +0000 [r385474] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c: Fix One-Way Audio With auto_* NAT
- Settings When SIP Calls Initiated By PBX When we reload Asterisk
- or chan_sip, the flags force_rport and comedia that are turned on
- and off when using the auto_force_rport and auto_comedia nat
- settings go back to the default setting off. These flags are
- turned on when needed or off when not needed at the time that a
- peer registers, re-registers or initiates a call. This would
- apply even when only the default global setting
- "nat=auto_force_rport" is being used, which in this case would
- only affect the force_rport flag. Everything is good except for
- the following: The nat setting is set to auto_force_rport and
- auto_comedia. We reload Asterisk and the peer's registration has
- not expired. We load in the settings for the peer which turns
- force_rport and comedia back to off. Since the peer has not
- re-registered or placed a call yet, those flags remain off. We
- then initiate a call to the peer from the PBX. The force_rport
- and comedia flags stay off. If NAT is involved, we end up with
- one-way audio since we never checked to see if the peer is behind
- NAT or not. This patch does the following: * Moves the checking
- of whether a peer is behind NAT into its own function * Create a
- function to set the peer's NAT flags if they are using the auto_*
- NAT settings * Adds calls in sip_request_call() to these new
- functions in order to setup the dialog according to the peer's
- settings (closes issue ASTERISK-21374) Reported by: Michael L.
- Young Tested by: Michael L. Young Patches:
- asterisk-21374-auto-nat-outgoing-fix_v2.diff Michael L. Young
- (license 5026) Review: https://reviewboard.asterisk.org/r/2421/
- ........ Merged revisions 385473 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-12 08:52 +0000 [r385406-385431] Alec L Davis <sivad.a@paradise.net.nz>
- * channels/chan_iax2.c, /: IAX2 defer_full_frames fail to get sent
- Ensure iax2_process_thread is signalled when a deferred frame is
- queued to it. (closes issue ASTERISK-18827) Reported by:
- alecdavis Tested by: alecdavis alecdavis (license 585) Review
- https://reviewboard.asterisk.org/r/2426/ ........ Merged
- revisions 385429 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 385430 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_iax2.c: IAX2, prevent network thread starting
- before all helper threads are ready On startup, it's possible for
- a frame to arrive before the processing threads were ready. In
- iax2_process_thread() the first pass through falls into
- ast_cond_wait, should a frame arrive before we are at
- ast_cond_wait, the signal will be ignored. The result
- iax2_process_thread stays at ast_cond_wait forever, with deferred
- frames being queued. Fix: When creating initial idle
- iax2_process_threads, wait for init_cond to be signalled after
- each thread is started. (issue ASTERISK-18827) Reported by:
- alecdavis Tested by: alecdavis alecdavis (license 585) Review
- https://reviewboard.asterisk.org/r/2427/ ........ Merged
- revisions 385402 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 385403 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-11 16:53 +0000 [r385277-385314] Richard Mudgett <rmudgett@digium.com>
- * /, configs/cli_aliases.conf.sample: Fix 'pri intense debug span'
- alias. ........ Merged revisions 385313 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/features.c: Eliminated dial_features_destroy() since it is
- equivalent to ast_free_ptr()
- * main/manager.c, main/features.c: * Fix unlocked accesses to
- feature_list. The feature_list is now also protected by the
- features_lock. * Made all calls to ast_find_call_feature() have
- the features_lock held. * Fixed set_config_flags() to actually
- use find_group() to look for feature groups in DYNAMIC_FEATURES.
- The code originally assumed all feature groups were listed in
- DYNAMIC_FEATURES. * Make everyone use ast_rdlock_call_features(),
- ast_unlock_call_features(), and new ast_wrlock_call_features()
- instead of directly calling the rwlock API on features_lock.
- 2013-04-10 15:34 +0000 [r385236] David M. Lee <dlee@digium.com>
- * main/stasis_channels.c: Fixed manager channelvars support. For
- the events that have been ported to Stasis, this was broken in
- r384910, when a couple of lines of code was lost in a merge.
- 2013-04-10 14:26 +0000 [r385174-385202] Matthew Jordan <mjordan@digium.com>
- * /, res/res_config_ldap.c: Use LDAP memory management functions
- instead of Asterisk's When MALLOC_DEBUG is enabled with
- res_config_ldap, issues (munmap_chunk: invalid pointer errors)
- can occur as the memory is being allocated with Asterisk's
- wrappers around malloc/calloc/free/strdup, as opposed to the LDAP
- library's wrappers. This patch uses the LDAP library's wrappers
- where appropriate, so that compiling with MALLOC_DEBUG doesn't
- cause more problems than it solves. Note that the patch listed
- below was modified slightly for this commit to account for some
- additional memory allocation/deallocations. (closes issue
- ASTERISK-17386) Reported by: John Covert Tested by: Andrew Latham
- patches: issue18789-1.8-r316873.patch uploaded by seanbright
- (License 5060) ........ Merged revisions 385190 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 385199 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: Fix crash in chan_sip when a core
- initiated op occurs at the same time as a BYE When a BYE request
- is processed in chan_sip, the current SIP dialog is detached from
- its associated Asterisk channel structure. The tech_pvt pointer
- in the channel object is set to NULL, and the dialog persists for
- an RFC mandated period of time to handle re-transmits. While this
- process occurs, the channel is locked (which is good).
- Unfortunately, operations that are initiated externally have no
- way of knowing that the channel they've just obtained (which is
- still valid) and that they are attempting to lock is about to
- have its tech_pvt pointer removed. By the time they obtain the
- channel lock and call the channel technology callback, the
- tech_pvt is NULL. This patch adds a few checks to some channel
- callbacks that make sure the tech_pvt isn't NULL before using it.
- Prime offenders were the DTMF digit callbacks, which would crash
- if AMI initiated a DTMF on the channel at the same time as a BYE
- was received from the UA. This patch also adds checks on
- sip_transfer (as AMI can also cause a callback into this
- function), as well as sip_indicate (as lots of things can queue
- an indication onto a channel). Review:
- https://reviewboard.asterisk.org/r/2434/ (closes issue
- ASTERISK-20225) Reported by: Jeff Hoppe ........ Merged revisions
- 385170 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 385173 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-09 19:58 +0000 [r385142] Richard Mudgett <rmudgett@digium.com>
- * main/features.c: Rename struct feature_ds to struct
- feature_datastore. Because "struct feature_ds *feature_ds" is not
- a good thing.
- 2013-04-09 18:22 +0000 [r385116] David M. Lee <dlee@digium.com>
- * apps/app_stasis.c: Backported app_stasis fix from stasis-http
- branch. The hash and compare functions for the control container
- was reusing the wrong ones, causing some problems. I fixed it,
- but in the wrong branch. Oh well, it happens.
- 2013-04-09 06:16 +0000 [r385088] Russell Bryant <russell@russellbryant.com>
- * main/features.c, CHANGES: Add inheritance support to
- FEATURE()/FEATUREMAP(). The settings saved on the channel for
- FEATURE()/FEATUREMAP() were only for that channel. This patch
- adds the ability to have these settings inherited to child
- channels if you set FEATURE(inherit)=yes. Closes issue
- ASTERISK-21306. Review: https://reviewboard.asterisk.org/r/2415/
- 2013-04-08 23:38 +0000 [r385049] Rusty Newton <rnewton@digium.com>
- * /, configs/extconfig.conf.sample: Modified the list of keys for
- the driver backends for sake of sample clarity Added a line
- showing the mapping of "mysql" to res_config_mysql available in
- add-ons. We used "mysql" as an example driver key in the sample,
- but didn't show what module it mapped too. Also added a subtitle
- above the list of keys for driver backends. ........ Merged
- revisions 385047 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 385048 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-08 18:24 +0000 [r384989] Walter Doekes <walter+asterisk@wjd.nu>
- * build_tools/make_buildopts_h,
- build_tools/make_linker_version_script, Makefile,
- build_tools/mkpkgconfig, build_tools/make_version: Clean up
- Makefile "warning" clutter when makeopts doesn't exist. Review:
- https://reviewboard.asterisk.org/r/2304
- 2013-04-08 15:38 +0000 [r384910-384942] Matthew Jordan <mjordan@digium.com>
- * res/res_http_websocket.c, res/res_stasis_websocket.c: Don't
- attempt a websocket protocol removal if res_http_websocket isn't
- there This patch sets the protocols container provided by
- res_http_websocket to NULL when the module gets unloaded and adds
- the necessary checks when adding/ removing a websocket protocol.
- This prevents some FRACKing on an invalid pointer to the disposed
- container if a module that uses res_http_websocket is unloaded
- after it.
- * apps/app_stasis.c, main/manager_channels.c, apps/app_dial.c,
- main/pbx.c, main/channel_internal_api.c,
- tests/test_stasis_channels.c (added),
- include/asterisk/app_stasis.h, apps/app_userevent.c,
- include/asterisk/channel.h, CHANGES, main/channel.c, main/dial.c,
- include/asterisk/stasis_channels.h (added), main/features.c,
- apps/stasis_json.c, pbx/pbx_realtime.c, main/stasis_channels.c
- (added): Add multi-channel Stasis messages; refactor Dial AMI
- events to Stasis This patch does the following: * A new Stasis
- payload has been defined for multi-channel messages. This payload
- can store multiple ast_channel_snapshot objects along with a
- single JSON blob. The payload object itself is opaque; the
- snapshots are stored in a container keyed by roles. APIs have
- been provided to query for and retrieve the snapshots from the
- payload object. * The Dial AMI events have been refactored onto
- Stasis. This includes dial messages in app_dial, as well as the
- core dialing framework. The AMI events have been modified to send
- out a DialBegin/DialEnd events, as opposed to the subevent type
- that was previously used. * Stasis messages, types, and other
- objects related to channels have been placed in their own file,
- stasis_channels. Unit tests for some of these objects/messages
- have also been written.
- 2013-04-08 13:27 +0000 [r384879] David M. Lee <dlee@digium.com>
- * main/json.c, res/res_stasis_websocket.c (added), main/frame.c,
- apps/Makefile, tests/test_abstract_jb.c,
- apps/app_stasis.exports.in (added), apps/stasis_json.c (added),
- include/asterisk/app_stasis.h (added), include/asterisk/json.h,
- include/asterisk/localtime.h, tests/test_app_stasis.c (added),
- include/asterisk/frame.h, apps/app_stasis.c (added),
- tests/test_json.c: Stasis application WebSocket support This is
- the API that binds the Stasis dialplan application to external
- Stasis applications. It also adds the beginnings of WebSocket
- application support. This module registers a dialplan function
- named Stasis, which is used to put a channel into the named
- Stasis app. As a channel enters and leaves the Stasis diaplan
- application, the Stasis app receives a 'stasis-start' and
- 'stasis-end' events. Stasis apps register themselves using the
- stasis_app_register and stasis_app_unregister functions. Messages
- are sent to an application using stasis_app_send. Finally, Stasis
- apps control channels through the use of the stasis_app_control
- object, and the family of stasis_app_control_* functions. Other
- changes along for the ride are: * An ast_frame_dtor function
- that's RAII_VAR safe * Some common JSON encoders for name/number,
- timeval, and context/extension/priority Review:
- https://reviewboard.asterisk.org/r/2361/
- 2013-04-06 16:00 +0000 [r384857] Joshua Colp <jcolp@digium.com>
- * tests/test_sorcery_astdb.c (added), res/res_sorcery_astdb.c
- (added): Add a res_sorcery_astdb module which uses the astdb to
- persist objects. Review: https://reviewboard.asterisk.org/r/2420/
- 2013-04-05 20:41 +0000 [r384828] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c, UPGRADE-11.txt: Fix For Not Overriding
- The Default Settings In chan_sip The initial report was that the
- "nat" setting in the [general] section was not having any effect
- in overriding the default setting. Upon confirming that this was
- happening and looking into what was causing this, it was
- discovered that other default settings would not be overriden as
- well. This patch works similar to what occurs in build_peer(). We
- create a temporary ast_flags structure and using a mask, we
- override the default settings with whatever is set in the
- [general] section. In the bug report, the reporter who helped to
- test this patch noted that the directmedia settings were being
- overriden properly as well as the nat settings. This issue is
- also present in Asterisk 1.8 and a separate patch will be applied
- to it. (issue ASTERISK-21225) Reported by: Alexandre Vezina
- Tested by: Alexandre Vezina, Michael L. Young Patches:
- asterisk-21225-handle-options-default-prob_v4.diff Michael L.
- Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2385/ ........ Merged
- revisions 384827 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-04 18:15 +0000 [r384696-384760] Richard Mudgett <rmudgett@digium.com>
- * main/event.c: Separate some event struct definitions from
- instantiation.
- * channels/chan_dahdi.c, configs/chan_dahdi.conf.sample,
- UPGRADE.txt: chan_dahdi: Change inband_on_proceeding option
- default to no/disabled. (issue ASTERISK-21151)
- * channels/sig_pri.h, channels/chan_dahdi.c,
- configs/chan_dahdi.conf.sample, /, channels/sig_pri.c:
- chan_dahdi: Add inband_on_proceeding compatibility option. The
- new inband_on_proceeding option causes Asterisk to assume inband
- audio may be present when a PROCEEDING message is received. Q.931
- Section 5.1.2 says the network cannot assume that the CPE side
- has attached to the B channel at this time without explicitly
- sending the progress indicator ie informing the CPE side to
- attach to the B channel for audio. However, some non-compliant
- ISDN switches send a PROCEEDING without the progress indicator ie
- indicating inband audio is available and assume that the CPE
- device has connected the media path for listening to ringback and
- other messages. ASTERISK-17834 which causes this issue was
- dealing with a non-compliant network switch. (closes issue
- ASTERISK-21151) Reported by: Gianluca Merlo Tested by: rmudgett
- ........ Merged revisions 384685 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 384689 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-03 17:17 +0000 [r384642] Matthew Jordan <mjordan@digium.com>
- * funcs/func_channel.c, /: Update documentation for CHANNEL
- function Document that you can read/write the 'accountcode' and
- 'amaflags' on a channel. ........ Merged revisions 384640 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 384641 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-03 16:01 +0000 [r384616] Richard Mudgett <rmudgett@digium.com>
- * main/astobj2.c: astobj2: Fix rbtree duplicate handling.
- OBJ_PARTIAL_KEY searching a rbtree did not find all possible
- matches if the container did not accept duplicates. Added
- matching node bias to indicate which matching node is being
- searched for: first, last, any.
- 2013-04-02 17:35 +0000 [r384546] David M. Lee <dlee@digium.com>
- * Makefile, /: Fixed spurious rebuilds of func_version.
- func_version.so was being rebuilt every time, because build.h was
- changing every build, because of the cleantest dependency that
- was added in r384410 to fix parallel make bugs. Now build.h will
- only be created if it does not exist, which was the original
- behavior of the Makefile. ........ Merged revisions 384544 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 384545 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-02 12:18 +0000 [r384518] Joshua Colp <jcolp@digium.com>
- * main/sorcery.c: Pass the object type name to the configuration
- framework.
- 2013-04-02 11:40 +0000 [r384514] Matthew Jordan <mjordan@digium.com>
- * main/xmldoc.c, include/asterisk/app.h: Make things work again
- Sorry folks. ',' are still greater than '|'. Thanks for playing
- along :-)
- 2013-04-01 20:10 +0000 [r384488] David M. Lee <dlee@digium.com>
- * contrib/scripts/install_prereq: install_prereq: Build jansson
- from source, when necessary When r383579 was committed, it made
- Jansson a required dependency. While libjansson-dev and
- jansson-devel are available on recent distros, some older (but
- still supported) distros don't have it. There's a pull request[1]
- to get it into repoforge, but that still doesn't help everyone.
- (And helps no one until the pull request is merged and packages
- are built). This patch adds Jansson install from source to the
- install_unpackaged() function. There are a few gotcha's, which
- makes this change not completely trivial. * Since Jansson may be
- installed by a package, don't install from source if a package
- installation can be found * libresample may also be installed via
- package, so I added a similar check to that. * Since Jansson
- installs into /usr/local, this patch also adds /usr/local/lib to
- /etc/ld.so.conf.d so that the library can be found. * The
- alternative was to install into /usr, but then it gets
- complicated having to deal with EL's /usr/lib{32,64} shenanigans.
- [1]: https://github.com/repoforge/rpms/pull/250 Review:
- https://reviewboard.asterisk.org/r/2414/
- 2013-04-01 14:44 +0000 [r384452] Matthew Jordan <mjordan@digium.com>
- * main/xmldoc.c, include/asterisk/app.h: Make appropriate items
- parse using '|' instead of ',' This patch fixes a bug introduced
- in r76703, wherein Asterisk could only parse arguments in the
- so-called 'recommended' way, e.g., NoOp(foo,bar). The proper
- syntax of NoOp,foo|bar is now parsed correctly.
- 2013-04-01 14:10 +0000 [r384416] Joshua Colp <jcolp@digium.com>
- * /, apps/app_voicemail.c: Remove silly use of strncmp. ........
- Merged revisions 384414 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-04-01 13:37 +0000 [r384412-384413] David M. Lee <dlee@digium.com>
- * main/stasis.c, tests/test_stasis.c: stasis: Fixed message
- ordering issues when forwarding This patch fixes an issue of
- message ordering that occurs when multiple topics are forwarded
- to an aggregator topic (such as ast_channel_topic_all()). It is
- (very reasonably) expected that the rules governing message
- dispatch order still apply, so long as the messages start from
- the same thread, and are received by the same subscription.
- Because the existing code had an additional layer of dispatching
- via the Stasis thread pool for forwards, those promises couldn't
- be kept. Forwarding subscriptions no longer have their own
- mailbox, and now dispatch directly from the forwarding topic's
- stasis_publish() call. This means that the topic's lock is held
- for the duration of not only a message's dispatch, but the
- dispatch of all the forwards. This shouldn't be a problem right
- now, but if an aggregator topic had many subscribers, it could
- become a problem. But I figure we can write more clever code when
- the time comes, if necessary. Review:
- https://reviewboard.asterisk.org/r/2419/
- * /, Makefile: Fix parallel make problems. Occasionally, make -j
- would fail due to missing includes, or other unusual errors. This
- was due to the 'cleantest' target, which was designed to force a
- make clean when some change in the code would cause the typical
- depedency checking to fail. Several targets in the main Makefile
- did not depend upon cleantest, hence would run in parallel to it.
- By adding the dependency, make -j runs happily now. Review:
- https://reviewboard.asterisk.org/r/2418/ ........ Merged
- revisions 384410 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 384411 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-30 05:15 +0000 [r384389-384390] Matthew Jordan <mjordan@digium.com>
- * main/manager.c: Properly format an intmax_t value
- * include/asterisk/test.h, main/manager.c, main/test.c,
- apps/app_voicemail.c: Convert TestEvent AMI events over to Stasis
- Core This patch migrates the TestEvent AMI events to first be
- dispatched over the Stasis-Core message bus. This helps to
- preserve the ordering of the events with other events in the AMI
- system, such as the various channel related events.
- 2013-03-29 16:37 +0000 [r384327] Jonathan Rose <jrose@digium.com>
- * apps/app_voicemail.c: app_voicemail: Add blank argument to
- externnotify if no context argument At least one call to
- run_externnotify provides a NULL context parameter and because
- the snprintf statement doesn't account for a NULL context
- parameter, it simply writes '(null)' to the arguments string
- instead. This patch makes it write two quotes back to back for
- that argument instead in the event of a NULL context. (closes
- issue ASTERISK-18207) Reported by: Barry L. Kline Patches:
- modified from patch-20130306 uploaded by Karsten Wemheuer
- (License 5930) ........ Merged revisions 384325 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 384326 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-28 23:59 +0000 [r384302] Richard Mudgett <rmudgett@digium.com>
- * main/sorcery.c, main/stasis.c, main/uuid.c,
- res/res_calendar_exchange.c, res/res_sorcery_config.c,
- include/asterisk/uuid.h, tests/test_uuid.c: Add uuid wrapper API
- call ast_uuid_generate_str(). * Updated test_uuid.c to test the
- new API call. * Made system use the new API call to eliminate
- "10's of lines" where used. * Fixed untested ast_strdup() return
- in stasis_subscribe() by eliminating the need for it. struct
- stasis_subscription now contains the uniqueid[] string. * Fixed
- some issues in exchangecal_write_event(): Create uid with enough
- space for a UUID string to avoid a realloc. Fix off by one error
- if the calendar event provided a UUID string. There is no need to
- check for NULL before calling ast_free().
- 2013-03-28 15:45 +0000 [r384219-384261] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/stasis.h, main/app.c, pbx/pbx_realtime.c,
- include/asterisk/channel.h, tests/test_stasis.c,
- main/manager_channels.c, main/stasis.c, apps/app_voicemail.c,
- main/channel.c, main/pbx.c, main/stasis_cache.c: Break the world.
- Stasis message type accessors should now all be named correctly.
- * main/app.c, res/res_xmpp.c, channels/chan_iax2.c,
- channels/sig_pri.c, res/res_jabber.c, channels/chan_mgcp.c,
- channels/chan_unistim.c, channels/chan_dahdi.c,
- include/asterisk/app.h, channels/chan_sip.c,
- channels/chan_skinny.c: Convert MWI state message type to the new
- stasis naming convention
- 2013-03-27 21:52 +0000 [r384201] David M. Lee <dlee@digium.com>
- * include/asterisk/app.h, include/asterisk/stasis.h,
- include/asterisk/channel.h: Added a doxygen group for Stasis
- messages and topics
- 2013-03-27 19:52 +0000 [r384164] Kinsey Moore <kmoore@digium.com>
- * main/format_pref.c, /, channels/chan_sip.c: Address uninitialized
- conditional that valgrind found ........ Merged revisions 384162
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 384163 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-27 18:52 +0000 [r384120] Matthew Jordan <mjordan@digium.com>
- * /, main/http.c: Fix a file descriptor leak in off nominal path
- While looking at the security vulnerability in ASTERISK-20967,
- Walter noticed a file descriptor leak and some other issues in
- off nominal code paths. This patch corrects them. Note that this
- patch is not related to the vulnerability in ASTERISK-20967, but
- the patch was placed on that issue. (closes issue ASTERISK-20967)
- Reported by: wdoekes patches:
- issueA20967_file_leak_and_unused_wkspace.patch uploaded by
- wdoekes (License 5674) ........ Merged revisions 384118 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 384119 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-27 17:07 +0000 [r384050] Kinsey Moore <kmoore@digium.com>
- * res/res_rtp_asterisk.c, /: Fix white noise on SRTP decryption
- When res_rtp_asterisk.c was altered to avoid attempting to apply
- unprotect algorithms to non-audio RTP packets, the test used was
- incorrect. This caused the audio packets to not be decrypted and
- resulted in loud white noise on the other endpoint (or both
- endpoints depending on the call legs involved). The test now
- properly checks the version field in the RTP header to ensure
- that RTP and RTCP are decrypted while other types of packets are
- not. (closes issue ASTERISK-21323) Reported by: andrea Tested by:
- Kinsey Moore, andrea, John Bigelow Patches: whitenoise_fix.diff
- uploaded by Kinsey Moore ........ Merged revisions 384048 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 384049 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-27 15:27 +0000 [r383975-384019] Matthew Jordan <mjordan@digium.com>
- * channels/sip/include/sip.h, /, channels/chan_sip.c,
- channels/sip/security_events.c: AST-2013-003: Prevent username
- disclosure in SIP channel driver When authenticating a SIP
- request with alwaysauthreject enabled, allowguest disabled, and
- autocreatepeer disabled, Asterisk discloses whether a user exists
- for INVITE, SUBSCRIBE, and REGISTER transactions in multiple
- ways. The information is disclosed when: * A "407 Proxy
- Authentication Required" response is sent instead of a "401
- Unauthorized" response * The presence or absence of additional
- tags occurs at the end of "403 Forbidden" (such as "(Bad Auth)")
- * A "401 Unauthorized" response is sent instead of "403
- Forbidden" response after a retransmission * Retransmission are
- sent when a matching peer did not exist, but not when a matching
- peer did exist. This patch resolves these various vectors by
- ensuring that the responses sent in all scenarios is the same,
- regardless of the presence of a matching peer. This issue was
- reported by Walter Doekes, OSSO B.V. A substantial portion of the
- testing and the solution to this problem was done by Walter as
- well - a huge thanks to his tireless efforts in finding all the
- ways in which this setting didn't work, providing automated
- tests, and working with Kinsey on getting this fixed. (closes
- issue ASTERISK-21013) Reported by: wdoekes Tested by: wdoekes,
- kmoore patches: AST-2013-003-1.8 uploaded by kmoore, wdoekes
- (License 6273, 5674) AST-2013-003-10 uploaded by kmoore, wdoekes
- (License 6273, 5674) AST-2013-003-11 uploaded by kmoore, wdoekes
- (License 6273, 5674) ........ Merged revisions 384003 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/http.c: AST-2013-002: Prevent denial of service in HTTP
- server AST-2012-014, fixed in January of this year, contained a
- fix for Asterisk's HTTP server for a remotely-triggered crash.
- While the fix put in place fixed the possibility for the crash to
- be triggered, a denial of service vector still exists with that
- solution if an attacker sends one or more HTTP POST requests with
- very large Content-Length values. This patch resolves this by
- capping the Content-Length at 1024 bytes. Any attempt to send an
- HTTP POST with Content-Length greater than this cap will not
- result in any memory allocation. The POST will be responded to
- with an HTTP 413 "Request Entity Too Large" response. This issue
- was reported by Christoph Hebeisen of TELUS Security Labs (closes
- issue ASTERISK-20967) Reported by: Christoph Hebeisen patches:
- AST-2013-002-1.8.diff uploaded by mmichelson (License 5049)
- AST-2013-002-10.diff uploaded by mmichelson (License 5049)
- AST-2013-002-11.diff uploaded by mmichelson (License 5049)
- ........ Merged revisions 383978 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_format_attr_h264.c, /: AST-2013-001: Prevent buffer
- overflow through H.264 format negotiation The format attribute
- resource for H.264 video performs an unsafe read against a media
- attribute when parsing the SDP. The value passed in with the
- format attribute is not checked for its length when parsed into a
- fixed length buffer. This patch resolves the vulnerability by
- only reading as many characters from the SDP value as will fit
- into the buffer. (closes issue ASTERISK-20901) Reported by: Ulf
- Harnhammar patches: h264_overflow_security_patch.diff uploaded by
- jrose (License 6182) ........ Merged revisions 383973 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-27 07:24 +0000 [r383948] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Fix skinny encall button to not blind
- xfer. The softbutton endcall should not turn a transfer into a
- blind transfer but hangup the exten being called and leave the
- original call on hold. This does that. (closes issue
- ASTERISK-21321) Reported by: wedhorn Tested by: snuffy, myself
- Patches: skinny-xferendcall01.diff uploaded by wedhorn (license
- 5019)
- 2013-03-26 23:34 +0000 [r383925] Joshua Colp <jcolp@digium.com>
- * main/sorcery.c: Remove the noop handler from sorcery so it does
- not produce an empty value.
- 2013-03-26 02:30 +0000 [r383841-383879] Matthew Jordan <mjordan@digium.com>
- * /, channels/chan_sip.c: Resolve deadlock between SIP registration
- and channel based functions In r373424, several reentrancy
- problems in chan_sip were addressed. As a result, the SIP channel
- driver is now properly locking the channel driver private
- information in certain operations that it wasn't previously. This
- exposed two latent problems either in register_verify or by
- functions called by register_verify. This includes: * Holding the
- private lock while calling sip_send_mwi_to_peer. This can create
- a new sip_pvt via sip_alloc, which will obtain the channel
- container lock. This is a locking inversion, as any channel
- related lock must be obtained prior to obtaining the SIP channel
- technology private lock. Note that this issue was already fixed
- in Asterisk 11. * Holding the private lock while calling
- sip_poke_peer. In the same vein as sip_send_mwi_to_peer,
- sip_poke_peer can create a new SIP private, causing the same
- locking inversion. Note that this locking inversion typically
- occured when CLI commands were run while a SIP REGISTER request
- was being processed, as many CLI commands (such as 'sip show
- channels', 'core show channels', etc.) have to obtain the channel
- container lock. (issue ASTERISK-21068) Reported by: Nicolas
- Bouliane (issue ASTERISK-20550) Reported by: David Brillert
- (issue ASTERISK-21314) Reported by: Badalian Vyacheslav (issue
- ASTERISK-21296) Reported by: Gabriel Birke ........ Merged
- revisions 383863 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 383878 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/cdr.c, /: Resolve deadlock between pending CDR and batch CDR
- locks r375757 attempted to resolve a race condition between
- multiple submissions of CDRs while in batch mode from attempting
- to destroy the scheduled batch submission by extending the batch
- CDR lock. Unfortunately, this causes a deadlock between the
- pending CDR lock and the batch CDR lock. This patch resolves the
- intent of r375757 by simply providing a new lock that protects
- the scheduling of the batches. The original batch CDR lock is
- kept to protect manipulation of the batch CDR settings, but has
- been placed such that it is not held when the pending lock is
- held. Thanks to Chase Venters for providing lock analysis on the
- issue. (issue ASTERISK-21162) Reported by: Chase Venters ........
- Merged revisions 383839 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 383840 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-26 01:46 +0000 [r383837-383838] Russell Bryant <russell@russellbryant.com>
- * channels/chan_skinny.c: Suppress compiler warning. This code
- caused a compiler warning when --enable-dev-mode was not used.
- The warning was that this variable was set but not used. That was
- indeed the case as the only place this is used is as an argument
- to SKINNY_DEBUG which is compiled out when not in dev mode.
- * /, apps/app_meetme.c: Fix multi-station answer race condition.
- When an SLA trunk is ringing (inbound call on the trunk) Asterisk
- will make outbound calls to the stations that have that trunk. If
- more than one station answers the call at the same time, all
- channels other than the first one to answer are left in a bad
- state. The channel gets leaked, is not connected to anything, and
- there's no way to get rid of it. We now properly clean up these
- losing channels by hanging up on them. Since they lost the race,
- as we process their answer, there is no ringing trunk for them to
- answer. ........ Merged revisions 383835 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 383836 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-25 23:25 +0000 [r383799] Richard Mudgett <rmudgett@digium.com>
- * /, channels/sig_pri.c: Set the CALLERID(dnid-num-plan) for
- incoming ISDN calls. The CALLEDTON channel variable is set for
- incoming ISDN calls to the lower 7 bits of the Q.931
- type-of-number/numbering-plan octet. The CALLERID(dnid-num-plan)
- should have the same value. (closes issue ASTERISK-21248)
- Reported by: rmudgett ........ Merged revisions 383796 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 383798 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-25 20:15 +0000 [r383753-383754] Kinsey Moore <kmoore@digium.com>
- * main/manager_channels.c: Fix typo
- * main/stasis.c: Fix missing ' ' around '='
- 2013-03-25 19:28 +0000 [r383726-383747] David M. Lee <dlee@digium.com>
- * contrib/scripts/install_prereq: install_prereq: removed some
- out-of-date comments
- * contrib/scripts/install_prereq: install_prereq: Adding
- jansson-devel to RH packages
- * main/channel_internal_api.c, include/asterisk/channel.h, CHANGES,
- main/manager_channels.c, main/channel.c, main/manager.c: Move
- NewCallerid, HangupRequest and SoftHangupRequest to Stasis
- HangupRequest and SoftHangupRequest are now ast_channel_blob
- Stasis messages, with the cause code as an optional field in the
- blob. NewCallerid now simply watches for changes in the callerid
- information in channel snapshots, and creates the AMI event
- appropriately. Since the original NewCallerid event honored the
- channelvars setting in manager.conf, the channel variables
- configured there had to become a part of the channel snapshot.
- These are now a part of every snapshot based event, making the
- configuration description "every time a channel-oriented event is
- emitted" less of a lie. There a a few other changes wrapped up in
- here as well. * When ast_channel_topic() is given NULL for a
- channel, it returns the ast_channel_topic_all() topic instead of
- NULL. This can clean up a lot of NULL checking we're doing
- currently. * The fields Cause and Cause-txt were removed from the
- base channel information and put only on the Hangup events, since
- those fields are meaningless outside of a Hangup event. * Removed
- the pipe-delimiter processing of the channelvars field, since
- that's been deprecated forever. (closes issue ASTERISK-21096)
- Review: https://reviewboard.asterisk.org/r/2405/
- 2013-03-25 12:38 +0000 [r383669] Sean Bright <sean@malleable.com>
- * res/res_config_curl.c, /: Properly delimit post data in
- res_config_curl. ........ Merged revisions 383667 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 383668 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-22 20:51 +0000 [r383633] David M. Lee <dlee@digium.com>
- * main/json.c, main/Makefile: Fixed another issue from r383579.
- Core modules don't honor <depend> flags in MODULEINFO, which
- broke jansson if specified --with-jansson to configure.
- 2013-03-22 20:43 +0000 [r383632] Michael L. Young <elgueromexicano@gmail.com>
- * apps/app_mixmonitor.c, /: Fix StopMixMonitor Hanging Up When
- Unable To Stop MixMonitor On A Channel A regression was
- accidentally introduced when allowing an optional ID to be used
- when calling StopMixMonitor. When we are unable to stop
- MixMonitor on a channel, -1 is being returned which triggers the
- hangup of the channel. This patch restores the prior behavior by
- returning 0 whether we were successful or not. It also allows the
- call from the manager to use the return code when the action
- fails. (closes issue ASTERISK-21294) Reported by: daroz Tested
- by: daroz Patches: asterisk-21294-stop_mixmonitor_hangingup.diff
- Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2404/ ........ Merged
- revisions 383631 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-22 19:26 +0000 [r383579-383611] David M. Lee <dlee@digium.com>
- * main/asterisk.c, main/json.c, include/asterisk/json.h: Corrected
- some module issues introduced by r383579. When I moved res_json.c
- to json.c, I left the MODULE_INFO stuff in there, which was
- interesting if you ran module show. I also forgot to call what
- was in module_load() from asterisk main().
- * pbx/pbx_realtime.c, main/manager_channels.c (added),
- tests/test_json.c, res/res_json.c (removed), main/pbx.c,
- include/asterisk/autoconfig.h.in, configure.ac,
- apps/app_userevent.c, include/asterisk/channel.h, CHANGES,
- include/asterisk/manager.h, main/channel.c, main/json.c (added),
- main/manager.c, configure, res/res_json.exports.in (removed):
- Move more channel events to Stasis; move res_json.c to
- main/json.c. This patch started out simply as fixing the bouncing
- tests introduced in r382685, but required some other changes to
- give it a decent implementation. To fix the bouncing tests, the
- UserEvent and Newexten AMI events needed to be refactored to
- dispatch via Stasis. Dispatching directly to AMI resulted in
- those events sometimes getting ahead of the associated Newchannel
- events, which would understandably confuse anyone. I found that
- instead of creating a zillion different message types and
- structures associated with them, it would be preferable to define
- a message type that has a channel snapshot and a blob of
- structured data with a small bit of additional information. The
- JSON object model provides a very nice way of representing
- structured data, so I went with that. * Move JSON support from
- res_json.c to main/json.c * Made libjansson-dev a required
- dependency * Added an ast_channel_blob message type, which has a
- channel snapshot and JSON blob of data. * Changed UserEvent and
- Newexten events so that they are dispatched via ast_channel_blob
- messages on the channel's topic. * Got rid of the
- ast_channel_varset message; used ast_channel_blob instead. *
- Extracted the manager functions converting Stasis channel events
- to AMI events into manager_channel.c. (issue ASTERISK-21096)
- Review: https://reviewboard.asterisk.org/r/2381/
- 2013-03-22 06:32 +0000 [r383560] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Fix skinny voicemail indication issues.
- Unsubscribe from MWI stasis event on channel reload. (closes
- issue ASTERISK-21216) Reported by: wedhorn Tested by: snuffy,
- myself Patches: skinny-mwiind02.diff uploaded by snuffy (license
- 5024)
- 2013-03-21 20:09 +0000 [r383541] David M. Lee <dlee@digium.com>
- * include/asterisk/stasis.h: Corrected doc error for Stasis. I
- guess the mutex isn't necessary. Thanks, rmudgett!
- 2013-03-21 17:41 +0000 [r383519] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/astobj2.h: Fix astobj2 doxygen comment.
- 2013-03-20 20:27 +0000 [r383458-383462] Walter Doekes <walter+asterisk@wjd.nu>
- * funcs/func_curl.c, /: Have func_curl log a warning when a curl
- request fails. Review: https://reviewboard.asterisk.org/r/2403/
- ........ Merged revisions 383460 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 383461 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * funcs/func_curl.c, /: Minor cleanup in func_curl near hashcompat
- code. Review: https://reviewboard.asterisk.org/r/2402/ ........
- Merged revisions 383457 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-20 16:01 +0000 [r383422] Kinsey Moore <kmoore@digium.com>
- * main/stasis.c: Resolve a race condition in Stasis Because of the
- way that topics were handled when publishing, it was possible to
- dispatch a message to a subscription after that subscription had
- been unsubscribed such that the dispatched message arrived at the
- callback after the callback had received its final message. In
- callbacks that cleaned up user data, this would often cause a
- segfault. This has been resolved by locking the topic during the
- entirety of dispatch. To prevent long publishing and topic
- locking times, forwarding subscriptions have been made to be
- standard subscriptions instead of mailboxless subscriptions which
- were dispatched at publishing time.
- 2013-03-20 14:52 +0000 [r383405] Joshua Colp <jcolp@digium.com>
- * main/sorcery.c, res/res_sorcery_memory.c,
- include/asterisk/sorcery.h, tests/test_sorcery.c: Pass the
- sorcery instance to wizards for CUD operations as well as
- retrieve.
- 2013-03-19 19:07 +0000 [r383377] Kinsey Moore <kmoore@digium.com>
- * main/stasis_message_router.c: Fix lock destruction/unlock
- inversion When using scoped locks, the unref of an AO2 object
- should happen after the unlock occurs which requires usage of
- scoped refs.
- 2013-03-19 16:00 +0000 [r383343] David M. Lee <dlee@digium.com>
- * codecs/Makefile, /: Multiple revisions 383341-383342 ........
- r383341 | dlee | 2013-03-19 10:57:29 -0500 (Tue, 19 Mar 2013) | 5
- lines Removed codecs/g722/*.i on make clean ........ Merged
- revisions 383340 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- r383342 | dlee | 2013-03-19 10:58:33 -0500 (Tue, 19 Mar 2013) | 1
- line Remove codecs/speex/*.i on make clean ........ Merged
- revisions 383341-383342 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-16 16:00 +0000 [r383284-383287] Kinsey Moore <kmoore@digium.com>
- * res/res_jabber.c, channels/chan_mgcp.c: Make sure things
- compile...
- * channels/sip/include/sip.h, main/asterisk.c,
- channels/chan_mgcp.c, apps/app_voicemail.c,
- channels/chan_unistim.c, channels/chan_sip.c,
- include/asterisk/stasis.h, res/res_xmpp.c, channels/sig_pri.c,
- channels/chan_iax2.c, res/res_jabber.c, main/stasis.c,
- channels/sig_pri.h, main/channel.c, include/asterisk/app.h,
- channels/chan_dahdi.c, channels/chan_skinny.c,
- include/asterisk/xmpp.h, apps/app_minivm.c, main/app.c:
- Transition MWI to Stasis-core Remove MWI's dependency on the
- event system by moving it to Stasis-core. This also introduces
- forwarding topic pools in Stasis-core which aggregate many
- dynamically allocated topics into a single primary topic. Review:
- https://reviewboard.asterisk.org/r/2368/ (closes issue
- ASTERISK-21097) Patch-by: Kinsey Moore
- 2013-03-16 15:40 +0000 [r383267-383283] Joshua Colp <jcolp@digium.com>
- * res/res_xmpp.c, CHANGES: Add support for using XMPP buddy state
- via device state. This change allows you to use XMPP buddy state
- in places where device state can be used be used, such as
- dialplan hints. If at least one resource is available the buddy
- is considered available. Now your phone can reflect their IM
- status too!
- * res/res_xmpp.c, /: Fix a bug where resources were not found due
- to hashing on the priority itself. ........ Merged revisions
- 383266 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-15 17:35 +0000 [r383225-383242] David M. Lee <dlee@digium.com>
- * main/stasis_cache.c, main/stasis_message_router.c (added),
- main/stasis_message.c, include/asterisk/stasis_message_router.h
- (added), tests/test_stasis.c, main/stasis.c: A simplistic router
- for stasis_message's. Often times, when subscribing to a topic,
- one wants to handle different message types differently. While
- one could cascade if/else statements through the subscription
- handler, it is much cleaner to specify a different callback for
- each message type. The stasis_message_router is here to help! A
- stasis_message_router is constructed for a particular
- stasis_topic, which is subscribes to. Call
- stasis_message_router_unsubscribe() to cancel that subscription.
- Once constructed, routes can be added using
- stasis_message_router_add() (or
- stasis_message_router_set_default() for any messages not handled
- by other routes). There may be only one route per
- stasis_message_type. The route's callback is invoked just as if
- it were a callback for a subscription; but it only gets called
- for messages of the specified type. (issue ASTERISK-20887)
- Review: https://reviewboard.asterisk.org/r/2390/
- * configs/stasis_core.conf.sample (added): Sample config file for
- stasis-core. (issue ASTERISK-20887)
- 2013-03-15 13:04 +0000 [r383167-383169] Kinsey Moore <kmoore@digium.com>
- * tests/test_stasis.c, main/manager.c, main/channel_internal_api.c:
- Take advantage of the fact that stasis_unsubscribe now returns
- NULL
- * main/stasis.c, main/stasis_cache.c, include/asterisk/stasis.h:
- Make stasis unsubscription functions return NULL Unsubscribing
- things in Asterisk seems to very commonly follow with NULLing out
- the variable that was unsubscribed. This change makes that a bit
- simpler.
- * main/tcptls.c, main/manager.c, /, channels/chan_sip.c,
- main/http.c: tcptls: Prevent unsupported options from being set
- AMI, HTTP, and chan_sip all support TLS in some way, but none of
- them support all the options that Asterisk's TLS core is capable
- of interpreting. This prevents consumers of the TLS/SSL layer
- from setting TLS/SSL options that they do not support. This also
- gets tlsverifyclient closer to a working state by requesting the
- client certificate when tlsverifyclient is set. Currently, there
- is no consumer of main/tcptls.c in Asterisk that supports this
- feature and so it can not be properly tested. Review:
- https://reviewboard.asterisk.org/r/2370/ Reported-by: John
- Bigelow Patch-by: Kinsey Moore (closes issue AST-1093) ........
- Merged revisions 383165 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 383166 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-15 01:38 +0000 [r383122-383126] Matthew Jordan <mjordan@digium.com>
- * /, channels/chan_sip.c: When a session timer expires during a
- T.38 call, re-invite with correct SDP When a session timer
- expires during a dialog that has re-negotiated to T.38 and
- Asterisk is the refresher, Asterisk will send a re-INVITE with an
- SDP containing audio media only. This causes some hilarity with
- the poor fax session under weigh. This patch corrects that by
- sending T.38 parameters if we are in the middle of a T.38
- session. (closes issue ASTERISK-21232) Reported by: Nitesh Bansal
- patches:
- dont-send-audio-reinvite-for-sess-timer-in-t38-call.patch
- uploaded by nbansal (License 6418) ........ Merged revisions
- 383124 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 383125 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * pbx/pbx_spool.c, /: Fix processing of call files when using
- KQueue on OS X In certain situations, call files are not
- processed when using KQueue with pbx_spool. Asterisk was sending
- an invalid timeout value when the spool directory is empty,
- causing the call to kevent to error immediately. This can create
- a tight loop, increasing the CPU load on the system. (closes
- issue ASTERISK-21176) Reported by: Carlton O'Riley patches:
- kqueue_osx.patch uploaded by coriley (License 6473) ........
- Merged revisions 383120 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 383121 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-14 16:57 +0000 [r383063] Jason Parker <jparker@digium.com>
- * /, autoconf/ast_ext_lib.m4: Fix whitespace in AST_EXT_LIB_CHECK
- macro. ........ Merged revisions 383061 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 383062 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-13 14:39 +0000 [r383008] Matthew Jordan <mjordan@digium.com>
- * res/res_rtp_asterisk.c: Always set the RTP instance data in the
- RTP engine Not informing the RTP engine of the instance data
- creates shrapnel.
- 2013-03-12 22:43 +0000 [r382989] Andrew Latham <lathama@gmail.com>
- * res/res_config_ldap.c: Update Doxygen Push some cleanups upstream
- before testing another ticket. (issue ASTERISK-20259)
- 2013-03-12 21:19 +0000 [r382941-382954] Michael L. Young <elgueromexicano@gmail.com>
- * addons/res_config_mysql.c, /: Fix Sorting Order For Parking Lots
- Stored In Static Realtime When retrieving the parking lots from a
- MySQL database table, the current order is "filename, cat_metric
- desc, var_metric asc, category". If there are multiple parking
- lots with the same cat_metric but different categories,
- everything is being sorted on cat_metric first resulting in
- errors when loading the parking lots. This patch fixes the
- problem by sorting on the category field first, then the
- cat_metric field. (closes issue ASTERISK-21035) Reported by: Alex
- Epshteyn Patches: asterisk-21035-orderby.diff Michael L. Young
- (license 5026) ........ Merged revisions 382942 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 382943 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * contrib/realtime/mysql/sippeers.sql, /,
- contrib/realtime/postgresql/realtime.sql: Update Contributed
- Realtime Schema Files - IPv6 Addresses This commit updates some
- fields in the contributed realtime schema files to handle IPv6
- addresses. (closes issue ASTERISK-21173) Reported by: Torrey
- Searle Patches: realtime_sql.patch Torrey Searle (license 5334)
- asterisk-21173-update-ip-fields.diff Michael L. Young (license
- 5026) ........ Merged revisions 382939 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 382940 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-12 20:07 +0000 [r382924] Joshua Colp <jcolp@digium.com>
- * res/res_xmpp.c, /: Fix a crash when res_xmpp is configured using
- a username without a domain. (closes issue ASTERISK-21156)
- Reported by: amsoft2001 ........ Merged revisions 382923 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-12 19:08 +0000 [r382900] Jason Parker <jparker@digium.com>
- * build_tools/menuselect-deps.in, configure,
- include/asterisk/autoconfig.h.in, configure.ac, res/Makefile,
- CHANGES, makeopts.in, res/pjproject (removed),
- res/res_rtp_asterisk.c: Switch to using external pjproject
- libraries. ICE/STUN/TURN support in res_rtp_asterisk is also now
- optional.
- 2013-03-12 16:30 +0000 [r382852] Matthew Jordan <mjordan@digium.com>
- * /, channels/chan_sip.c: Include the Username field in SIP
- Registry events when Status is registered In ASTERISK-17888, the
- AMI Registry event during SIP registrations was supposed to
- include the Username field. Somehow, one of the events was
- missed. This patch corrects that - the Username field should be
- included in all AMI Registry events involving SIP registrations.
- (issue ASTERISK-17888) (closes issue ASTERISK-21201) Reported by:
- Dmitriy Serov patches: chan_sip.c.diff uploaded by Dmitriy Serov
- (license 6479) ........ Merged revisions 382847 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 382848 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-12 08:55 +0000 [r382828] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
- * channels/chan_unistim.c, /: Fix core dump on CLI usage Fix issue
- with 'unistim show info' CLI command when device connected not
- configured ........ Merged revisions 382827 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-11 15:22 +0000 [r382787] Kevin Harwell <kharwell@digium.com>
- * CHANGES, channels/sip/include/sip.h, channels/chan_sip.c: Added
- an option to disallow music on hold Added an option
- "discard_remote_hold_retrieval" (default "no") that if set does
- not trigger the music on hold event. This essentially stops
- telling the peer to start music on hold. (issue ABE-2899)
- Reported by: Denis Alberto Martinez Review:
- https://reviewboard.asterisk.org/r/2336/
- 2013-03-09 00:21 +0000 [r382764] Richard Mudgett <rmudgett@digium.com>
- * apps/confbridge/include/conf_state.h,
- apps/confbridge/conf_state_multi.c, apps/app_confbridge.c,
- apps/confbridge/conf_state_multi_marked.c,
- apps/confbridge/conf_state_empty.c, apps/confbridge/conf_state.c,
- apps/confbridge/conf_config_parser.c,
- apps/confbridge/conf_state_single.c,
- apps/confbridge/conf_state_inactive.c,
- apps/confbridge/conf_state_single_marked.c,
- apps/confbridge/include/confbridge.h: confbridge: Rename items
- for clarity and consistency. struct conference_bridge_user ->
- struct confbridge_user struct conference_bridge -> struct
- confbridge_conference struct conference_state -> struct
- confbridge_state struct conference_bridge_user
- *conference_bridge_user -> struct confbridge_user *user struct
- conference_bridge_user *cbu -> struct confbridge_user *user
- struct conference_bridge *conference_bridge -> struct
- confbridge_conference *conference The names are now generally
- shorter, consistently used, and don't conflict with the struct
- names. This patch handles the renaming part of the issue. (issue
- ASTERISK-20776) Reported by: rmudgett
- 2013-03-08 20:26 +0000 [r382746] Jonathan Rose <jrose@digium.com>
- * /, channels/chan_sip.c: chan_sip: Update the via header when
- relaying SMS MESSAGE Prior to this change, certain conditions for
- sending the message would result in an address of '(null)' being
- used in the via header of the SIP message because a NULl value of
- pvt->ourip was used when initially generating the via header.
- This is fixed by adding a call to build_via when the address is
- set before sending the message. (closes issue ASTERISK-21148)
- Reported by: Zhi Cheng Patches: 700-sip_msg_send_via_fix.patch
- uploaded by Zhi Cheng (license 6475) ........ Merged revisions
- 382739 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-08 16:59 +0000 [r382721-382724] David M. Lee <dlee@digium.com>
- * main/stasis_cache.c, include/asterisk/stasis.h: Stasis
- documentation updates. (issue ASTERISK-20887) (issue
- ASTERISK-20959)
- * main/stasis.c, main/channel.c, main/channel_internal_api.c:
- Ensure dummy channels get a stasis topic. Fixes test failure
- introduced in r382685. (issue ASTERISK-20887) (issue
- ASTERISK-20959)
- 2013-03-08 16:00 +0000 [r382705] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/stasis.h, tests/test_stasis.c,
- main/stasis_cache.c: Add message dump capability to stasis cache
- layer The cache dump mechanism allows the developer to retreive
- multiple items of a given type (or of all types) from the cache
- residing in a stasis caching topic in addition to the existing
- single-item cache retreival mechanism. This also adds to the
- caching unit tests to ensure that the new cache dump mechanism is
- functioning properly. Review:
- https://reviewboard.asterisk.org/r/2367/ (issue ASTERISK-21097)
- 2013-03-08 15:15 +0000 [r382685] David M. Lee <dlee@digium.com>
- * include/asterisk/channel.h, tests/test_stasis.c (added),
- main/asterisk.c, main/stasis.c (added), main/channel.c,
- main/stasis_cache.c (added), main/pbx.c, main/stasis_message.c
- (added), main/manager.c, main/asterisk.exports.in,
- include/asterisk/channel_internal.h, main/channel_internal_api.c,
- include/asterisk/stasis.h (added): This patch adds a new message
- bus API to Asterisk. For the initial use of this bus, I took some
- work kmoore did creating channel snapshots. So rather than create
- AMI events directly in the channel code, this patch generates
- Stasis events, which manager.c uses to then publish the AMI
- event. This message bus provides a generic publish/subscribe
- mechanism within Asterisk. This message bus is: - Loosely
- coupled; new message types can be added in seperate modules. -
- Easy to use; publishing and subscribing are straightforward
- operations. In addition to basic publish/subscribe, the patch
- also provides mechanisms for message forwarding, and for message
- caching. (issue ASTERISK-20887) (closes issue ASTERISK-20959)
- Review: https://reviewboard.asterisk.org/r/2339/
- 2013-03-08 04:11 +0000 [r382670-382671] Matthew Jordan <mjordan@digium.com>
- * channels/chan_sip.c: Remove unused function After r382670,
- get_ip_and_port_from_sdp was no longer used.
- * channels/chan_sip.c: Don't reset the RTP address on a glare
- re-INVITE Originally, way back in r201583, we added the alternate
- RTP address so that the RTP engine would expect to receive audio
- from a new source when a glare re-INVITE occurred. In r382589, we
- remove the alternate RTP source, as the 'secret' probation mode
- allows for switching to a new RTP source when a previous source
- stops sending RTP. At the time, it seemed appropriate to set the
- RTP source based on the information in the glared re-INVITE.
- Unfortunately, that doesn't work so well - in a glared re-INVITE
- that occurs with no SDP - such as in a connected line update that
- glances - we'll set the RTP source to an invalid address. In
- subsequent re-INVITE requests from this Asterisk instance, we'll
- then send an invalid media address, which will result in the
- remote side sending a 488. Whoops. There isn't any need to reset
- the RTP source - if we're using strictrtp, we'll simply
- synchronize to a new source when we stop getting packets from the
- old one. If we aren't using strictrtp, then again there shouldn't
- be a problem. Note that the Asterisk Test Suite's connectedline
- test caught this error.
- 2013-03-07 21:55 +0000 [r382648] David M. Lee <dlee@digium.com>
- * main/threadpool.c: Changing log level of "Not changing threadpool
- size" from notice to debug.
- 2013-03-07 21:14 +0000 [r382636] Jason Parker <jparker@digium.com>
- * res/res_sorcery_config.c, res/res_sorcery_memory.c: Load sorcery
- modules earlier, so they can actually be used.
- 2013-03-07 19:14 +0000 [r382621] Matthew Jordan <mjordan@digium.com>
- * apps/app_voicemail.c, /: Let vm_mailbox_snapshot combine "Urgent"
- when no folder is specified r381835 fixed a bug in
- vm_mailbox_snapshot where combining INBOX and Old forgot that
- Urgent also "counts" as new messages. This fixed the problem when
- any of the three folders was specified and the combine option was
- used. It missed the case where the folder isn't specified and we
- build a snapshot of all folders. This patch corrects that.
- ........ Merged revisions 382617 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-07 16:48 +0000 [r382600-382604] Kinsey Moore <kmoore@digium.com>
- * main/xmldoc.c: Fix a memory leak in xmldoc Another instance of
- attribute retrieval not being freed properly.
- * main/xmldoc.c: Resolve more memory leaks in xmldoc Many places
- that allocated to pull out an attribute are now freed properly.
- 2013-03-07 15:48 +0000 [r382589] Matthew Jordan <mjordan@digium.com>
- * include/asterisk/rtp_engine.h, res/res_rtp_asterisk.c,
- main/rtp_engine.c, /, channels/chan_sip.c: Add a 'secret'
- probation strictrtp mode to handle delayed changes in RTP source
- Often, Asterisk may realize that a change in the source of an RTP
- stream is about to occur and ask that the RTP engine reset it's
- lock on the current RTP source. In certain scenarios, it may take
- awhile for the new remote system to send RTP packets, while the
- old remote system may continue providing RTP during that time
- period. This causes Asterisk to re-lock onto the old source,
- thereby rejecting the new source when the old source stops
- sending RTP and the new source begins. This patch prevents that
- by having a constant secondary, 'secret' probation mode enabled
- when an RTP source has been chosen. RTP packets from other
- sources are always considered, but never chosen unless the
- current RTP source stops sending RTP. Review:
- https://reviewboard.asterisk.org/r/2364 (closes issue AST-1124)
- Reported by: John Bigelow Tested by: John Bigelow (closes issue
- AST-1125) Reported by: John Bigelow Tested by: John Bigelow
- ........ Merged revisions 382573 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-07 15:36 +0000 [r382489-382587] Kinsey Moore <kmoore@digium.com>
- * main/xmldoc.c: Fix minor memory leak in xmldoc Strings retrieved
- via ast_xml_get_text() must be freed with ast_xml_free_text().
- * /, main/logger.c: Ensure that logmsgs are freed properly Messages
- sent while the logger thread is shutting down will now have their
- associated callid freed properly. ........ Merged revisions
- 382574 from http://svn.asterisk.org/svn/asterisk/branches/11
- * main/threadpool.c: Fix ref leak in threadpool.c If
- ast_threadpool_set_size with a size equal to the current size, a
- reference to a set_size_data structure would be leaked.
- * main/threadpool.c: Resolve a ref leak in threadpool.c Ownership
- of the listener reference is not transferred because the listener
- is reffed when placed into the taskprocessor. Ensure that the
- listener is dereffed properly.
- 2013-03-05 13:14 +0000 [r382440] Matthew Jordan <mjordan@digium.com>
- * configs/res_ldap.conf.sample,
- contrib/realtime/postgresql/realtime.sql,
- configs/sip.conf.sample, CHANGES,
- contrib/scripts/asterisk.ldap-schema,
- contrib/scripts/asterisk.ldif, channels/sip/include/sip.h,
- CREDITS, contrib/realtime/mysql/sippeers.sql,
- channels/chan_sip.c: Add RFC 3327 Path header support to chan_sip
- This patch adds support for RFC 3327 "Path" headers. This can be
- enabled in sip.conf using the 'supportpath' setting, either on a
- global basis or on a peer basis. This setting enables Asterisk to
- route outgoing out-of-dialog requests via a set of proxies by
- using a pre-loaded route-set defined by the Path headers in the
- REGISTER request. This patch also adds Realtime support for
- dynamically updating the Path information for a peer. A huge
- thank-you to Klaus Darillion and Olle E Johansson for their
- efforts in writing this patch. Review:
- https://reviewboard.asterisk.org/r/2235/ Review:
- https://reviewboard.asterisk.org/r/991/ (closes issue
- ASTERISK-16884) Reported by: klaus3000 Tested by: klaus3000, oej,
- mjordan patches: path-1.8.0-patch.txt uploaded by klaus3000
- (License 5054) oolong-path-support-trunk in team branch by oej
- (License 5267)
- 2013-03-05 03:53 +0000 [r382411] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
- * /, channels/chan_unistim.c: Fix several unreleased mutex locks
- that cause problem with processing calls Reported by: Daniel
- Bohling Tested by: Daniel Bohling (Closes issue ASTERISK-21119)
- ........ Merged revisions 382409 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 382410 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-04 21:15 +0000 [r382392] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/format_cap.h, main/bridging.c: Fixup some bridge
- and format capabilities comments and whitespace.
- 2013-03-04 21:14 +0000 [r382391] Jason Parker <jparker@digium.com>
- * /, main/event.c: Fix comparison of presence state in event
- subsystem. Several new IEs were not given types (or names),
- causing the comparison function to improperly succeed. This adds
- those. (closes issue AST-1128) ........ Merged revisions 382390
- from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-04 20:18 +0000 [r382386] Kevin Harwell <kharwell@digium.com>
- * /, apps/app_confbridge.c: Confbridge CLI new record file name
- check. This fix checks to make sure that if a confbridge record
- start command is issued from the CLI it will always use the file
- name given on the CLI even if it changes between start/stop
- records for a conference. Previously it had been reusing the same
- file between start/stops even if a new filename was given. (issue
- AST-1088) Reported by: John Bigelow ........ Merged revisions
- 382385 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-03-01 18:01 +0000 [r382340] Joshua Colp <jcolp@digium.com>
- * include/asterisk/sorcery.h, tests/test_sorcery.c, main/sorcery.c:
- Add support for registering a sorcery handler which supports
- multiple fields using a regex. Review:
- https://reviewboard.asterisk.org/r/2332/
- 2013-03-01 04:32 +0000 [r382323] Michael L. Young <elgueromexicano@gmail.com>
- * contrib/realtime/postgresql/realtime.sql, CHANGES,
- contrib/realtime/mysql/sippeers.sql, /, channels/chan_sip.c: Fix
- / Clean Up Some Items To Handle The New auto_* NAT Options The
- original report had to do with a realtime peer behind NAT being
- pruned and the peer's private address being used instead of its
- external address. Upon debugging, it was discovered that this was
- being caused by the addition of the auto_force_rport and
- auto_comedia settings. This patch does the following: * Adds a
- missing note to the CHANGES file indicating that the default
- global nat setting is auto_force_rport * Constify the 'req'
- parameter for check_via() * Add calls to check_via() in a couple
- of places in order for the auto_* settings to do their job in
- attempting to determine if NAT is involved * Set the flags
- SIP_NAT_FORCE_RPORT and SIP_PAGE2_SYMMETRICRTP if the auto_*
- settings are in use where it was needed * Moves the copying of
- peer flags up in build_peer() to before they are used; this fixes
- the realtime prune issue * Update the contrib/realtime schemas to
- allow the nat column to handle the different nat setting
- combinations we have This patch received a review and "Ship It!"
- on the issue itself. (closes issue ASTERISK-20904) Reported by:
- JoshE Tested by: JoshE, Michael L. Young Patches:
- asterisk-20904-nat-auto-and-rt-peersv2.diff Michael L. Young
- (license 5026) ........ Merged revisions 382322 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-28 21:59 +0000 [r382297-382299] Joshua Colp <jcolp@digium.com>
- * /, res/res_rtp_asterisk.c: While the ICE negotiation is occurring
- leave strictrtp in an open state, media can and will come from
- different places. ........ Merged revisions 382298 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_rtp_asterisk.c, /: Fix a bug with ICE and strictrtp where
- media could get dropped. If the end result of the ICE negotiation
- resulted in the path for media changing it was possible for the
- strictrtp code to discard the RTP packets. This change causes
- strictrtp to enter learning mode once again when the ICE
- negotiation has completed successfully. ........ Merged revisions
- 382296 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-28 21:31 +0000 [r382294-382295] Richard Mudgett <rmudgett@digium.com>
- * main/threadpool.c: threadpool: Make ast_threadpool_push() return
- -1 if shutting_down
- * include/asterisk/threadpool.h, main/threadpool.c: threadpool:
- Whitespace and comment corrections.
- 2013-02-28 21:21 +0000 [r382292] Jason Parker <jparker@digium.com>
- * res/res_rtp_asterisk.c, include/asterisk.h: Don't undefine
- bzero()/bcopy(). This was causing build failures against external
- libraries that happened to use them, unless silly hacks were
- added to the modules that used those headers. Review:
- https://reviewboard.asterisk.org/r/2359/
- 2013-02-28 17:17 +0000 [r382232-382236] Matthew Jordan <mjordan@digium.com>
- * /, channels/chan_iax2.c: Prevent deadlock in chan_iax2 when
- attempting to set caller ID A deadlock can occur in chan_iax2
- when it attempts to set the caller ID, as it already holds the
- iax2 private lock and improperly fails to obtain the channel lock
- before calling ast_set_callerid. By not safely obtaining the
- channel lock, a locking inversion can take place, causing a
- deadlock. This patch solves this by calling the required deadlock
- avoidance functions that obtain the channel lock before setting
- the caller ID. Thanks to Pavel for fixing my syntax errors and
- testing this patch out. (closes issue ASTERISK-21128) Reported
- by: Pavel Troller Tested by: Pavel Troller patches:
- ASTERISK-21128-1.8.diff uploaded by mjordan (license 6283)
- ASTERISK-21128-modified-1.8.diff uploaded by Pavel Troller
- (license 6302) ........ Merged revisions 382233 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 382234 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_meetme.c, CHANGES: Let channels joining a MeetMe
- conference opt out of the denoiser For some channel drivers,
- specifically those that have a varying rate in the number of
- audio samples, the audio quality for a MeetMe conference can be
- exceedingly poor. This is due to a unilateral application of the
- DENOISE function in func_speex to channels joining the
- conference. The denoiser function in the speex library is
- initialized with the number of audio samples in each sample that
- will be provided to it. If the number of audio samples changes,
- the denoiser has to be thrown away and re-initialized. While this
- could be worked around by removing func_speex, that doesn't help
- if you actually use the denoiser with other channels on the
- system. This patches does the following: * Checks for the
- presence of func_speex as opposed to codec_speex when determining
- if the DENOISE function is present (which is where the function
- is actually implemented) * Adds an option to MeetMe 'n' that
- causes the denoiser to not be applied to a channel when it joins.
- This keeps the current behavior the default, but let's users
- disable the denoiser if it causes problems on their system.
- Review: https://reviewboard.asterisk.org/r/2358 (closes issue
- AST-1062) Reported by: Thomas Arimont ........ Merged revisions
- 382227 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 382230 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-27 20:31 +0000 [r382203-382204] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_skinny.c: More places to eliminate the cast to argv
- but were not giving warnings.
- * channels/chan_skinny.c: Fix compiler warning by eliminating the
- need for a cast.
- 2013-02-27 16:19 +0000 [r382182] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_sip.c: Relax dialog checking in
- get_sip_pvt_byid_locked so it works when the dialog is forked.
- (closes issue ASTERISK-20638) Reported by: eelcob Patches:
- pedantic-call-pickup-from-tag.patch uploaded by eelcob (license
- 6442) ........ Merged revisions 382171 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 382174 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-26 20:05 +0000 [r382113] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
- * /, configure, configure.ac: Consider linux-gnuspe as linux-gnu *
- The powerpcspe Linux port uses linux-gnuspe as the OS string. *
- Our build system shouldn't really care for that, so just call it
- linux-gnu. * Original report: Roland Stigge ,
- http://bugs.debian.org/701505 Review:
- https://reviewboard.asterisk.org/r/2357/ ........ Merged
- revisions 382110 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 382111 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-26 19:36 +0000 [r382109] Walter Doekes <walter+asterisk@wjd.nu>
- * /, channels/chan_sip.c: Correct RPID parsing for unquoted
- display-name. Parsing Remote-Party-ID will now succeed if
- display-name is of the *(token LWS) kind and not just the
- quoted-string kind. Review:
- https://reviewboard.asterisk.org/r/2341/ ........ Merged
- revisions 382107 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 382108 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-26 19:29 +0000 [r382106] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
- * /, main/Makefile: Remove unneeded linux-gnueabi* As of r380522
- the configure scripts converts the value of linux-gnueabi* of
- OSARCH to "linux-gnu". So no point in testing for those values.
- ........ Merged revisions 382087 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 382096 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-26 15:52 +0000 [r382067-382070] Matthew Jordan <mjordan@digium.com>
- * apps/app_confbridge.c, /: Clean up ConfBridge commands to account
- for wait_marked users When ConfBridge was refactored to better
- handle the concept of marked, wait_marked, and normal users
- co-existing in a conference (thereby implementing a state machine
- for the conference), the wait_marked users were put into their
- own list of conference participants, separate from the active
- users. This list is used for wait_marked users when they are
- waiting in a conference but no marked user has joined; normal
- users may have joined at this point however. There are several
- AMI/CLI commands that affect conference users that were not
- checking the wait_marked users list: * CLI/AMI commands that
- mute/unmute a participant. In this case, wait_marked users have
- to remain in their particular state and should not be affected -
- however, the commands would return "Channel not found" as opposed
- to the appropriate error condition. * CLI/AMI commands that kick
- a participant. An admin should always be able to kick a
- participant out of the conference. This patch fixes both sets of
- commands, and cleans up the CLI commands slightly by allowing
- them to complete a participant name (this was supposed to have
- been added, but the function call was commented out and wasn't
- implemented). Review: https://reviewboard.asterisk.org/r/2346/
- (closes issue AST-1114) Reported by: John Bigelow Tested by: John
- Bigelow ........ Merged revisions 382068 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * configs/confbridge.conf.sample, /,
- apps/confbridge/conf_config_parser.c: Ensure that the default
- bridge/user profiles are always available ConfBridge and Page
- require that there always be a default bridge and user profile
- available. While properties of the default profiles can be
- overriden in the configuration file, removing them can create
- situations where neither application can function properly. This
- patch ensures that if an administrator removes the profiles from
- the confbridge.conf configuration file, the profiles are added
- upon load. Documentation clarifying this has been added to the
- confbridge.conf.sample file. Review:
- https://reviewboard.asterisk.org/r/2356/ (closes issue AST-1115)
- Reported by: John Bigelow Tested by: John Bigelow ........ Merged
- revisions 382066 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-25 12:51 +0000 [r382023] Matthew Jordan <mjordan@digium.com>
- * addons/res_config_mysql.c, /: Clean up use of va_end/va_args in
- res_config_mysql There were several problems using variadic
- argument macros in res_config_mysql. * Improper use of va_end.
- Multiple calls to va_end were possible resulting in an unbalanced
- matching of va_start/va_end. * Calls to va_arg after a possible
- encounter of a SENTINEL value. This patch corrects those errors.
- (closes issue ASTERISK-19451) Reported by: wdoekes patches:
- ASTERISK-19451-1.8--2.diff uploaded by wdoekes (License 5674)
- ........ Merged revisions 382021 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 382022 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-25 07:09 +0000 [r382007-382008] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: More called details fixup for skinny.
- Basically sets the callerid and callername to the first device
- talked to for the purposes of putting the the calls made log on
- the device. Does not affect the device displaying who the device
- is currently talking to. Also some minor changes to use
- sub->exten in lieu of l->lastnumberdialed. (closes issue
- ASTERISK-21095) Reported by: wedhorn Tested by: snuffy, myself
- Patches: skinny-calllogsoutbound03.diff uploaded by wedhorn
- (license 5019)
- * channels/chan_skinny.c: Add prinotify messages to skinny. Adds
- both fixed and variable prinotify messages and clearprinotify
- messages to skinny. Also adds cli function for pushing messages
- to devices. i Initial code by snuffy, expanded by myself to
- include fixed messages. (closes issue ASTERISK-21091) Reported
- by: snuffy Tested by: snuffy, myself Patches:
- skinny-prinotify02.diff uploaded by wedhorn (license 5019)
- 2013-02-24 23:01 +0000 [r381918-381977] Matthew Jordan <mjordan@digium.com>
- * channels/chan_jingle.c, /: Set the sin_family on the bind address
- socket during initialization Somehow, chan_jingle has managed to
- operate for years without setting the sin_family on its bindaddr
- socket. This patch properly sets the field during initial module
- load to AF_INET. Note that the patch on the issue was modified
- slightly to change the initialization of the socket from
- allocation of a chan_jingle private to the module initialization,
- as the bindaddr object (which is static) only needs to have the
- address set once. (closes issue ASTERISK-19341) Reported by:
- andre valentin patches: 0105-chan_jingle.patch uploaded by
- avalentin (License 6064) ........ Merged revisions 381975 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 381976 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/manager.c, /: Don't display the AMI ALL class authorization
- for users if they don't have it When converting AMI class
- authorizations to a string representation, the method always
- appends the ALL class authorization. This is especially important
- for events, as they should always communicate that class
- authorization - even if the event itself does not specify ALL as
- a class authorization for itself. (Events have always assumed
- that the ALL class authorization is implied when they are raised)
- Unfortunately, this did mean that specifying a user with
- restricted class authorizations would show up in the 'manager
- show user' CLI command as having the ALL class authorization.
- Rather then modifying the existing string manipulation function,
- this patch adds a function that will only return a string if the
- field being compared explicitly matches class authorization field
- it is being compared against. This prevents ALL from being
- returned unless it is actually specified for the user. (closes
- issue ASTERISK-20397) Reported by: Johan Wilfer ........ Merged
- revisions 381939 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 381943 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_parkandannounce.c: Make ParkAndAnnounce return to
- priority + 1 when return context is not defined The
- ParkAndAnnounce application documentation for the optional
- return_context parameter states the following: return_context The
- goto-style label to jump the call back into after timeout.
- Default 'priority+1'. Unfortunately, the application was sending
- the channel back into the dialplan at 'priority', which is the
- ParkAndAnnounce application call. This causes an infinite loop of
- the channel constantly being parked, announced, timed out,
- parked, announced, timed out... while fun, especially for those
- callers you wish to drive to the end of madness, this was not the
- intent of the application. (closes issue ASTERISK-20113) Reported
- by: serginuez patches: app_parkandannounce.diff uploaded by
- serginuez (License 6405) ........ Merged revisions 381916 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 381917 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-22 19:40 +0000 [r381894] Michael L. Young <elgueromexicano@gmail.com>
- * /, res/res_agi.c: Fix FastAGI To Properly Check For A Connection
- When IPv6 support was added to FastAGI, the intent was to have
- the ability to check all addresses resolved for a host since we
- might receive an IPv4 address and an IPv6 address. The problem
- with the current code, is that, since we are doing O_NONBLOCK, we
- get EINPROGRESS when calling ast_connect() but are ignoring this
- instead of handling it. We break out of the loop and continue on.
- When we later call ast_poll(), it succeeds but we never check if
- we have a connection or not on the socket level. We then attempt
- to send data to the host address that we think is setup and it
- fails. We then check the errno and see that we have "connection
- refused" and then return with agi failed. This patch does the
- following: * Handles EINPROGRESS by creating the function
- handle_connection() - ast_poll() was moved into this function -
- This function checks the results of the connection on the socket
- level after calling ast_poll() * Continues to the next address if
- the above fails to create a connection * Once all addresses
- resolved are tried and we still are unable to establish a
- connection, then we return that the FastAGI call failed (closes
- issue ASTERISK-21065) Reported by: Jeremy Kister Tested by:
- Jeremy Kister, Michael L. Young Patches:
- asterisk-21065_poll_correctly_v4.diff Michael L. Young (license
- 5026) Review: https://reviewboard.asterisk.org/r/2330/ ........
- Merged revisions 381893 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-22 15:51 +0000 [r381881] Jonathan Rose <jrose@digium.com>
- * /, apps/app_dial.c: app_dial: Honor the 'c' flag when the calling
- party hangs up Apparently this feature became broken in 11,
- probably as a result of the Hangup Cause project. (closes issue
- ASTERISK-21113) Reprted by: Heiko Wundram Patches: app_dial.patch
- uploaded by Heiko Wundram (license 5822) ........ Merged
- revisions 381880 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-22 01:52 +0000 [r381869] Matthew Jordan <mjordan@digium.com>
- * configure, configure.ac, /: Properly detect launchd Asterisk was
- a little too pro-active in claiming that it found launchd. On
- systems without launchd - such as FreeBSD - this resulted in
- certain items in Asterisk that conflict with launchd to not be
- selectable, such as res_timing_kqueue. (closes issue
- ASTERISK-20749) Reported by: Oleg Baranov ........ Merged
- revisions 381847 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 381848 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-19 19:47 +0000 [r381792] Kevin Harwell <kharwell@digium.com>
- * main/features.c: Write the correct callid to the data1 field in
- queue_log for transfer events. The incorrect callid was being
- written to the "data1" field in queue_log table for transfer
- events. The callid of the queue was being written instead of the
- transfer target's callid. This now gets the correct "transfer to"
- number and places that in the "data1" field of the queue_log
- table when a transfer event is triggered. (closes issue
- ASTERISK-19960) Reported by: vladimir shmagin ........ Merged
- revisions 381770 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 381791 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-19 17:17 +0000 [r381749] Michael L. Young <elgueromexicano@gmail.com>
- * channels/chan_motif.c, include/asterisk/module.h,
- res/snmp/agent.c, main/loader.c, main/cli.c: Add The Status Of A
- Module To The Output Of "CLI> module show" When a module's
- configuration is not loadable, we still load the module but it is
- not in a running state. When trying to troubleshoot, let's say,
- why chan_motif is ignoring inbound XMPP traffic, there is no way
- to indicate that a loaded module is not currently running.
- (closes issue ASTERISK-21108) Reported by: Rusty Newton Tested
- by: Michael L. Young Patches: asterisk-21108_add_status-v2.diff
- Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2331/
- 2013-02-19 16:23 +0000 [r381729-381741] Kevin Harwell <kharwell@digium.com>
- * apps/app_confbridge.c: Confbridge channels staying active when
- all participants leave. If you started/stopped recording of a
- conference multiple times channels would remain active even when
- all participants left the conference. This was due to the fact
- that a reference to the confbridge was being added every time a
- start record command was issued, but when the recording was
- stopped there was no matching de-reference thus keeping the
- conference alive. Made sure only a single reference is added for
- the record thread no matter how many times recording is
- started/stopped. A de-reference is issued upon thread ending.
- Note, this issue is being fixed under AST-1088 since it relates
- to it and should have been corrected along with those
- modifications. (issue AST-1088) Reported by: John Bigelow
- ........ Merged revisions 381737 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * CHANGES, apps/confbridge/conf_config_parser.c,
- apps/confbridge/include/confbridge.h, apps/app_confbridge.c:
- Added Confbridge record_file_append option. Currently, if one
- starts, stops, and then starts a recording again for a conference
- the recorded data is appended to the file originally created on
- the first record start. An option record_file_append has been
- added that defaults to "yes", but when set to "no" will force
- creation of a new file between every record start/stop. (issue
- AST-1088) Reported by: John Bigelow Review:
- http://reviewboard.digium.internal/r/374/
- 2013-02-19 06:54 +0000 [r381717-381718] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c, configs/skinny.conf.sample: Add
- serviceURL stuff to skinny. Patch adds all the packet and
- structure stuff to skinny to enable setting service URLs in
- skinny, such as corporate directories. This stuff is only
- relevant during load/unload as when activated. Also some minor
- changes removing duplicated counting of addons and speedials in
- handle_skinny_show_devices. Review:
- https://reviewboard.asterisk.org/r/2321/
- * channels/chan_skinny.c: Fixup skinny CLI completion. Auto
- complete for skinny debug allows multiple options and negation,
- also add debug all option. Usage example: 'skinny debug all
- -packets' (each can be autocompleted including -packet). Change
- show device to use device name. Remove the duplicate ast_strdup's
- from place calling device complete return immediately from
- complete devicename and complete linename so that multiple
- options are displayed on the CLI if more than one option
- available. Review: https://reviewboard.asterisk.org/r/2333/
- 2013-02-18 22:23 +0000 [r381703] Kevin Harwell <kharwell@digium.com>
- * apps/app_confbridge.c, /: Fixed Confbridge file recording
- deadlock and appending. A deadlock occurred after
- starting/stopping and then restarting a confbridge recording.
- Upon starting a recording a record thread is created that holds a
- lock until just before exiting. Stopping the recording does not
- stop/exit the thread or release the lock. The thread waits until
- recording begins again. Starting a stopped recording signals the
- thread to continue and start recording again. However restarting
- the recording also created another record thread resulting in a
- deadlock. The fix was to make sure the record thread was only
- created once. Also it was noted that filenames for the recordings
- were being concatenated for each start/stop. This was fixed by
- creating a new file for each conference session and appending the
- actual recorded data within the file (e.g. passing the 'a' option
- to MixMonitor). (issue AST-1088) Reported by: John Bigelow
- Review: http://reviewboard.digium.internal/r/374/ ........ Merged
- revisions 381702 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-18 20:31 +0000 [r381670] Walter Doekes <walter+asterisk@wjd.nu>
- * configs/sip.conf.sample, /: Remove "registertrying" and add
- "rtp_engine" from/to sip.conf.sample The "registertrying" option
- was removed in r343220. The "rtp_engine" option was added in
- r186078 but erroneously named "engine" in the sample. Note that
- there is no global sip setting for a different engine. ........
- Merged revisions 381668 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 381669 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-18 19:48 +0000 [r381656] Jonathan Rose <jrose@digium.com>
- * funcs/func_presencestate.c, /: PRESENCE_STATE: Provide better
- documentation for the 'e' option. Notes that the 'e' option
- actually decodes data when used as a write function such as with
- the SET application while it encodes data when used to read.
- Review: https://reviewboard.asterisk.org/r/2335/ ........ Merged
- revisions 381655 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-18 19:12 +0000 [r381644] Richard Mudgett <rmudgett@digium.com>
- * apps/app_confbridge.c: confbridge: Add flags column to CLI
- "confbridge list <conference>" * Added the following flags to the
- CLI "confbridge list <conference>" output: A - The user is an
- admin M - The user is a marked user W - The user must wait for a
- marked user to join E - The user will be kicked after the last
- marked user leaves the conference w - The user is waiting for a
- marked user to join * Added the following header to the AMI
- ConfbridgeList events: WaitMarked, EndMarked, and Waiting.
- (closes issue AST-1101) Reported by: John Bigelow Patches:
- confbridge-show-admin3.txt (license #5091) patch uploaded by John
- Bigelow Modified
- 2013-02-16 20:44 +0000 [r381628] Richard Mudgett <rmudgett@digium.com>
- * apps/app_confbridge.c: confbridge: Rename i iterator variables to
- iter.
- 2013-02-16 16:28 +0000 [r381615] Matthew Jordan <mjordan@digium.com>
- * /, channels/chan_sip.c: Don't send presencestate information if
- the state is invalid Previously, presencestate information was
- sent whenever the state was not NOT_SET. When r381594 actually
- returned INVALID presence state in all the places it was supposed
- to, it caused chan_sip to start adding presence state information
- to NOTIFY requests that it previously would not have added.
- chan_sip shouldn't be adding presence state information when the
- provider is in an invalid state; users can't set the state to
- invalid and an invalid state always implies that the provider is
- in an error condition. (issue AST-1084) ........ Merged revisions
- 381613 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-16 16:24 +0000 [r381614] Joshua Colp <jcolp@digium.com>
- * res/res_sorcery_memory.c, include/asterisk/sorcery.h,
- tests/test_sorcery.c, main/sorcery.c, res/res_sorcery_config.c:
- Add support for retrieving multiple objects from sorcery using a
- regex on their id. Review:
- https://reviewboard.asterisk.org/r/2329/
- 2013-02-15 23:29 +0000 [r381595] Matthew Jordan <mjordan@digium.com>
- * /, main/presencestate.c, funcs/func_presencestate.c,
- main/manager.c: Fix crash in PresenceState AMI action when
- specifying an invalid provider This patch fixes a crash in
- Asterisk that could be caused by using the PresenceState AMI
- action while providing an invalid provider. This patch also adds
- some additional warnings when a user attempts to provide the
- PresenceState action with invalid data, and removes some NOTICE
- statements that were still lurking in the code from testing.
- (closes issue AST-1084) Reported by: John Bigelow Tested by: John
- Bigelow ........ Merged revisions 381594 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-15 18:51 +0000 [r381568] Mark Michelson <mmichelson@digium.com>
- * /, channels/chan_sip.c: Fix a crash that occurred when a BYE was
- received on a replaced dialog. Reference counting for the channel
- and its tech_pvt got messed up at some point between 1.8 and 11.
- The result was that if a BYE for a dialog that had been replaced
- (via an INVITE with Replaces) was received, Asterisk would crash
- due to trying to access data on a channel that was no longer
- there. The fix I introduced is to remove code that both unrefs
- the sip_pvt and sets the channel's tech_pvt to NULL when an
- INVITE with Replaces is handled. This way when a BYE is received,
- the tech_pvt will be non-NULL and so the BYE can be processed and
- not cause a crash. (closes issue ASTERISK-20929) reported by
- Kristopher Lalletti patches: ASTERISK-20929.patch uploaded by
- Mark Michelson (License #5049) ........ Merged revisions 381566
- from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-15 18:44 +0000 [r381567] Matthew Jordan <mjordan@digium.com>
- * include/asterisk/sorcery.h, main/config_options.c,
- main/sorcery.c: Disable strict XML documentation config checking;
- fix crash caused by sorcery This patch does two things: 1. It
- disables (temporarily) strict XML documentation checking for
- module configurations. We should re-enable it before making any
- release from trunk. 2. Pass the module flag AST_MODULE through
- sorcery. This means several of the API calls are now macros and
- will do this automatically for you. The config framework needs
- the module that objects are registering to so it can properly
- construct the documentation. (This was already a required field,
- but sorcery was getting by without it)
- 2013-02-15 17:38 +0000 [r381557] Kevin Harwell <kharwell@digium.com>
- * main/logger.c, include/asterisk/logger.h, main/autoservice.c:
- Stopped spamming of debug messages during attended transfer.
- While autoservice is running and servicing a channel the callid
- is being stored and removed in the thread's local storage for
- each iteration of the thread loop. If debug was set to a
- sufficient level the log file would be spammed with callid thread
- local storage debug messages. Added a new function that checks to
- see if the callid to be stored is different than what is already
- contained (if anything). If it is different then store/replace
- and log, otherwise just leave as is. Also made it so all logging
- of debug messages pertaining to the callid thread storage outputs
- only when TEST_FRAMEWORK is defined. (issue ASTERISK-21014)
- (closes issue ASTERISK-21014) Report by: Rusty Newton Review:
- https://reviewboard.asterisk.org/r/2324/
- 2013-02-15 17:33 +0000 [r381556] Jonathan Rose <jrose@digium.com>
- * /, channels/chan_sip.c: chan_sip: Use video and text crypto
- attributes to append RTP profiles to SDP Some bad copy/pasting
- resulted in using the audio crypto attribute for both text and
- video RTP. Also the audio crypto isn't set until after these, so
- it was really just bad all around. (closes ASTERISK-20905)
- Reported by: Kristopher Lalletti patches:
- rtp_crypto_video_text.diff uploaded by Jonathan Rose (license
- 6182) ........ Merged revisions 381553 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-15 15:26 +0000 [r381527-381543] Matthew Jordan <mjordan@digium.com>
- * /: Remove automerge propertrties added in r381527
- * main/asterisk.c, main/xmldoc.c, main/udptl.c,
- include/asterisk/xml.h, /, main/xml.c,
- include/asterisk/_private.h, res/res_xmpp.c, main/named_acl.c,
- configs/motif.conf.sample, apps/confbridge/conf_config_parser.c,
- Makefile, include/asterisk/config_options.h,
- configs/xmpp.conf.sample, apps/app_skel.c, channels/chan_motif.c,
- include/asterisk/xmldoc.h, main/config_options.c,
- doc/appdocsxml.dtd: Add CLI configuration documentation This
- patch allows a module to define its configuration in XML in
- source, such that it can be parsed by the XML documentation
- engine. Documentation is generated in a two-pass approach: 1. The
- documentation is first generated from the XML pulled from the
- source 2. The documentation is then enhanced by the registration
- of configuration options that use the configuration framework
- This patch include configuration documentation for the following
- modules: * chan_motif * res_xmpp * app_confbridge * app_skel *
- udptl Two new CLI commands have been added: * config show help -
- show configuration help by module, category, and item * xmldoc
- dump - dump the in-memory representation of the XML documentation
- to a new XML file. Review:
- https://reviewboard.asterisk.org/r/2278 Review:
- https://reviewboard.asterisk.org/r/2058 patches: on review 2058
- uploaded by twilson
- 2013-02-14 19:58 +0000 [r381470-381471] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Remove extraneous stuff from r381470.
- * channels/chan_skinny.c: Add back sending dialnumber to skinny.
- Don't know why it seemed to work during testing, but it really is
- needed for protocol v17 (and probably above).
- 2013-02-14 19:52 +0000 [r381469] Richard Mudgett <rmudgett@digium.com>
- * /, main/features.c: End stuck DTMF if AST_SOFTHANGUP_ASYNCGOTO
- because it isn't a real hangup. It doesn't hurt to check
- AST_SOFTHANGUP_UNBRIDGE either, but it should not be set outside
- of a bridge. (issue ASTERISK-20492) ........ Merged revisions
- 381466 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 381467 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-14 19:25 +0000 [r381465] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Respect callerid presentation in skinny.
- Fix chan_skinny so that it respects callerID presentation of
- inbound calls to device and a couple of other minor fixes: 145
- packet (add OCTAL_FROM amd callerid), and dont send dialednumber
- message if protocol >= 17. (closes issue ASTERISK-21066) Reported
- by: snuffy Tested by: snuffy, myself Patches:
- skinny-respect-clid-restrictions-v2.diff uploaded by snuffy
- (license 5024)
- 2013-02-14 18:47 +0000 [r381448] Kinsey Moore <kmoore@digium.com>
- * main/logger.c, include/asterisk/term.h, apps/app_queue.c,
- main/asterisk.c, main/term.c, main/data.c, main/pbx.c,
- main/manager.c: Revamp of terminal color codes The core module
- related to coloring terminal output was old and needed some love.
- The main thing here was an attempt to get rid of the obscene
- number of stack-local buffers that were allocated for no other
- reason than to colorize some output. Instead, this uses a simple
- trick to allocate several buffers within threadlocal storage,
- then automatically rotates between them, so that you can make
- multiple calls to the colorization routine within one function
- and not need to allocate multiple buffers. Review:
- https://reviewboard.asterisk.org/r/2241/ Patches: bug.patch
- uploaded by Tilghman Lesher
- 2013-02-14 17:06 +0000 [r381398-381427] Sean Bright <sean@malleable.com>
- * channels/chan_iax2.c: Use a shuffling algorithm to find unused
- IAX2 call numbers. While adding red-black tree containers to
- astobj2 in r376575, Richard pointed out the way chan_iax2 finds
- unused call numbers will prevent ao2_container integrity checks
- at runtime. This patch removes the ao2_container and instead uses
- fixed sized arrays and a modified Fisher-Yates-Durstenfeld
- shuffle to maintain the call number list. While the locking
- semantics are similar to the ao2_container implementation, this
- implementation should be faster and more memory efficient.
- Review: https://reviewboard.asterisk.org/r/2288/
- * include/asterisk/doxygen/asterisk-git-howto.h: Update the name of
- the update_tags utility in the git mirror how-to.
- 2013-02-14 03:49 +0000 [r381366] Matthew Jordan <mjordan@digium.com>
- * apps/app_db.c, /: Don't throw a spurious error when using
- DBdeltree The function call ast_db_deltree returns the number of
- row deleted, or a negative number if it failed. DBdeltree was
- treating any non-zero return as an error, causing a spurious
- verbose error message to be displayed. This patch handles the
- return code of ast_db_deltree correctly. (closes issue
- ASTERISK-21070) Reported by: ianc patches: dbdeltree.diff
- uploaded by ianc (License #5955) ........ Merged revisions 381364
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 381365 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-12 21:45 +0000 [r381326] David M. Lee <dlee@digium.com>
- * tests/test_threadpool.c, tests/test_taskprocessor.c,
- main/threadpool.c, main/taskprocessor.c,
- include/asterisk/threadpool.h: Add a serializer interface to the
- threadpool This patch adds the ability to create a serializer
- from a thread pool. A serializer is a ast_taskprocessor with the
- same contract as a default taskprocessor (tasks execute serially)
- except instead of executing out of a dedicated thread, execution
- occurs in a thread from a ast_threadpool. Think of it as a
- lightweight thread. While it guarantees that each task will
- complete before executing the next, there is no guarantee as to
- which thread from the pool individual tasks will execute. This
- normally only matters if your code relys on thread specific
- information, such as thread locals. This patch also fixes a bug
- in how the 'was_empty' parameter is computed for the push
- callback, and gets rid of the unused 'shutting_down' field.
- Review: https://reviewboard.asterisk.org/r/2323/
- 2013-02-12 20:57 +0000 [r381307] Mark Michelson <mmichelson@digium.com>
- * main/rtp_engine.c, /: Do not allow native RTP bridging if
- packetization of media streams differs. The RTP engine will no
- longer allow for local and remote native RTP bridges if
- packetization of streams differs. Allowing native bridging in
- this scenario has been known to cause FAX failures. (closes
- ASTERISK-20650) Reported by: Maciej Krajewski Patches:
- ASTERISK-20659.patch uploaded by Mark Michelson (License #5049)
- Review: https://reviewboard.asterisk.org/r/2319 ........ Merged
- revisions 381281 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 381306 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-12 20:18 +0000 [r381285] Kinsey Moore <kmoore@digium.com>
- * /, channels/chan_sip.c, channels/sip/security_events.c,
- channels/sip/include/sip.h: Fix some more REF_DEBUG-related build
- errors When sip_ref_peer and sip_unref_peer were exported to be
- usable in channels/sip/security_events.c, modifications to those
- functions when building under REF_DEBUG were not taken into
- account. This change moves the necessary defines into sip.h to
- make them accessible to other parts of chan_sip that need them.
- ........ Merged revisions 381282 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-12 03:31 +0000 [r381256] Michael L. Young <elgueromexicano@gmail.com>
- * apps/app_confbridge.c: Adding Some More Manager Events To
- ConfBridge Currently, ConfBridge does not send manager events for
- ConfbridgeMute, ConfbridgeUnmute, ConfbridgeStartRecord and
- ConfbridgeStopRecord. This patch adds these events to the
- manager. The reporter's patch moves some other events up to the
- beginning of the file. The patch being committed is based on the
- patch contributed from the reporter of this issue. I have made a
- lot of modifications to the patch in order for it to fit in
- better with what we currently are doing in the code when it comes
- to manager events. I also made a few changes to the <see-also>
- elements on some of the events. (closes issue ASTERISK-20827)
- Reported by: Clint Davis Tested by: Clint Davis, Michael L. Young
- Patches: 20827.diff uploaded by Clint Davis (license 6453)
- asterisk-20827-confbridge-events.diff uploaded by Michael L.
- Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2309/
- 2013-02-11 21:17 +0000 [r381219] Kevin Harwell <kharwell@digium.com>
- * /, apps/app_playback.c: Properly load say.conf upon reload of
- module app_playback. If say.conf did not exists prior to
- originally loading module app_playback it would not load on
- subsequent reloads of the module once it had been created. This
- occurred because upon reload of the app_playback module it would
- only load a new configuration if an old one had previously
- existed. This fix simply removed the association between checking
- if an old configuration existed and the loading of the new one.
- (closes issue ASTERISK-20800) Reported by: pgoergler ........
- Merged revisions 381216 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 381217 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-11 21:10 +0000 [r381218] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/astobj2.h: Fix compilation error with REF_DEBUG
- When the red/black tree work was committed, there was an extra ",
- " in the REF_DEBUG definition of ao2_container_alloc_rbtree.
- 2013-02-11 20:39 +0000 [r381214] David M. Lee <dlee@digium.com>
- * tests/test_json.c, res/res_json.c: Minor fixes to res_json and
- test_json. * Made input checking more consistent with other
- Asterisk code * Added validation to ast_json_dump_new_file *
- Fixed tests for ownereship semantics (issue ASTERISK-20887)
- 2013-02-11 18:54 +0000 [r381195] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Fix some issues with skinny callid. Add
- extra string to transmit_callinfo_var, Only set string2 to tonum
- for outgoing calls and changes to send_callinfo and push_callinfo
- to not set callid name to last number. (closes issue
- ASTERISK-21063) Reported by: wedhorn Tested by: snuffy, myself
- Patches: skinny-callinfoupdate03.diff uploaded by wedhorn
- (license 5019)
- 2013-02-11 18:00 +0000 [r381177] Richard Mudgett <rmudgett@digium.com>
- * main/features.c: features: Don't cache a struct ast_app pointer.
- Caching a struct ast_app pointer is not a good idea because
- someone could unload the application. After the applicaiton
- unload the cached ast_app pointer is no longer valid. Only pbx.c
- can cache the pointer because it knows when the application is
- unloaded and removes the pointer. * Fixed one-touch Monitor and
- MixMonitor to not cache the ast_app pointer and not use the silly
- monitor_ok/mixmonitor_ok/stopmixmonitor_ok flags. * Extracted
- bridge_check_monitor() from ast_bridge_call() and use propper
- locking.
- 2013-02-11 15:11 +0000 [r381160] Matthew Jordan <mjordan@digium.com>
- * /, res/res_xmpp.c: Fix crash in res_xmpp when deleting pubsub
- node from CLI An error existed in res_xmpp where it would attempt
- to delete attributes from a node that itself was also deleted.
- Per the iksemel documentation, attributes added using iks_insert
- are copied to the parent node's stack, and will be reclaimed when
- that node is itself destroyed. (closes issue ASTERISK-20982)
- Reported by: marcelloceschia patches: delete-node-fix.diff
- uploaded by marcelloceschia (License 6036) ........ Merged
- revisions 381159 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-10 14:58 +0000 [r381134] Joshua Colp <jcolp@digium.com>
- * include/asterisk/sorcery.h, tests/test_sorcery.c, main/sorcery.c:
- Add additional functionality to the Sorcery API. This commit adds
- native implementation support for copying and diffing objects, as
- well as the ability to load or reload on a per-object type level.
- Review: https://reviewboard.asterisk.org/r/2320/
- 2013-02-09 20:58 +0000 [r381069-381118] Richard Mudgett <rmudgett@digium.com>
- * main/pbx.c: pbx: Fix regression caused by taking advantage of the
- function name sort. Taking advantage of the sorted order of the
- registered functions container requires that they are actually
- inserted in the expected sort order. * Insert the registered
- functions into the container in case sensitive position. As a
- result, only the complete_functions() routine needs to search the
- entire container because it does a case insensitive search for
- convenience. Caught by the unit tests.
- * main/pbx.c: pbx: Make function and application containers take
- advantage of being sorted. * Fixed "core show function" tab
- completion and token count checking. * Refactored function and
- application container handling code to reduce redundancy. * Made
- __ast_pbx_run() return using the defines the caller should
- expect. Doesn't change the returned values. Just made use the
- defines.
- * include/asterisk/channel.h, main/channel.c, channels/chan_sip.c:
- Make ast_do_masquerade() a void function.
- * /, apps/app_confbridge.c: app_confbridge: Fix crash from
- receiving an AMI action after ConfBridge unloaded. Unloading
- ConfBridge caused the next AMI action received to crash Asterisk.
- * Add the missing unregister of AMI action
- ConfbridgeSetSingleVideoSrc when ConfBridge is unloaded. (closes
- issue ASTERISK-20994) Reported by: Jeremy Kister Patches:
- jira_asterisk_20994_v11.patch (license #5621) patch uploaded by
- rmudgett Tested by: Rusty Newton, Jeremy Kister ........ Merged
- revisions 381067 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-08 17:36 +0000 [r381068] Jonathan Rose <jrose@digium.com>
- * configs/features.conf.sample, main/features.c, CHANGES: Call
- Parking: Set PARKINGLOT and PARKINGSLOT variables on all parked
- calls These two variables were previously not being set when
- comebacktoorigin=yes and the example configs seemed to imply that
- they should be. Since there is no harm in this and since calls
- that are sent back to origin are capable of continuing in the
- dialplan, this seemed like a no-brainer. Also it supports some
- bridging tests I've been working on.
- 2013-02-07 17:57 +0000 [r381037] Joshua Colp <jcolp@digium.com>
- * res/res_sorcery_config.c: Fix a bug where a changed configuration
- file might not be available to all sorcery object types. Since
- res_sorcery_config used a static name of "res_sorcery_config" to
- inform the configuration file API that it asked for the
- configuration file it was possible during a reload for some
- sorcery object types not to receive the new configuration file.
- This change introduces a UUID on a per-sorcery config instance
- basis so that the unchanged state is kept on an instance basis
- and not for the res_sorcery_config module as a whole.
- 2013-02-07 15:16 +0000 [r381017] Kinsey Moore <kmoore@digium.com>
- * include/asterisk/stringfields.h, tests/test_stringfields.c: Add
- aggregate operations for stuctures with string fields Add
- struct-level comparison and copying of string fields to reduce
- the complexity of whole-struct comparison and copying when using
- string fields. The new macros do not take into account
- non-stringfield data. Review:
- https://reviewboard.asterisk.org/r/2308/
- 2013-02-06 20:18 +0000 [r380977] David M. Lee <dlee@digium.com>
- * /, channels/chan_sip.c: Fixed failing test from r380696. When I
- added my extensive suite of session timer unit tests, apparently
- one of them was failing and I never noticed. If neither Min-SE
- nor Session-Expires is set in the header, it was responding with
- a Session-Expires of the global maxmimum instead of the
- configured max for the endpoint. (issue ASTERISK-20787) ........
- Merged revisions 380973 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 380974 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-06 08:44 +0000 [r380925-380943] Damien Wedhorn <voip@facts.com.au>
- * /, channels/chan_skinny.c: Fix reload skinny with active devices.
- Patch ensures that d->activeline and l->activesub are moved over
- to the new device and line so that on callend the appropriate
- subs can be found to complete hangup before device resets.
- (closes issue ASTERISK-16610) Reported by: wedhorn Tested by:
- snuffy, myself Patches: skinny-reloadactive01.diff uploaded by
- wedhorn (license 5019) ........ Merged revisions 380942 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * configs/skinny.conf.sample, channels/chan_skinny.c: Reset skinny
- vmexten and immeddial char on reload. Make skinny reset vmexten
- and immeddial to '\0' on reload to ensure that it is set to '\0'
- if the appropriate item is removed/commented in skinny.conf. Also
- small fix re immeddial char in skinny.conf and add immedial
- setting to skinny show settings. (closes issue ASTERISK-21037)
- Reported by: snuffy Tested by: snuffy, myself Patches:
- immed_dial_fix.diff uploaded by snuffy (license 5024)
- 2013-02-05 19:11 +0000 [r380855-380896] Richard Mudgett <rmudgett@digium.com>
- * apps/app_confbridge.c, /, apps/app_page.c: app_page and
- app_confbridge: Fix custom announcement on entering conference.
- The Page and ConfBridge custom announcement did not play when
- users entered the conference. * Fix the
- CONFBRIDGE(user,announcement) file not getting played. The code
- to do this got removed accidentally when the ConfBridge code was
- restructured to be more state machine like. * Fixed
- play_prompt_to_user() doxygen comments. * Fixed the Page A(x) and
- n options for the caller. The caller never played the
- announcement file and totally ignored the n option. The code to
- do this was lost when the application was converted to use
- ConfBridge. * Factored out setup_profile_bridge(),
- setup_profile_paged(), and setup_profile_caller() routines to
- setup ConfBridge profiles. Made each profile setup routine use
- the default template if one has not already been setup by
- dialplan. (closes issue ASTERISK-20990) Reported by: Jeremy
- Kister Tested by: rmudgett ........ Merged revisions 380894 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/confbridge/conf_state_multi_marked.c: app_confbridge: Fix
- error messages on exiting conference. A marked user ending a
- conference with only end_marked users generates error messages:
- ERROR[0000][C-00000000]: confbridge/conf_state.c:47
- conf_invalid_event_fn: Invalid event for confbridge user '' * The
- MULTI_MARKED state was doing too much when it was kicking out the
- end_marked users from the conference. The kicked out users will
- clean up after themselves when they exit the conference. (closes
- issue ASTERISK-20991) Reported by: Jeremy Kister Tested by:
- rmudgett ........ Merged revisions 380892 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_page.c: app_page: Fixup application XML documentation
- typos and inaccuracies. ........ Merged revisions 380869 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/confbridge/conf_config_parser.c, /: Because the compiler can
- check types with a struct copy and memcpy() cannot. ........
- Merged revisions 380856 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/dial.c, /: Separate option_types[] from the struct
- definition. Updated the option_types[] doxygen comment. ........
- Merged revisions 380853 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 380854 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-04 19:52 +0000 [r380817] Jason Parker <jparker@digium.com>
- * /, res/Makefile, res/pjproject/build/common.mak,
- res/pjproject/aconfigure, res/pjproject/build/os-auto.mak.in,
- Makefile, res/pjproject/aconfigure.ac: Fix how we build
- pjproject. Allow parallel builds, better tolerate failures, build
- faster. This also stops running dependencies before top-level
- configure has been run. (closes issue ASTERISK-20815) Review:
- https://reviewboard.asterisk.org/r/2292/ ........ Merged
- revisions 380816 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-02-02 01:52 +0000 [r380792] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Add variable length displayprompt packet
- to skinny and use octals. Add new variable length displayprompt
- packet (0x0145) to skinny. Uses the new packet if the device is
- reporting protocol versions >= 17. Add the use of octal codes for
- sending prompts to both the new and old displayprompt messages
- (also cleaned up soft_key_template_default to use the defined
- octal codes). Review: https://reviewboard.asterisk.org/r/2294/
- 2013-02-01 19:35 +0000 [r380774] Richard Mudgett <rmudgett@digium.com>
- * channels/iax2/firmware.c: chan_iax2: Fix compile error if
- MALLOC_DEBUG enabled. NEVER INCLUDE astmm.h DIRECTLY!!
- 2013-02-01 06:37 +0000 [r380755] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Adds variable length callinfo packets to
- skinny. Add packet 0x014A (variable length call info messages) to
- skinny for newer firmware. Plenty of unknown information but
- includes the equivalent functionality as the fixed size callinfo
- packet already included. Only send this packet if protocol
- reported is >= 17. Review:
- https://reviewboard.asterisk.org/r/2290/
- 2013-01-31 22:03 +0000 [r380738] Jason Parker <jparker@digium.com>
- * res/pjproject/pjlib/src/pj/ssl_sock_ossl.c,
- res/pjproject/pjlib/src/pj/log.c,
- res/pjproject/pjlib/src/pj/pool_buf.c, /,
- res/pjproject/pjsip-apps/src/samples/icedemo.c,
- res/pjproject/pjlib/include/pj/config_site.h,
- res/pjproject/pjmedia/src/test/test.c: Multiple revisions
- 380735-380736 ........ r380735 | qwell | 2013-01-31 15:40:09
- -0600 (Thu, 31 Jan 2013) | 1 line Fix a few compiler warnings.
- ........ r380736 | qwell | 2013-01-31 15:42:34 -0600 (Thu, 31 Jan
- 2013) | 1 line Ignore warnings caused by PJ_TODO()s in pjproject.
- ........ Merged revisions 380735-380736 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-31 20:17 +0000 [r380699] David M. Lee <dlee@digium.com>
- * /, channels/chan_sip.c: Process session timers, even if
- Session-Expires header is missing Previously, Asterisk only
- processed session timer information if both the 'Supported:
- timer' and 'Session-Expires' headers were present. However, the
- Session-Expires header is optional. If we were to receive a
- request with a Min-SE greater than our configured
- session-expires, we would respond with a 'Session-Expires' header
- that was too small. This patch cleans the situation up a bit,
- always processing timer information if the 'Supported: timer'
- header is present. (closes issue ASTERISK-20787) Reported by:
- Mark Michelson Review: https://reviewboard.asterisk.org/r/2299/
- ........ Merged revisions 380696 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 380698 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-31 19:52 +0000 [r380695] Sean Bright <sean@malleable.com>
- * channels/iax2/include/firmware.h (added),
- channels/iax2/include/parser.h, channels/chan_iax2.c,
- channels/iax2/firmware.c (added): Move IAX firmware related
- functionality into separate files. This patch is mostly a
- reorganization of existing code with a few exceptions: * Added
- doxygen comments to all of the extracted functions. * Split
- reload_firmware(int unload) into iax_firmware_reload() and
- iax_firmware_unload() for readability. * Create
- iax_firmware_traverse() to support the 'iax2 show firmware' CLI
- command. * Renamed iax_check_version() to
- iax_firmware_get_version() and change its arguments and return
- value so that it returns a success/failure value and sets the
- selected version into an out parameter to avoid confusion with
- failure and version 0.
- 2013-01-31 19:04 +0000 [r380674] Jason Parker <jparker@digium.com>
- * res/pjproject/build/rules.mak,
- res/pjproject/pjnath/build/Makefile,
- res/pjproject/pjsip/build/Makefile, res/pjproject/aconfigure,
- res/pjproject/pjsip-apps/build/Makefile,
- res/pjproject/aconfigure.ac,
- res/pjproject/pjmedia/build/Makefile,
- res/pjproject/build/cc-auto.mak.in, /,
- res/pjproject/pjlib-util/build/Makefile,
- res/pjproject/pjlib/build/Makefile: Multiple revisions
- 380671-380673 ........ r380671 | qwell | 2013-01-31 12:59:28
- -0600 (Thu, 31 Jan 2013) | 4 lines Remove a cross-compile
- workaround. ar and ranlib can be easily detected with autoconf.
- ........ r380672 | qwell | 2013-01-31 13:00:38 -0600 (Thu, 31 Jan
- 2013) | 2 lines Always check for libm, regardless of configure
- options. ........ r380673 | qwell | 2013-01-31 13:03:03 -0600
- (Thu, 31 Jan 2013) | 7 lines Add support for parallel builds of
- pjproject. Also adds proper dependency checking, and direct .a
- file targets. We don't take advantage of this currently, but we
- will soon. (issue ASTERISK-20815) ........ Merged revisions
- 380671-380673 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-31 18:22 +0000 [r380576-380666] Richard Mudgett <rmudgett@digium.com>
- * bridges/bridge_multiplexed.c: bridge_multiplexed: Keep the
- multiplexed thread until no more bridges use it. * Fixed the
- potential of losing the multiplexed bridge thread when the last
- channel leaves and another joins while the multiplexed thread is
- being shut down. * Refactored and improved the management of the
- serviced channels array. * Changed the channels count to a
- bridges count so it only needs to be incremented rather than
- changed by two.
- * main/frame.c, funcs/func_frame_trace.c: Improve func FRAME_TRACE
- DTMF digit format.
- * include/asterisk/bridging.h: Eliminate an unused lock in
- ast_bridge_channel.
- * main/channel.c: Eliminate a use of a C++ keyword as a variable.
- new to new_frame
- * channels/iax2: Add ignore properties to channels/iax2
- * include/asterisk/channel.h, /: Make CHECK_BLOCKING() debug
- message more useful. Change the displayed pthread value to hex
- format so it can be easily matched with CLI core show threads or
- gdb. ........ Merged revisions 380611 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 380612 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_dahdi.c, /: chan_dahdi: Fix "dahdi show channels
- group" for groups greater than 31. The variable type used was not
- large enough to hold a group bit field. ........ Merged revisions
- 380572 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 380575 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-30 17:49 +0000 [r380460-380522] Matthew Jordan <mjordan@digium.com>
- * /, configure, configure.ac: Support building Asterisk for
- Raspberry Pi/Raspbian with hard-float support Building Asterisk
- on Raspbian with hard-float support fails as it uses the string
- 'linux-gnueabihf' for host os, as opposed to 'linux-gnueabi'.
- This patch modifies the configure script for Asterisk such that
- it will match on any string beginning with 'linux-gnueabi', as
- opposed to requiring an explicit match. (closes issue
- ASTERISK-21006) Reported by: Christian Hesse Tested by: Christian
- Hesse patches: linux-gnueabihf.patch uploaded by Christian Hesse
- (license 6459) linux-gnueabihf-autoconf.patch uploaded by
- Christian Hesse (license 6459) ........ Merged revisions 380520
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 380521 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: Unregister SIP provider API if module
- load is declined A user in #asterisk ran into a problem where a
- configuration error prevented the chan_sip module from being
- loaded. Upon fixing their configuratione error, they could no
- longer load the chan_sip module. This was because the
- configuration checking happened after the SIP provider was
- registered with the Asterisk core, and subsequent attempts to
- load the SIP module failed as the provider was already
- registered. Since we want to detect any failure in registering
- chan_sip as early as possible (as that could be emblematic of a
- deeper mismatch between module and Asterisk core), this patch
- does not change the registration location, but does ensure that
- if a module load is declined, we unregister the module as the SIP
- api provider. ........ Merged revisions 380480 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: Perform case insensitive comparisons for
- T.38 attributes RFC5347 section 2.5.2 states the following: ...
- The attribute "T38MaxBitRate" was once incorrectly registered
- with IANA as "T38maxBitRate" (lower-case "m"). In accordance with
- T.38 examples and common implementation practice, the form
- "T38MaxBitRate" SHOULD be generated by implementations conforming
- to this package. In general, it is RECOMMENDED that
- implementations of this package accept lowercase, uppercase, and
- mixed upper/lowercase encodings of all the T.38 attributes. ...
- Asterisk currently does not perform case insensitive matching on
- the T.38 attributes. This causes the T38MaxBitRate attribute to
- be negotiated at 2400 baud instead of 14400 (or whatever value
- you actually wanted). This patch makes it so that when we compare
- T.38 attributes, we do so in a case insensitive fashion. Note
- that while the issue reporter did not directly write the patch,
- they contributed to it (and would have provided one themselves if
- the license had gone through a tad faster), and hence get
- attribution for it. Review:
- https://reviewboard.asterisk.org/r/2298/ (closes issue
- ASTERISK-20897) Reported by: Eric Hill Tested by: Eric Hill
- patches: -- uploaded by Eric Hill ........ Merged revisions
- 380458 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 380465 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_calendar_icalendar.c, /: Fix memory leak in
- res_calendar_icalendar The ICalendar module had a systemic memory
- leak on each fetch of data from the ICalendar source. The
- previous fetched data was not being properly disposed. This patch
- makes it so that before each fetch of data, we dispose of the
- previously fetched data. (closes issue ASTERISK-21012) Reported
- by: Joel Vandal Tested by: Joel Vandal ........ Merged revisions
- 380451 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 380452 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-29 22:58 +0000 [r380433] Sean Bright <sean@malleable.com>
- * channels/iax2/parser.c (added), channels/iax2 (added),
- channels/iax2-parser.h (removed),
- channels/iax2/include/provision.h (added), channels/iax2/include
- (added), channels/iax2/include/parser.h (added), channels/iax2.h
- (removed), channels/iax2-provision.c (removed),
- channels/iax2/provision.c (added), channels/Makefile,
- channels/chan_iax2.c, channels/iax2-parser.c (removed),
- channels/iax2/include/iax2.h (added), channels/iax2-provision.h
- (removed): Move the ancillary iax2 source files into a separate
- sub-directory. This patch just moves the IAX2 source and header
- files into a separate iax2 sub-directory in the channels
- directory, similar to how the sip source files are structured.
- The only thing that was added was an #ifndef to protect
- provision.h from multiple inclusion.
- 2013-01-29 20:19 +0000 [r380407] Joshua Colp <jcolp@digium.com>
- * tests/test_sorcery.c, main/sorcery.c: Fix an issue where building
- with DEBUG_FD_LEAKS enabled would not work due to sorcery using
- calls called "open" and "close".
- 2013-01-29 18:02 +0000 [r380386] Richard Mudgett <rmudgett@digium.com>
- * /, channels/chan_agent.c: chan_agent: Prevent multiple channels
- from logging in as the same agent. Multiple channels logging in
- as the same agent can result in dead channels waiting for a
- condition signal that will never come because another channel
- thread stole it. A symptom is chan_sip repeatedly generating
- warning messages about rescheduling autodestruction of dialogs
- with an agent channel owner. * Made only login_exec() (the app
- AgentLogin) clear the agent_pvt->chan pointer to prevent multiple
- channels from logging in as the same agent. agent_read(),
- agent_call(), and agent_set_base_channel() no longer disconnect
- the agent channel from the agent_pvt. This also eliminates the
- need to keep checking for agent_pvt->chan being NULL. * Made
- agent_hangup() not wake up the AgentLogin agent thread until it
- is done. * Made agent_request() not able to get the agent until
- he has logged in and any wrapup time has expired. * Made
- agent_request() use ast_hangup() instead of agent_hangup() to
- correctly dispose of a channel. * Removed
- agent_set_base_channel(). Nobody calls it and it is a bad thing
- in general. * Made only agent_devicestate() determine the current
- device state of an agent. Note: Agent group device states have
- never been supported. Review:
- https://reviewboard.asterisk.org/r/2260/ ........ Merged
- revisions 380364 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 380384 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-29 17:46 +0000 [r380383] David M. Lee <dlee@digium.com>
- * channels/sip/sdp_crypto.c, /: Corrected crypto tag in SDP ANSWER
- for SRTP. (again) The original fix (r380043) for getting Asterisk
- to respond with the correct tag overlooked some corner cases, and
- the fact that the same code is in 1.8. This patch moves the
- building of the crypto line out of sdp_crypto_process(). Instead,
- it merely copies the accepted tag. The call to sdp_crypto_offer()
- will build the crypto line in all cases now, using a tag of "1"
- in the case of sending offers. (closes issue ASTERISK-20849)
- Reported by: José Luis Millán Review:
- https://reviewboard.asterisk.org/r/2295/ ........ Merged
- revisions 380347 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 380350 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-29 17:06 +0000 [r380349] Jonathan Rose <jrose@digium.com>
- * main/features.c, /: call_parking: Make sure fallbacks are used
- when lacking a flat channel exten A regression was introduced
- which removed automatic fallback behavior from the PBX. This
- behavior was used by call parking (or at least documented as how
- the feature works) in order to select an extension when the flat
- channel extension wasn't available from the comebackcontext.
- Parking now handles the fallbacks internally in order to keep
- behavior matching with how it is documented. (closes issue
- ASTERISK-20716) Reported by: Chris Gentle Review:
- https://reviewboard.asterisk.org/r/2296/ ........ Merged
- revisions 380348 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-29 14:48 +0000 [r380299-380332] Matthew Jordan <mjordan@digium.com>
- * /, channels/chan_sip.c: Ensure that a declined media stream is
- terminated with a '\r\n' In r369028, chan_sip's processing of
- media streams in an SDP was modified to better handle multiple
- offered media streams. Part of that change modified how streams
- were declined. Previously, declined media streams were not
- handled in an RFC compliant manner; now, we set the port number
- to 0 in the media stream definition and proceed on with the next
- media stream. Unfortunately, the formatting of the declined media
- stream forgot to append a '\r\n' to the end of the media stream.
- This is normally added to the accepted media streams later on in
- the processing of the SDP. Since the declined media stream uses a
- different buffer than the accepted media streams (and is a
- malloc'd buffer as opposed to a struct ast_str), it's easier to
- just slap the '\r\n' on the declined media stream buffer rather
- than attempt to append it later on. So, that's what we do. And
- now some devices (and probably some providers) will be a bit
- happier (but probably not terribly happy, since we just rejected
- something they offered). Review:
- https://reviewboard.asterisk.org/r/2297/ (closes issue
- ASTERISK-20908) Reported by: Dennis DeDonatis Tested by: Dennis
- DeDonatis ........ Merged revisions 380331 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * autoconf/ast_check_pwlib.m4, /, configure,
- include/asterisk/autoconfig.h.in: Update configure script to be
- compatible with ptlib 2.10.9 With ptlib 2.10.9, the configure
- script fails due to grep returning multiple matches for the
- pattern it searches for. This patch updates the pattern matching
- to return only the actual version for the symbol searched for,
- PTLIB_VERSION. (closes issue ASTERISK-20980) Reported by: Stefan
- Reuter patches: ASTERISK-20980-1.patch uploaded by Stefan Reuter
- (license 5339) ........ Merged revisions 380297 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 380298 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-28 21:09 +0000 [r380256] Sean Bright <sean@malleable.com>
- * /, channels/iax2.h, channels/chan_iax2.c: Correct the number of
- available call numbers in IAX2. There is currently an edge case
- where call number 32768 might be allocated for a call, even
- though the IAX2 protocol requires call numbers be only 15 bits.
- This resulted in some unpredictable behavior when call number
- 32678 is chosen. This patch was mostly written by Richard Mudgett
- via ReviewBoard. I'm just committing it. Review:
- https://reviewboard.asterisk.org/r/2293/ ........ Merged
- revisions 380254 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 380255 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-28 01:58 +0000 [r380209-380212] Russell Bryant <russell@russellbryant.com>
- * main/file.c, /: Change cleanup ordering in filestream destructor.
- This patch came about due to a problem observed where wav files
- had an empty header. The header is supposed to be updated in
- wav_close(). It turns out that this was broken when the
- cache_record_files option from asterisk.conf was enabled. The
- cleanup code was moving the file to its final destination
- *before* running the close() method of the file destructor, so
- the header didn't get updated. Another problem here is that the
- move was being done before actually closing the FILE *. Finally,
- the last bug fixed here is that I noticed that wav_close() checks
- for stream->filename to be non-NULL. In the previous cleanup
- order, it's checking a pointer to freed memory. This doesn't
- actually cause anything to break, but it's treading on dangerous
- waters. Now the free() of stream->filename is happening after the
- format module's close() method gets called, so it's safer.
- Review: https://reviewboard.asterisk.org/r/2286/ ........ Merged
- revisions 380210 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 380211 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/logger.c, CHANGES, configs/logger.conf.sample: Add
- queue_log_realtime_use_gmt option to logger.conf Add an option
- that lets you specify that the timestamps going into the realtime
- queue log should be in GMT instead of local time. Review:
- https://reviewboard.asterisk.org/r/2287/
- 2013-01-27 20:33 +0000 [r380194] Michael L. Young <elgueromexicano@gmail.com>
- * apps/confbridge/conf_config_parser.c, /: Fix Some Configured
- Conference Bridge Sounds Not Being Set The "sound_only_one" sound
- was not being set even though it was configured. In looking into
- this, I found that the "join" and "leave" prompts were not being
- set either. (closes issue ASTERISK-20898) Reported by: Stephan
- Tested by: Stephan Patches:
- asterisk-20898-custom-sounds-ignored.diff uploaded by Michael L.
- Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2289/ ........ Merged
- revisions 380193 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-27 18:40 +0000 [r380165-380178] Joshua Colp <jcolp@digium.com>
- * tests/test_sorcery.c: Add a unit test which confirms the apply
- handler callback is called when it should be.
- * main/sorcery.c: Fix a bug where the apply function was not
- getting called.
- 2013-01-25 23:23 +0000 [r380142] Richard Mudgett <rmudgett@digium.com>
- * bridges/bridge_multiplexed.c: bridge_multiplexed: Rename
- variables so they are not the same as the struct name. * Rename
- multiplexed_thread variables to muxed_thread. It is shorter and
- my editer tagging works much better. Struct names and variable
- names have different purposes and therefore should have different
- names. * Renamed the multiplexed_threads container to
- muxed_threads for consistency.
- 2013-01-25 20:46 +0000 [r380121] Jason Parker <jparker@digium.com>
- * res/res_sorcery_memory.c, res/res_sorcery_config.c: Make sorcery
- modules global, since they are required by other modules that are
- global.
- 2013-01-25 20:00 +0000 [r380108-380109] Richard Mudgett <rmudgett@digium.com>
- * bridges/bridge_multiplexed.c, main/bridging.c: Misc bridge code
- improvements * Made multiplexed_bridge_destroy() check if
- anything to destroy and cleared bridge_pvt pointer after
- destruction. * Made multiplexed_add_or_remove() handling of the
- chans array simpler. * Extracted bridge_channel_poke(). *
- Simplified bridge_array_remove() handling of the bridge->array[].
- The array does not have a NULL sentinel pointer. * Made
- ast_bridge_new() not create a temporary bridge just to see if it
- can be done. Only need to check if there is an appropriate bridge
- tech available. * Made ast_bridge_new() clean up on allocation
- failures. * Made destroy_bridge() free resources in the opposite
- order of creation.
- * bridges/bridge_simple.c, bridges/bridge_softmix.c,
- bridges/bridge_multiplexed.c, main/bridging.c: More trivial
- bridge code cleanup. * Breaking long lines * Word wrapping
- comment blocks. * Removing redundant initializers. * Debug
- message wording.
- 2013-01-25 14:23 +0000 [r380069-380082] Joshua Colp <jcolp@digium.com>
- * res/res_sorcery_config.c: Add a missing '\' to a log message.
- * configs/test_sorcery.conf.sample (added),
- res/res_sorcery_memory.c (added), configs/sorcery.conf.sample
- (added), include/asterisk/sorcery.h (added), tests/test_sorcery.c
- (added), main/asterisk.c, main/sorcery.c (added),
- res/res_sorcery_config.c (added): Merge the sorcery data access
- layer API. Sorcery is a unifying data access layer which provides
- a pluggable mechanism to allow object creation, retrieval,
- updating, and deletion using different backends (or wizards).
- This is a fancy way of saying "one interface to rule them all"
- where them is configuration, realtime, and anything else that
- comes along. Review: https://reviewboard.asterisk.org/r/2259/
- 2013-01-25 05:49 +0000 [r380057] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c, configs/skinny.conf.sample: Add force
- dial keys to skinny. Adds a dial softkey when the device is in
- DAFD. The softkey is greyed (unusable) until a possible dialplan
- match is entered. Code includes updating transmit_selectsoftkeys
- to allow the use of a button mask. Also add option to use # or *
- as a dial now button. Original patch by snuffy cleaned up by
- myself. Review: https://reviewboard.asterisk.org/r/2277/
- 2013-01-24 16:40 +0000 [r380044] David M. Lee <dlee@digium.com>
- * /, channels/sip/sdp_crypto.c: Corrected crypto tag in SDP ANSWER
- for SRTP. When Asterisk responds with an SDP ANSWER for SRTP, it
- had the code to correctly fill in the crypto data, which was
- overwritten by a call to sdp_crypto_offer. Corrected the
- situation by changing sdp_crypto_offer to not replacing crypto
- data if it already exists. (closes issue ASTERISK-20849) Reported
- by: José Luis Millán Tested by: Iñaki Baz Castillo Patches:
- fix_sdp_crypto_tags.diff uploaded by Pedro Kiefer (license 6407)
- ........ Merged revisions 380043 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-24 04:02 +0000 [r380029] Matthew Jordan <mjordan@digium.com>
- * /, apps/app_confbridge.c: Correct documentation for
- ConfbridgeList AMI action The documentation for ConfbridgeList
- states that the Conference field is optional. That's not really
- the case: if you fail to provide a Conference number, the command
- will kick back an error. (closes issue AST-1090) Reported by:
- John Bigelow ........ Merged revisions 380028 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-23 16:50 +0000 [r380004] Kinsey Moore <kmoore@digium.com>
- * contrib/scripts/autosupport: Add support for DPMA to autosupport
- This adds the ability to get the DPMA version, a listing of the
- local firmware directory, and indexes of configured remote
- directories. (closes issue AST-1070) Reported By: Malcolm
- Davenport Tested By: Kinsey Moore <kmoore@digium.com>
- 2013-01-23 00:30 +0000 [r379966] Richard Mudgett <rmudgett@digium.com>
- * main/astobj2.c, /: Attempt to be more helpful when using a bad
- ao2 object pointer. Put the external obj pointer in the message
- instead of the internal version. ........ Merged revisions 379963
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 379964 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-22 22:19 +0000 [r379950] Jonathan Rose <jrose@digium.com>
- * /, res/res_fax_spandsp.c: res_fax_spandsp: fix t38 transmission
- bug caused by not returning success This patch fixes the problem,
- but the issue includes a test which is still being considered for
- the automated test suite. (issue ASTERISK-20919) Reported by:
- NITESH BANSAL Patches: patch_ast_fax_spandsp.patch uploaded by
- NITESH BANSAL (license 6418) ........ Merged revisions 379949
- from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-22 20:58 +0000 [r379936] Sean Bright <sean@malleable.com>
- * channels/chan_iax2.c: Remove a large block of commented out code
- from chan_iax2. During the conversion to the newer CLI command
- structure the old definitions were commented out. I think it's
- safe to remove them completely now.
- 2013-01-22 19:29 +0000 [r379912] Jonathan Rose <jrose@digium.com>
- * sounds/Makefile, /, apps/app_meetme.c: app_meetme: Use new
- prompts for administrator menu The old prompts for the
- administrator menu were inadequate. They didn't mention that the
- menu had additional options through the 8 key and pressing the 8
- key wouldn't reveal what those options were. This patch fixes all
- of that while also organizing code pertaining to each individual
- menu type which was previously all stored in one gigantic
- function along with many of the basic conference functions.
- (closes issue AST-996) Reported by: John Bigelow Review:
- http://reviewboard.digium.internal/r/360/ ........ Merged
- revisions 379885 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379892 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-22 16:48 +0000 [r379864] Richard Mudgett <rmudgett@digium.com>
- * /: Remove stray property.
- 2013-01-22 15:16 +0000 [r379828-379830] Matthew Jordan <mjordan@digium.com>
- * res/res_agi.c, main/file.c, main/app.c, CHANGES,
- include/asterisk/frame.h, apps/app_playback.c,
- apps/app_controlplayback.c, include/asterisk/file.h,
- main/channel.c, funcs/func_frame_trace.c: Add ControlPlayback
- manager action This patch adds the capability for asynchronous
- manipulation of audio being played back to a channel though a new
- AMI action "ControlPlayback". The ControlPlayback action supports
- a number of operations, the availability of which depend on the
- application being used to send audio to the channel. When the
- audio playback was initiated using the ControlPlayback
- application or CONTROL STREAM FILE AGI command, the audio can be
- paused, stopped, restarted, reversed, or skipped forward. When
- initiated by other mechanisms (such as the Playback application),
- the audio can be stopped, reversed, or skipped forward. Review:
- https://reviewboard.asterisk.org/r/2265/ (closes issue
- ASTERISK-20882) Reported by: mjordan
- * /, apps/app_meetme.c: Fix station ringback; trunk hangup issues
- in SLA This patch fixes two bugs: * If an outbound call is made
- from a SLA phone using SLAStation, then there is no ringtone
- audible to the phone that originates the call. The indication of
- the ringing was not being passed to the SLA station; this patch
- fixes that by passing through the progress indications. * If an
- SLA station hangs up before the called party answers, then the
- channel to the called party continues to ring until a timeout
- occurs. If the called party manages to answer, Asterisk attempts
- to connect the called party to a non-existant MeetMe room. This
- patch corrects the behavior by abandoning the call attempt if it
- detects that the SLA station is no longer in use while attempting
- to call the called party. Review:
- https://reviewboard.asterisk.org/r/2275/ (closes issue
- ASTERISK-20462) Reported by: dkerr patches:
- asterisk-11-bugid20440+20462.patch uploaded by dkerr (license
- 5558) asterisk-11-bugid20462.patch uploaded by dkerr (license
- 5558) (closes issue ASTERISK-20440) Reported by: dkerr patches:
- asterisk-11-bugid20440.patch uploaded by dkerr (license 5558)
- asterisk-11-bugid20440+20462.patch uploaded by dkerr (license
- 5558) ........ Merged revisions 379825 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379826 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-22 00:36 +0000 [r379809] Richard Mudgett <rmudgett@digium.com>
- * /, channels/chan_bridge.c, apps/app_confbridge.c: confbridge:
- Minor fixes playing user counts to the conference. * Generate a
- warning message if sound files do not exist when trying to play
- the user count to the conference. Use the new helper routine
- sound_file_exists() for consistency. * Put the new user into
- autoservice when playing user counts to the conference. * Check
- the return value of ast_bridge_impart(). ........ Merged
- revisions 379808 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-21 20:41 +0000 [r379791] Matthew Jordan <mjordan@digium.com>
- * /, contrib/init.d/rc.redhat.asterisk,
- contrib/init.d/rc.gentoo.asterisk,
- contrib/init.d/rc.slackware.asterisk,
- contrib/init.d/rc.archlinux.asterisk,
- contrib/scripts/safe_asterisk, main/asterisk.c,
- contrib/init.d/rc.suse.asterisk,
- contrib/init.d/rc.mandriva.asterisk,
- contrib/init.d/rc.debian.asterisk: Update init.d scripts to
- handle stderr; readd splash screen for remote consoles When
- r376428 was commited to re-order start up sequences to be more
- tolerant of forking with thread primitives, a few items were
- changed that caused changes in behavior on some distros. This
- includes: * Not displaying the splash screen on a remote console.
- * Displaying an error message on stderr when a remote console
- cannot connect to a running instance of Asterisk. In the first
- case, the splash screen was re-added (thanks to Michael L.
- Young). In the second case, the various init.d scripts were
- modified to pipe stderr to /dev/null, as the error message is
- useful - if you execute a remote console or a remote console
- command execution and it fail, it should tell you. Note that the
- error message was always present, it just failed to be printed
- prior to r376428. Much thanks to the folks who quickly reported
- this problem, provided solutions, and promptly tested the various
- init.d scripts on a variety of distros. (closes issue
- ASTERISK-20945) Reported by: Warren Selby Tested by: Michael L.
- Young, Jamuel Starkey, kaldemar, Danny Nicholas, mjordan patches:
- asterisk-20945-remote-intro-msg.diff uploaded by elguero (license
- 5026) ASTERISK-20945-1.8-mjordan.diff uploaded by mjordan
- (license 6283) ........ Merged revisions 379760 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379777 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 379790 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-21 20:35 +0000 [r379753-379789] Richard Mudgett <rmudgett@digium.com>
- * bridges/bridge_builtin_features.c, main/bridging.c: Better
- protect bridge_channel state from other threads.
- * main/bridging.c: Extract common bridging code into bridge_stop()
- and bridge_force_out_all().
- * bridges/bridge_builtin_features.c,
- include/asterisk/bridging_features.h,
- include/asterisk/bridging.h, main/bridging.c: Made some bridging
- API calls void. Some bridging comments updated.
- 2013-01-21 18:47 +0000 [r379721] Kinsey Moore <kmoore@digium.com>
- * codecs/codec_ilbc.c, /: Prevent segfault for interpolated iLBC
- frames When iLBC is being used with a jitter buffer and the jb
- has to interpolate frames, it generates frames with a null
- pointer and a non-zero datalen. This is now handled properly.
- (closes issue ASTERISK-20914) Reported By: John McEleney Patches:
- ASTERISK-20914-1.8.diff uploaded by Matt Jordan (license 6283)
- ........ Merged revisions 379718 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379719 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-21 18:45 +0000 [r379703-379720] Richard Mudgett <rmudgett@digium.com>
- * main/bridging.c: Trivial bridge code cleanup.
- * include/asterisk/bridging_features.h,
- include/asterisk/bridging.h,
- include/asterisk/bridging_technology.h,
- bridges/bridge_builtin_features.c: Bridge API comment tweaks.
- 2013-01-21 07:26 +0000 [r379678] Damien Wedhorn <voip@facts.com.au>
- * /, channels/chan_skinny.c: Fix device call logging issues in
- skinny Skinny device call logging (ie missed, place and received
- calls) has issues because the incorrect sequence of callstates
- is/can be sent to the device. This patch removes some extra
- callstate updates driven by forces external to skinny and ensures
- the needed intermediary callstate messages are sent. (closes
- issue ASTERISK-20964) Reported by: wedhorn Tested by: snuffy,
- myself Patches: ast11-skinny-calllog01.diff uploaded by wedhorn
- (license 5019) ........ Merged revisions 379677 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-21 04:50 +0000 [r379644] Andrew Latham <lathama@gmail.com>
- * contrib/scripts/install_prereq, /: Add LDAP libraries to install
- script Add LDAP dev package to Debian/Ubuntu install list.
- Existed in Redhat already. (issue ASTERISK-20886) ........ Merged
- revisions 379643 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-21 04:17 +0000 [r379610-379612] Matthew Jordan <mjordan@digium.com>
- * /, apps/app_minivm.c: Fix crash in app_minivm when mime encoding
- string An incorrect string initializations was left in
- ast_str_encode_mime from the patch that converted string
- manipulations to use ast_str strings (r191140). The string
- initialization causes a crash when ast_str_set is called on the
- string later on in the function. (closes issue ASTERISK-18697)
- Reported by: Chris Boot patches:
- minivm-null-pointer-dereference-fix.patch uploaded by bootc
- (license 6309) (issue ASTERISK-20854) Reported by: Chris Warr
- Tested by: Chris Warr ........ Merged revisions 379608 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379609 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /: Re-add merge properties
- 2013-01-20 03:06 +0000 [r379583] Damien Wedhorn <voip@facts.com.au>
- * /, channels/chan_skinny.c: Fix issues with skinny sessions Fixes
- a couple of issues with the way skinny handles sessions by
- ensuring sessions aren't used after being freed. Some other minor
- changes. Review: https://reviewboard.asterisk.org/r/2272/
- ........ Merged revisions 379582 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-19 20:54 +0000 [r379549] Walter Doekes <walter+asterisk@wjd.nu>
- * configure.ac, /, configure, include/asterisk/autoconfig.h.in,
- include/asterisk/compat.h, main/strcompat.c: Add builtin roundf()
- for systems lacking it. (closes issue ASTERISK-16854) Review:
- https://reviewboard.asterisk.org/r/2276 Reported-by: Ovidiu Sas
- ........ Merged revisions 379547 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379548 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-19 00:19 +0000 [r379518] Matthew Jordan <mjordan@digium.com>
- * main/asterisk.c, /: Fix astcanary startup problem due to wrong
- pid value from before daemon call When Asterisk forks itself into
- the background via a call to daemon, it must re-set the pid value
- of the new process. Otherwise, astcanary gets the pid value of
- the process before the fork, which prevents it from running.
- Asterisk eventually starts lowering its priority, as it can no
- longer communicate with the proverbial canary in the coal mine.
- This patch ensures that the correct process identifier is used by
- astcanary. Note that this is getting committed to 10 as a
- regression fix. (closes issue ASTERISK-20947) Reported by: Jakob
- Hirsch Tested by: mjordan patches:
- asterisk-10.12.0.astcanary_ppid.diff uploaded by Jakob Hirsch
- (license 6113) ........ Merged revisions 379509 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379510 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 379513 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-18 22:42 +0000 [r379495] David M. Lee <dlee@digium.com>
- * configure, main/Makefile, configure.ac, Makefile: Up the minimum
- OS X version to 10.6. * This allows us to remove some
- special-case build logic. * 10.5 is down to less that 8% of the
- OS X market share. 10.4 is down to under 2%. * Apple is no longer
- releasing security updates for 10.5 and earlier.
- 2013-01-18 21:52 +0000 [r379479] Kinsey Moore <kmoore@digium.com>
- * /, apps/app_confbridge.c: Fix regression in Confbridge user count
- When the restructuring work got committed to Confbridge in
- r375470 to fix many open issues, it caused a regression in the
- reported count of users when conference information was requested
- via CLI or manager. This corrects the user count and user
- information displayed when listing conference information from
- the CLI and manager. (closes issue ASTERISK-20938) Reported By:
- Timo Teras Patches: confbridge-list.patch uploaded by Timo Teras
- (license 5409) ........ Merged revisions 379478 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-18 21:35 +0000 [r379477] David M. Lee <dlee@digium.com>
- * /, configure, main/Makefile, configure.ac, UPGRADE-11.txt,
- UPGRADE.txt, makeopts.in, Makefile: Specify the -rpath linker
- flag when prefix != /usr. This allows Asterisk to start without
- having to specify the LD_LIBRARY_PATH. This can be disabled by
- passing --disable-rpath to configure. (closes issue
- ASTERISK-20407) Reported by: David M. Lee Review:
- https://reviewboard.asterisk.org/r/2132/ ........ Merged
- revisions 379475 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-18 18:25 +0000 [r379461] Jonathan Rose <jrose@digium.com>
- * /, apps/app_voicemail.c: app_voicemail: Improve msg_id handling
- app_voicemail will no longer issue error messages when it
- retrieves an msg_id with a NULL value from realtime and will
- instead simply populate the msg_id field with a newly generated
- msg_id. In addition, this patch changes the way msg_ids are
- generated to eliminate certain causes of duplicate IDs appearing
- within a single system. In addition, when messages are copied,
- they will now receive a new msg_id. (closes issue ASTERISK-20717)
- Reported by: Alec Davis Review:
- https://reviewboard.asterisk.org/r/2220/ ........ Merged
- revisions 379460 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-18 15:42 +0000 [r379432] Mark Michelson <mmichelson@digium.com>
- * main/threadpool.c (added), main/taskprocessor.c,
- include/asterisk/threadpool.h (added), /,
- include/asterisk/taskprocessor.h, tests/test_threadpool.c
- (added), tests/test_taskprocessor.c (added): Add threadpool
- support to Asterisk. This commit consists of two parts. Part one
- changes the taskprocessor API to be less self-contained. Instead,
- the taskprocessor is now more of a task queue that informs a
- listener of changes to the queue. The listener then has the
- responsibility of executing the tasks as it pleases. There is a
- default listener implementation that functions the same way as
- "classic" taskprocessors, in that it creates a single thread for
- tasks to execute in. Old users of taskprocessors have not been
- altered and still function the same way. Part two introduces the
- threadpool API. A threadpool is a special type of taskprocessor
- listener that has multiple threads associated with it. The
- threadpool also has an optional listener that can adjust the
- threadpool as conditions change. In addition the threadpool has a
- set of options that can allow for the threadpool to grow and
- shrink on its own as tasks are added and executed. Both set of
- changes contain accompanying unit tests. (closes issue
- ASTERISK-20691) Reported By: Matt Jordan Review:
- https://reviewboard.asterisk.org/r/2242
- 2013-01-18 05:31 +0000 [r379394] David M. Lee <dlee@digium.com>
- * channels/sip/include/reqresp_parser.h, /, channels/chan_sip.c,
- channels/sip/reqresp_parser.c: Fix Record-Route parsing for large
- headers. Record-Route parsing copied the header into a char[256]
- array, which can be a problem if the header is longer than that.
- This patch parses the header in place, without the copy, avoiding
- the issue. In addition to the original patch, I added a unit test
- for the new get_in_brackets_const function. (closes issue
- ASTERISK-20837) Reported by: Corey Farrell Patches:
- chan_sip-build_route-optimized-rev1.patch uploaded by Corey
- Farrell (license 5909) (with minor changes by dlee) ........
- Merged revisions 379392 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379393 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-17 02:32 +0000 [r379344] Matthew Jordan <mjordan@digium.com>
- * addons/chan_mobile.c, /: Fix issue where chan_mobile fails to
- bind to first available port Per the bluez API, in order to bind
- to the first available port, the rc_channel field of the socket
- addressing structure used to bind the socket should be set to 0.
- Previously, Asterisk had set the rc_channel field set to 1,
- causing it to connect to whatever happens to be on port 1. We
- could probably not explicitly set rc_channel to 0 since we memset
- the struct earlier, but explicitly setting it will hopefully
- prevent someone from coming in and setting it to some explicit
- port in the future. (closes issue ASTERISK-16357) Reported by:
- challado Tested by: Alexander Heinz, Nikolay Ilduganov, benjamin,
- eliafino, David van Geyn patches: ASTERISK-16357.diff uploaded by
- Nikolay Ilduganov (license 6253) ........ Merged revisions 379342
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 379343 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-16 22:51 +0000 [r379312] Mark Michelson <mmichelson@digium.com>
- * /, main/manager.c: Further fix misinformation in the description
- of manager MailboxStatus command. The description still claimed
- that it returned the number of messages rather than whether there
- were messages waiting. ........ Merged revisions 379310 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379311 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-16 21:13 +0000 [r379278] Jason Parker <jparker@digium.com>
- * contrib/scripts/install_prereq, /: Reduce number of packages
- install_prereq installs on Debian systems. 'search' will look for
- any package containing the name provided, so we need to force a
- more exact search. ........ Merged revisions 379276 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379277 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-16 18:09 +0000 [r379231-379233] Richard Mudgett <rmudgett@digium.com>
- * /, main/logger.c: Reduce call-id logging resource usage. Since
- there is no need for the call-id logging ao2 object to have a
- lock, don't create it with one. ........ Merged revisions 379232
- from http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_misdn.c, /: chan_misdn: Fix compile error. (issue
- ASTERISK-15456) ........ Merged revisions 379226 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379230 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-16 17:46 +0000 [r379144-379229] Matthew Jordan <mjordan@digium.com>
- * /, res/res_xmpp.c, res/res_jabber.c, doc/appdocsxml.dtd: Let
- documentation reference links specify which module they're
- linking to Again, since res_jabber/res_xmpp have duplicate APIs,
- their documentation ref links have to specify which reference
- they're referring to. The various documentation parsers can
- interpret the module attribute however they want in order to
- construct the appropriate links. ........ Merged revisions 379228
- from http://svn.asterisk.org/svn/asterisk/branches/11
- * /, res/res_xmpp.c, res/res_jabber.c, doc/appdocsxml.dtd: Multiple
- revisions 379209-379210 ........ r379209 | mjordan | 2013-01-16
- 09:27:44 -0600 (Wed, 16 Jan 2013) | 8 lines Add module tags to
- documentation for res_jabber/res_xmpp Since res_jabber/res_xmpp
- provide the same APIs (app/func/manager/etc.), the XML
- documentation for each needs to call out which module is
- providing the documentation. The module attribute has been added
- to the various XML fragments for this purpose. ........ r379210 |
- mjordan | 2013-01-16 09:30:20 -0600 (Wed, 16 Jan 2013) | 4 lines
- Update the dtd to actually *support* the module attribute in all
- elements Mea culpa. ........ Merged revisions 379209-379210 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * addons/chan_mobile.c, /: Fix parsing SMSSRC for SMS messages The
- parser for SMS messages would incorrectly parse out the from
- number. The parsing would incorrectly start scanning for the from
- number at the same index as the first double quote ("); this
- would inadvertently cause it to treat the first double quote as
- the terminating double quote for the from number as well. The
- SMSSRC should now populate correctly. (closes issue
- ASTERISK-16822) Reported by: menschentier Tested by: Jonas Falck
- patches: fixSMSSRC.patch uploaded by jonax (license 6320) (closes
- issue ASTERISK-19153) Reported by: Panos Gkikakis patches:
- sms-sender-fix.diff uploaded by roeften (license 5884) ........
- Merged revisions 379178 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379179 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_misdn.c, /: Set the INVALID_EXTEN channel variable
- when chan_misdn forces the 'i' extension The chan_misdn channel
- driver will send a channel with an invalid destination to the 'i'
- extension itself if said extension can be reached. It forgot,
- however, to set the INVALID_EXTEN channel variable when it
- bounces the channel to this extension. Dialplan writers
- everywhere moaned at yet another inconsistency. This is yet
- another example of why duplicating logic in multiple places
- results in bugs that stick around in Jira for just under three
- years. Yes: ASTERISK-15456 was created on January 18th, 2010.
- Patch committed on January 15th, 2013. Ouch. (closes issue
- ASTERISK-15456) Reported by: Thomas Omerzu patches:
- chan_misdn_invalid.patch2 uploaded by Thomas Omerzu (license
- 5927) ........ Merged revisions 379145 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379146 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * CHANGES, addons/chan_mobile.c: Add busy detection to chan_mobile
- From the patch author: "First this patch adds general support for
- busy detection. It also adds support for the ECAM command at Sony
- Ericsson phones and also signals busy when only early media was
- received but the call got not answered." Review:
- https://reviewboard.asterisk.org/r/323 (closes issue
- ASTERISK-14527) Reported by: Artem Makhutov Tested by: Artem
- Makhutov patches: busy-full5.patch uploaded by artem (license
- 5757)
- 2013-01-15 22:23 +0000 [r379128] Richard Mudgett <rmudgett@digium.com>
- * main/bridging.c: Fix ast_bridge_features_register() not
- registering builtin features. I broke. Ooops.
- 2013-01-14 21:47 +0000 [r379021-379070] David M. Lee <dlee@digium.com>
- * include/asterisk/test.h: Fixed doc comment for ast_test_validate
- * UPGRADE.txt, include/asterisk/manager.h, main/channel.c: Gently
- reduce masquerade insanity Masquerades are an insane
- implementation detail within Asterisk. It generates a number of
- useless and confusing events, and manipulates channels in a way
- that semantically doesn't make sense. I've given a fairly
- thorough review of masquerade code and its usage on the wiki at
- https://wiki.asterisk.org/wiki/x/IwBRAQ. While ultimately it
- makes the most sense to abandon masquerades altogether, it will
- take some time to completely irradicate. Even then, there may
- always be code that's not worth rewriting to get rid of the
- masquerade. This patch does two things to make masquerades
- slightly less insane: * When swapping the names of the original
- and clone channel, only emit a single rename event of original ->
- original<ZOMBIE>. The original code issued three rename events to
- accomplish the same end. * In addition to swapping the names of
- the channels, also swap their uniqueid's. This allows the
- 'Uniqueid' field to be used as a stable identifier for a channel
- from and external interface, such as AMI. Review:
- https://reviewboard.asterisk.org/r/2266/
- * /, channels/chan_sip.c: Fix XML encoding of 'identity display' in
- NOTIFY messages, continued. When r378933 was merged into 1.8, it
- should have also escaped remote_display, since it will have the
- same XML encoding problem when the caller/callee roles are
- reversed. (closes issue ABE-2902) Reported by: Guenther Kelleter
- ........ Merged revisions 379001 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 379020 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-13 22:07 +0000 [r378985] Matthew Jordan <mjordan@digium.com>
- * res/res_rtp_asterisk.c, /: Reset RTP timestamp; sequence number
- on SSRC change In r370252 for ASTERISK-18404, Asterisk's handling
- of RTP was modified to better account for out of order RTP
- packets. This was accomplished by using the RTP timestamp and
- sequence number to check for out of order packets. However, when
- a SSRC change occurs, the timestamp and sequence number will no
- longer have any relation to the previously received packets. The
- variables tracking the timestamp and sequence number therefore
- have to be reset. (closes issue ASTERISK-20906) Reported by:
- Eelco Brolman patches: dtmf_on_hold.patch uploaded by Eelco
- Brolman (license #6442) ........ Merged revisions 378967 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378984 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-12 06:43 +0000 [r378935] David M. Lee <dlee@digium.com>
- * include/asterisk/utils.h, /, channels/chan_sip.c,
- tests/test_xml_escape.c (added), main/utils.c: Fix XML encoding
- of 'identity display' in NOTIFY messages. XML encoding in
- chan_sip is accomplished by naively building the XML directly
- from strings. While this usually works, it fails to take into
- account escaping the reserved characters in XML. This patch adds
- an 'ast_xml_escape' function, which works similarly to
- 'ast_uri_encode'. This is used to properly escape the
- local_display attribute in XML formatted NOTIFY messages. Several
- things to note: * The Right Thing(TM) to do would probably be to
- replace the ast_build_string stuff with building an ast_xml_doc.
- That's a much bigger change, and out of scope for the original
- ticket, so I refrained myself. * It is with great sadness that I
- wrote my own ast_xml_escape function. There's one in libxml2, but
- it's knee-deep in libxml2-ness, and not easily used to one-off
- escape a string. * I only escaped the string we know is causing
- problems (local_display). At least some of the other strings are
- URI-encoded, which should be XML safe. Rather than figuring out
- what's safe and escaping what's not, it would be much cleaner to
- simply build an ast_xml_doc for the messages and let the XML
- library do the XML escaping. Like I said, that's out of scope.
- (closes issue ABE-2902) Reported by: Guenther Kelleter Tested by:
- Guenther Kelleter Review:
- http://reviewboard.digium.internal/r/365/ ........ Merged
- revision 378919 from
- https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
- ........ Merged revisions 378933 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378934 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-11 23:05 +0000 [r378918] Joshua Colp <jcolp@digium.com>
- * res/res_xmpp.c, /: Retain XMPP filters across reconnections so
- external modules continue to function as expected. Previously if
- an XMPP client reconnected any filters added by an external
- module were lost. This issue exhibited itself with chan_motif not
- receiving and reacting to Jingle signaling. (closes issue
- ASTERISK-20916) Reported by: kuj ........ Merged revisions 378917
- from http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-11 22:31 +0000 [r378915] David M. Lee <dlee@digium.com>
- * include/asterisk/json.h (added), makeopts.in, tests/test_json.c
- (added), contrib/scripts/install_prereq, res/res_json.c (added),
- include/asterisk/test.h, build_tools/menuselect-deps.in,
- configure, include/asterisk/autoconfig.h.in, main/Makefile,
- res/res_json.exports.in (added), configure.ac: Add JSON API for
- Asterisk. This provides a JSON API by pulling in and wrapping the
- Jansson JSON library[1]. The Asterisk API basically mirrors the
- Jansson functionality, with a few minor tweaks. * Some names have
- been asteriskified to protect the innocent. * Jansson provides
- both reference-stealing and reference-borrowing versions of
- several API's. The Asterisk API is exclusively reference-stealing
- for operations that put elements into arrays and objects. * No
- support for doubles, since we usually don't need that. * Coming
- along for the ride is the ast_test_validate macro, which made the
- unit tests much easier to write. [1]:
- http://www.digip.org/jansson/ (issue ASTERISK-20887) (closes
- issue ASTERISK-20888) Review:
- https://reviewboard.asterisk.org/r/2264/
- 2013-01-10 02:40 +0000 [r378789-378889] Richard Mudgett <rmudgett@digium.com>
- * main/channel.c: * Simplify native bridge code in
- ast_channel_bridge(). * Fix an unbalanced
- manager_bridge_event(unlink) call if AST_SOFTHANGUP_UNBRIDGE is
- set in ast_channel_bridge(). * Make ast_channel_bridge() use
- common cleanup code when leaving the bridge.
- * main/channel.c: * Removed some noop code and restructured an
- else-if ladder in ast_generic_bridge(). * Trivial changes in
- ast_channel_bridge().
- * main/channel.c: * Simple optimization of bridge_playfile(). *
- Squeezed some redundancy out of update_bridge_vars(). * Wrapped
- long line in __ast_change_name_nolink().
- * bridges/bridge_softmix.c, bridges/bridge_multiplexed.c: Trivial
- misc bridge code changes. * softmix_bridge_thread() was
- redundantly initializing an 8K buffer. * Promoted a debug message
- to a warning in multiplexed_add_or_remove().
- * main/logger.c: Fix logger.c function definition.
- * bridges/bridge_multiplexed.c, main/bridging.c,
- include/asterisk/bridging_features.h, bridges/bridge_simple.c:
- Trivial misc bridge code changes.
- * include/asterisk/test.h, main/test.c: Tweaked
- __ast_test_suite_assert_notify() and
- __ast_test_suite_event_notify() to be void functions.
- * include/asterisk/test.h, main/test.c: * Whitespace changes. *
- Made ast_test_init() match its prototype.
- * main/udptl.c, main/rtp_engine.c: * Found some more places to use
- ast_channel_lock_both(). * Minor optimization in
- ast_rtp_instance_early_bridge().
- 2013-01-09 20:30 +0000 [r378735-378783] David M. Lee <dlee@digium.com>
- * main/rtp_engine.c, /: Fix end condition in
- ast_rtp_lookup_mime_multiple2. The erroneous end condition would
- never include the AST_RTP_CISCO_DTMF flag in the debug output.
- (closes issue ASTERISK-20772) Reported by: Xavier Hienne ........
- Merged revisions 378776 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378780 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, include/asterisk/strings.h: Move declaration of
- ast_regex_string_to_regex_pattern futher down strings.h. The
- prior location is before the declaration of struct ast_str, which
- causes compiler warnings. (closes issue ASTERISK-20852) Reported
- by: Pavel Troller Patches: strings.diff uploaded by Pavel Troller
- (license 6302) ........ Merged revisions 378747 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, include/asterisk/causes.h: Replace errant tabs with spaces in
- causes.h. (closes issue ASTERISK-20826) Reported by: snuffy
- Patches: notabs.dif uploaded by snuffy (license 5024) ........
- Merged revisions 378733 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378734 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-09 00:05 +0000 [r378688-378691] Richard Mudgett <rmudgett@digium.com>
- * apps/app_queue.c, /: app_queue: Fix incorrect assertion. (issue
- ASTERISK-16115) ........ Merged revisions 378689 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 378690 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * CHANGES, apps/app_queue.c, /, configs/queues.conf.sample,
- UPGRADE.txt: app_queue: Fix multiple calls to a queue member that
- is in only one queue. When ringinuse=no queue members can receive
- more than one call if these calls happen at nearly the same time.
- * Fix so a queue member does not receive more than one call from
- a queue. NOTE: This fix does not prevent multiple calls to a
- member if the member is in more than one queue. * Did some
- refactoring to eliminate some code redundancy. (issue
- ASTERISK-16115) Reported by: nik600 Patches:
- jira_asterisk_16115_single_q_v1.8.patch (license #5621) patch
- uploaded by rmudgett Modified * Revert the -r341580 and -r341599
- changes adding the queues.conf check_state_unknown option as it
- was added in an attempt to fix this problem. The fix did not need
- to be optional. The fix should not have tried to explicitly set
- the device state. Setting the device state by something other
- than the device introduces a race condition. I also could not see
- how the change would be effective other than delaying the
- app_queue code long enough for the device state to propagate to
- app_queue. ........ Merged revisions 378663 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378683 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 378687 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-06 21:37 +0000 [r378623-378634] Damien Wedhorn <voip@facts.com.au>
- * channels/chan_skinny.c: Skinny blob cleanup Cleanup of red blobs
- in chan_skinny and possible other small formatting issues.
- Review: https://reviewboard.asterisk.org/r/2262/
- * channels/chan_skinny.c: Add group and namedgroup pickup to skinny
- Above says it all. Code by snuff, cleaned up by me. Review:
- https://reviewboard.asterisk.org/r/2246/
- * /, channels/chan_skinny.c: Rewrite skinny dialing to remove
- threaded simpleswitch This rewrite changes skinny dialing from
- the threaded simpleswitch to a scheduled timeout approach. There
- were some underlying issues with the threaded simple switch with
- occasional corruption and possible segfaults. Review:
- https://reviewboard.asterisk.org/r/2240/ ........ Merged
- revisions 378622 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-04 23:14 +0000 [r378593] Jonathan Rose <jrose@digium.com>
- * res/res_srtp.c, /: res_srtp: Prevent a crash from occurring due
- to srtp_create failures in srtp_create Under some circumstances,
- libsrtp's srtp_create function deallocates memory that it wasn't
- initially responsible for allocating. Because we weren't
- initially aware of this behavior, this memory was still used in
- spite of being unallocated during the course of the
- srtp_unprotect function. A while back I made a patch which would
- set this value to NULL, but that exposed a possible condition
- where we would then try to check a member of the struct which
- would cause a segfault. In order to address these problems,
- ast_srtp_unprotect will now set an error value when it ends
- without a valid SRTP session which will result in the caller of
- srtp_unprotect observing this error and hanging up the relevant
- channel instead of trying to keep using the invalid session
- address. (closes issue ASTERISK-20499) Reported by: Tootai
- Review:
- https://reviewboard.asterisk.org/r/2228/diff/#index_header
- ........ Merged revisions 378591 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378592 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-04 22:19 +0000 [r378585] Kinsey Moore <kmoore@digium.com>
- * res/pjproject/aconfigure, res/pjproject/aconfigure.ac, /,
- res/pjproject/build/common.mak: Fix pjproject compilation in
- certain circumstances On a fresh checkout of Asterisk 11, running
- make before ./configure could cause the pjproject subdirectory to
- get in an odd state that would prevent compilation. This patch by
- Tilghman prevents that from occurring. (closes issue
- ASTERISK-20681) Reported by: Dinesh Ramjuttun Tested by: danilo
- borges, Steve Lang patches: 20121208__ccar_solved.diff.txt
- uploaded by Tilghman Lesher (license 5003) ........ Merged
- revisions 378582 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-04 21:20 +0000 [r378565] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c: Fix SIP Notify Messages To Have The
- Proper IP Address In The FROM Field On a multihomed server when
- sending a NOTIFY message, we were not figuring out which network
- should be used to contact the peer. This patch fixes the problem
- by calling ast_sip_ouraddrfor() and then build_via() so that our
- NOTIFY message contains the correct IP address. Also, a debug
- message is being added to help follow the call-id changes that
- occur. This was helpful for confirming that the IP address was
- set properly since the call-id contains the IP address. It also
- will be helpful for troubleshooting purposes when following a
- call in the debug logs. (closes issue ASTERISK-20805) Reported
- by: Bryan Hunt Tested by: Bryan Hunt, Michael L. Young Patches:
- asterisk-20805-notify-ip-v2.diff uploaded by Michael L. Young
- (license 5026) Review: https://reviewboard.asterisk.org/r/2255/
- ........ Merged revisions 378554 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378559 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-04 21:18 +0000 [r378557] Joshua Colp <jcolp@digium.com>
- * /, res/res_rtp_asterisk.c: Don't pass STUN packets through the
- SRTP unprotect function. (closes issue AST-1036) Reported by:
- jbigelow ........ Merged revisions 378553 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378555 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-04 16:44 +0000 [r378543] Andrew Latham <lathama@gmail.com>
- * res/res_config_ldap.c: Doxygen Cleanups Baseline clean up of
- formating to make room for extended documentation (issue
- ASTERISK-20259)
- 2013-01-03 22:14 +0000 [r378516] Michael L. Young <elgueromexicano@gmail.com>
- * apps/app_queue.c, /: Fix Queue Log Reporting Every Call
- COMPLETECALLER With "h" Extension Present When the "h" extension
- is present within the context of the queue, all calls are being
- reported COMPLETECALLER even when the agent is hanging up the
- call. This patch checks to see if the agent hung-up or not
- instead of only relying on checking if the queue (caller) channel
- hung-up or not. It would appear that having the h extension in
- the mix, the pbx goes to the h extension, "hanging-up" the queue
- channel and triggering the reporting of COMPLETECALLER. (closes
- issue ASTERISK-20743) Reported by: call Tested by: call, Michael
- L. Young Patches: asterisk-20743-q-cmplt-caller.diff uploaded by
- Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2256/ ........ Merged
- revisions 378514 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378515 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-03 19:42 +0000 [r378488] Richard Mudgett <rmudgett@digium.com>
- * /, channels/chan_agent.c: chan_agent: Fix wrapup time wait
- response. * Made agent_cont_sleep() and agent_ack_sleep() stop
- waiting if the wrapup time expires. agent_cont_sleep() had tried
- but returned the wrong value to stop waiting. * Made
- agent_ack_sleep() take a struct agent_pvt pointer instead of a
- void pointer for better type safety. ........ Merged revisions
- 378486 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 378487 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-03 18:51 +0000 [r378460] Kinsey Moore <kmoore@digium.com>
- * main/channel.c, /: Add missing test event This test event was
- missing from channel.c causing the dial_LS_options test to fail
- intermittently because of a race condition where most code paths
- emitted the test event but this one did not. The dial_LS_options
- test should stop bouncing now. ........ Merged revisions 378455
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 378459 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-03 18:47 +0000 [r378429-378458] Richard Mudgett <rmudgett@digium.com>
- * /, channels/chan_agent.c: chan_agent: Misc code cleanup. * Fix
- off-nominal path resource cleanup in agent_request(). * Create
- agent_pvt_destroy() to eliminate inlined versions in many places.
- * Pull invariant code out of loop in add_agent(). * Remove
- redundant module user references in login_exec(). * Remove unused
- struct agent_pvt logincallerid[] member. ........ Merged
- revisions 378456 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378457 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_agent.c: chan_agent: Fix agent_indicate()
- locking. Avoid deadlock potential with local channels and
- simplify the locking. ........ Merged revisions 378427 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378428 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-03 16:04 +0000 [r378414] Tilghman Lesher <tilghman@meg.abyt.es>
- * apps/app_directory.c, contrib/realtime/mysql/voicemail.sql,
- configs/voicemail.conf.sample: Add aliases to the Directory. This
- is an interesting feature that allows additional strings to be
- used to search the Directory, primarily intended to be used with
- nicknames, but could be used with affiliations and the like.
- Because the name field is used in more than one place (such as
- email notifications), it is important that these additional
- strings not be placed in the name field, but be specified
- separately. Review: https://reviewboard.asterisk.org/r/2244/
- 2013-01-03 15:40 +0000 [r378412] Joshua Colp <jcolp@digium.com>
- * /, res/res_xmpp.c: Prevent exhaustion of system resources through
- exploitation of event cache This patch changes res_xmpp to no
- longer cache events under certain circumstances. (issue
- ASTERISK-20175) Reported by: Russell Bryant, Leif Madsen, Joshua
- Colp Tested by: kmoore ........ Merged revisions 378411 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-03 15:37 +0000 [r378377-378410] Matthew Jordan <mjordan@digium.com>
- * /, res/res_xmpp.c: Prevent crashes in res_xmpp when receiving
- large messages Similar to r378287, res_xmpp was marshaling data
- read from an external source onto the stack. For a sufficiently
- large message, this could cause a stack overflow. This patch
- modifies res_xmpp in a similar fashion to res_jabber by removing
- the stack allocation, as it was unnecessary. (issue
- ASTERISK-20658) Reported by: wdoekes ........ Merged revisions
- 378409 from http://svn.asterisk.org/svn/asterisk/branches/11
- * addons/app_mysql.c: Clean up app_mysql's application entry points
- to properly parse arguments When parsing arguments, application
- entry points should not attempt to directly modify the parameters
- to the function. This patch properly duplicates the passed in
- parameters before attempting to parse them. (issue
- ASTERISK-20658) Reported by: wdoekes patches:
- issueA20658_sanitize_app_mysql.patch uploaded by wdoekes (license
- 5674)
- * main/config.c, funcs/func_realtime.c, /: Prevent crashes from
- occurring when reading from data sources with large values When
- reading configuration data from an Asterisk .conf file or when
- pulling data from an Asterisk RealTime backend, Asterisk was
- copying the data on the stack for manipulation. Unfortunately, it
- is possible to read configuration data or realtime data from some
- data source that provides a large blob of characters. This could
- potentially cause a crash via a stack overflow. This patch
- prevents large sets of data from being read from an ARA backend
- or from an Asterisk conf file. (issue ASTERISK-20658) Reported
- by: wdoekes Tested by: wdoekes, mmichelson patches: *
- issueA20658_dont_process_overlong_config_lines.patch uploaded by
- wdoekes (license 5674) * issueA20658_func_realtime_limit.patch
- uploaded by wdoekes (license 5674) ........ Merged revisions
- 378375 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 378376 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-02 21:23 +0000 [r378374] Richard Mudgett <rmudgett@digium.com>
- * main/features.c, include/asterisk/channel.h, main/manager.c, /:
- Fix AMI redirect action with two channels failing to redirect
- both channels. The AMI redirect action can fail to redirect two
- channels that are bridged together. There is a race between the
- AMI thread redirecting the two channels and the bridge thread
- noticing that a channel is hungup from the redirects. * Made the
- bridge wait for both channels to be redirected before exiting. *
- Made the AMI redirect check that all required headers are present
- before proceeding with the redirection. * Made the AMI redirect
- require that any supplied ExtraChannel exist before proceeding.
- Previously the code fell back to a single channel redirect
- operation. (closes issue ASTERISK-18975) Reported by: Ben Klang
- (closes issue ASTERISK-19948) Reported by: Brent Dalgleish
- Patches: jira_asterisk_19948_v11.patch (license #5621) patch
- uploaded by rmudgett Tested by: rmudgett, Thomas Sevestre, Deepak
- Lohani, Kayode Review: https://reviewboard.asterisk.org/r/2243/
- ........ Merged revisions 378356 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378358 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-02 18:11 +0000 [r378288-378322] Matthew Jordan <mjordan@digium.com>
- * main/event.c, apps/app_confbridge.c,
- apps/confbridge/conf_state_empty.c, funcs/func_devstate.c,
- res/res_calendar.c, include/asterisk/devicestate.h,
- channels/chan_local.c, /, main/ccss.c, channels/chan_sip.c,
- apps/app_meetme.c, main/channel_internal_api.c,
- channels/chan_agent.c, main/devicestate.c,
- include/asterisk/channel.h, res/res_jabber.c, apps/app_queue.c,
- channels/chan_iax2.c, main/channel.c, channels/chan_dahdi.c,
- channels/chan_skinny.c, include/asterisk/event_defs.h,
- main/features.c: Prevent exhaustion of system resources through
- exploitation of event cache Asterisk maintains an internal cache
- for devices in the event subsystem. The device state cache holds
- the state of each device known to Asterisk, such that consumers
- of device state information can query for the last known state
- for a particular device, even if it is not part of an active
- call. The concept of a device in Asterisk can include entities
- that do not have a physical representation. One way that this
- occurred was when anonymous calls are allowed in Asterisk. A
- device was automatically created and stored in the cache for each
- anonymous call that occurred; this was possible in the SIP and
- IAX2 channel drivers and through channel drivers that utilized
- the res_jabber/res_xmpp resource modules (Gtalk, Jingle, and
- Motif). These devices are never removed from the system, allowing
- anonymous calls to potentially exhaust a system's resources. This
- patch changes the event cache subsystem and device state
- management to no longer cache devices that are not associated
- with a physical entity. (issue ASTERISK-20175) Reported by:
- Russell Bryant, Leif Madsen, Joshua Colp Tested by: kmoore
- patches: event-cachability-3.diff uploaded by jcolp (license
- 5000) ........ Merged revisions 378303 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378320 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 378321 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/http.c, res/res_jabber.c, channels/sip/include/sip.h, /,
- channels/chan_sip.c: Resolve crashes due to large stack
- allocations when using TCP Asterisk had several places where
- messages received over various network transports may be copied
- in a single stack allocation. In the case of TCP, since multiple
- packets in a stream may be concatenated together, this can lead
- to large allocations that overflow the stack. This patch modifies
- those portions of Asterisk using TCP to either favor heap
- allocations or use an upper bound to ensure that the stack will
- not overflow: * For SIP, the allocation now has an upper limit *
- For HTTP, the allocation is now a heap allocation instead of a
- stack allocation * For XMPP (in res_jabber), the allocation has
- been eliminated since it was unnecesary. Note that the HTTP
- portion of this issue was independently found by Brandon Edwards
- of Exodus Intelligence. (issue ASTERISK-20658) Reported by:
- wdoekes, Brandon Edwards Tested by: mmichelson, wdoekes patches:
- ASTERISK-20658_res_jabber.c.patch uploaded by mmichelson (license
- 5049) issueA20658_http_postvars_use_malloc2.patch uploaded by
- wdoekes (license 5674) issueA20658_limit_sip_packet_size3.patch
- uploaded by wdoekes (license 5674) ........ Merged revisions
- 378269 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 378286 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 378287 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2013-01-01 19:02 +0000 [r378259] Andrew Latham <lathama@gmail.com>
- * contrib/scripts/install_prereq: Add UUID packages now required to
- configure In ASTERISK-20726 UUID was added to Asterisk. This
- commit is to add the dependancies to the install script
- 2013-01-01 17:10 +0000 [r378248-378249] Sean Bright <sean@malleable.com>
- * main/translate.c: Revert 378248. I changed the logic of this
- function unitentionally, pointed out by file.
- * main/translate.c: Bail out early when building an ast_trans_pvt
- and the translator doesn't supply a 'newpvt'
- 2012-12-31 14:46 +0000 [r378220] Kinsey Moore <kmoore@digium.com>
- * /, channels/chan_sip.c: Ensure chan_sip rejects encrypted streams
- without crypto info This ensures that Asterisk rejects encrypted
- media streams (RTP/SAVP audio and video) that are missing
- cryptographic keys and ensures that the incoming SDP is
- consistent with RFC4568 as far as having a crypto attribute
- present for any SAVP streams. Review:
- https://reviewboard.asterisk.org/r/2204/ ........ Merged
- revisions 378217 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378218 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 378219 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-20 21:51 +0000 [r378166] Richard Mudgett <rmudgett@digium.com>
- * main/channel.c, /: Give the causes[] a struct name. ........
- Merged revisions 378164 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378165 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-18 17:48 +0000 [r378122] Kinsey Moore <kmoore@digium.com>
- * main/channel.c, /: Add test events for time limit-related hangups
- This patch adds hangup-related test events in order to support
- testing of time-limited bridges. This aids in testing the S() and
- L() bridge options. (issue SWP-4713) ........ Merged revisions
- 378119 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 378120 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 378121 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-17 23:10 +0000 [r378081-378095] Richard Mudgett <rmudgett@digium.com>
- * main/loader.c, /: Fix potential double free when unloading a
- module. ........ Merged revisions 378092 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378093 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 378094 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_local.c, /: Make chan_local module references tied
- to local_pvt lifetime. The chan_local module references were
- manually tied to the existence of the ;1 and ;2 channel links. *
- Made chan_local module references tied to the existence of the
- local_pvt structure as well as automatically take care of the
- module references. * Tweaked the wording of the local_fixup()
- failure warning message to make sense. Review:
- https://reviewboard.asterisk.org/r/2181/ ........ Merged
- revisions 378088 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378089 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 378090 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_local.c: chan_local: Parse dial string
- consistently. * Fix local_alloc() unexpected limitation of exten
- and context length from a combined length of 80 characters to a
- normal 80 characters each. * Made local_alloc() and
- local_devicestate() parse the same way.
- 2012-12-17 20:59 +0000 [r378074] Jason Parker <jparker@digium.com>
- * /, main/Makefile: Make libasteriskssl.so symlink use a relative
- path. This was causing issues when using DESTDIR, since the path
- to which the link pointed is not likely to exist (and not useful
- to exist) on the target system. (issue ASTNOW-284) ........
- Merged revisions 378073 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-17 20:34 +0000 [r378072] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_local.c: chan_local: Misc lock and ref tweaks. *
- awesome_locking() does not need to thrash the pvt lock as much. *
- local_setoption() does not need to check for NULL pvt on cleanup
- since it will never be NULL. * Made ref the pvt before locking
- for consistency.
- 2012-12-14 22:45 +0000 [r378064] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_agent.c: chan_agent: Remove some duplicated code.
- No need to check for an agent twice. Santa does that.
- 2012-12-14 22:34 +0000 [r378063] Jonathan Rose <jrose@digium.com>
- * CHANGES, main/features.c, UPGRADE.txt: Features: BRIDGE_FEATURES
- variable automixmonitor support and use proper party
- BRIDGE_FEATURES did not previously support the automixmonitor
- feature. Now it does. In addition, the BRIDGE_FEATURES variable
- would not apply features to the proper party based on whether the
- feature option letter was in caps or in lowercase (both ways
- would apply it to the caller). Now uppercase applies to the
- caller while lowercase applies to the callee (like with the dial
- option)
- 2012-12-14 21:35 +0000 [r378029-378039] Richard Mudgett <rmudgett@digium.com>
- * apps/app_queue.c, /: app_queue: Revert bad ringinuse=no patch.
- With the option ringinuse=no set, the patch committed for
- ASTERISK-16115 causes non-SIP queue members to never be called
- because the device state is checked after a channel is created to
- determine if the member is busy. These queue members always get
- the "Member %s is busy, cannot dial" message. Most channel
- drivers other than chan_sip use the default device state
- handling. The default device-state state is considered in use or
- unknown if the channel exists or not respectively. (closes issue
- ASTERISK-20801) Reported by: rmudgett Patches:
- jira_asterisk_16115_revert_r370418_v1.8.patch (license #5621)
- patch uploaded by rmudgett ........ Merged revisions 378036 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 378037 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 378038 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/app_queue.c: app_queue: Make update_status() not return
- anything.
- 2012-12-14 01:55 +0000 [r378006-378011] Damien Wedhorn <voip@facts.com.au>
- * /, channels/chan_skinny.c: Fix skinny to recognise vmexten in
- general section of conf Fixup the vmexten so if globally set in
- general section will be honored by chan_skinny. Also get rid of
- the 'global_' part of variable name to match regexten. (closes
- issue ASTERISK-20790) Reported by: snuffy Tested by: snuffy,
- myself Patches: skinny-vm.diff uploaded by snuffy (license 5024)
- ........ Merged revisions 378010 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_skinny.c: Add g722 codec support to skinny (closes
- issue ASTERISK-20788) Reported by: snuffy Tested by: snuffy,
- myself Patches: skinny-g722.diff uploaded by snuffy (license
- 5024)
- 2012-12-13 21:28 +0000 [r378002] Richard Mudgett <rmudgett@digium.com>
- * apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c,
- apps/confbridge/conf_state.c, /,
- apps/confbridge/include/confbridge.h,
- include/asterisk/bridging.h: confbridge: Fix MOH on simultaneous
- user entry to a new conference. When two users entered a new
- conference simultaneously, one of the callers hears MOH. This
- happened if two unmarked users entered simultaneously and also if
- a waitmarked and a marked user entered simultaneously. * Created
- a confbridge internal MOH API to eliminate the inlined MOH
- handling code. Note that the conference mixing bridge needs to be
- locked when actually starting/stopping MOH because there is a
- small window between the conference join unsuspend MOH and
- actually joining the mixing bridge. * Created the concept of
- suspended MOH so it can be interrupted while conference join
- announcements to the user and DTMF features can operate. *
- Suspend any MOH until the user is about to actually join the
- mixing bridge of the conference. This way any pre-join file
- playback does not need to worry about MOH. * Made post-join
- actions only play deferred entry announcement files. Changing the
- user/conference state during that time is not protected or
- controlled by the state machine. (closes issue ASTERISK-20606)
- Reported by: Eugenia Belova Tested by: rmudgett Review:
- https://reviewboard.asterisk.org/r/2232/ ........ Merged
- revisions 377992 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377993 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-13 21:25 +0000 [r378001] Damien Wedhorn <voip@facts.com.au>
- * /, channels/chan_skinny.c: Minor fixes for chan_skinny
- Whitespace, change SUBSTATE_ONHOOK to correct SKINNY_ONHOOK and
- correct len of 2 strcmp in skinny_setdebug(). (see opticron's
- review on https://reviewboard.asterisk.org/r/2240/) ........
- Merged revisions 377991 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-13 21:20 +0000 [r378000] Sean Bright <sean@malleable.com>
- * res/res_calendar_exchange.c: Make generate_exchange_uuid() always
- return the passed ast_str pointer. I changed this code earlier to
- return NULL if it wasn't able to generate a UUID, whereas the
- earlier code would always return the ast_str that was passed in.
- Switch back to returning the ast_str, only set it to the empty
- string instead if UUID generation fails. We still do a validity
- check later which will catch this and blow up if necessary.
- 2012-12-13 21:15 +0000 [r377994] David M. Lee <dlee@digium.com>
- * /: Fixed svn merge property breakage from r377986
- 2012-12-13 18:28 +0000 [r377986] Damien Wedhorn <voip@facts.com.au>
- * /, channels/chan_skinny.c: Fix skinny debug tab completion Review
- the syntax of the 'skinny debug' command to show more than just
- 'show' for options to 'skinny debug' command. (closes issue
- ASTERISK-20789) Reported by: snuffy Tested by: snuffy, myself
- Patches: skinny-debug.diff uploaded by snuffy (license 5024)
- ........ Merged revisions 377985 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-13 16:43 +0000 [r377981] David M. Lee <dlee@digium.com>
- * configure.ac, configure, include/asterisk/autoconfig.h.in: Bail
- configure if it can't find libuuid.
- 2012-12-13 16:18 +0000 [r377977] Russell Bryant <russell@russellbryant.com>
- * configure.ac, main/utils.c, configure,
- include/asterisk/autoconfig.h.in: Remove compile time check
- HAVE_DEV_URANDOM. The code was doing a runtime check, anyway. The
- compile time check isn't always valid (cross-compiling,
- packages). Review: https://reviewboard.asterisk.org/r/2245/
- 2012-12-13 15:40 +0000 [r377975] Mark Michelson <mmichelson@digium.com>
- * main/taskprocessor.c: Re-add taskprocessor cleanup code that was
- removed by the UUID merge.
- 2012-12-13 15:37 +0000 [r377974] Sean Bright <sean@malleable.com>
- * res/res_calendar_exchange.c: Use the UUID API to generate and
- validate UUIDs for res_calendar_exchange. Currently the
- res_calendar_exchange module uses its own method of generating
- UUIDs using ast_random(). Now that we have a UUID API we should
- use that instead.
- 2012-12-13 15:37 +0000 [r377973] Mark Michelson <mmichelson@digium.com>
- * res/res_clialiases.c: The UUID commit removed changes made in
- res_clialiases.c This puts back in the changes that are designed
- to work around a memory leak fix in the CLI code.
- 2012-12-13 15:24 +0000 [r377972] David M. Lee <dlee@digium.com>
- * configure, include/asterisk/autoconfig.h.in, configure.ac: Fixed
- configure.ac to look for proper uuid.h file Introduced in
- r377846, the configure script was looking for uuid.h instead of
- uuid/uuid.h.
- 2012-12-13 15:22 +0000 [r377971] Brent Eagles <beagles@digium.com>
- * configs/sip.conf.sample, channels/sip/include/sip.h,
- channels/chan_sip.c: This change adds a SIP peer configuration
- feature to allow the peer's configured codecs to take precedence
- on an outgoing call. This change introduces a new peer
- configuration property named 'ignore_requested_pref' that causes
- the requested codec to be ignored when determining the preferred
- codec for an outgoing call leg. The consequence is that
- Asterisk's usual efforts to prefer avoiding transcoding can be
- overridden on a peer-by-peer basis where appropriate.
- 2012-12-13 14:28 +0000 [r377966] Kinsey Moore <kmoore@digium.com>
- * /, channels/chan_sip.c: Ensure Min-SE is included in outbound
- INVITEs Asterisk now includes Min-SE in outbound INVITEs when the
- value is not 90 (the default) and session timers are not
- disabled. This has the effect of Asterisk following RFC4028 more
- closely with regard to 422 responses and preventing situations in
- which Asterisk would be forced to temporarily accept a call to
- tear it down based on a Session-Expires below the locally
- configured Min-SE. (issue SWP-5051) Review:
- https://reviewboard.asterisk.org/r/2222/ Reported-by: Kinsey
- Moore Patch-by: Kinsey Moore ........ Merged revisions 377946
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 377947 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377948 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-12 22:43 +0000 [r377925] Rusty Newton <rnewton@digium.com>
- * sounds/Makefile, /: Incremented EXTRA_SOUNDS_VERSION in
- sounds/Makefile to 1.4.12 for new Extra Sounds releases See
- CHANGES-* files in English extra 1.4.12 tarballs for new sound
- prompts added. (closes ASTERISK-20328) Reported by: Matt Jordan
- (closes AST-755) Reported by: John Bigelow ........ Merged
- revisions 377922 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377923 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377924 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-12 04:43 +0000 [r377915] Michael L. Young <elgueromexicano@gmail.com>
- * main/features.c: Convert Dynamic Features Buffer To Use ast_str
- Currently, the buffer for the dynamic features list is set to a
- fixed size of 128. If the list is bigger than that, it results in
- the dynamic feature(s) not being recognized. This patch changes
- the buffer from a fixed size to a dynamic one. (closes issue
- ASTERISK-20680) Reported by: Clod Patry Tested by: Michael L.
- Young Patches: asterisk-20680-dynamic-features-v2.diff uploaded
- by Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2221/
- 2012-12-12 00:02 +0000 [r377906-377911] Mark Michelson <mmichelson@digium.com>
- * /, channels/chan_sip.c: Fix a potential deadlock in chan_sip
- during transfers. The issue comes from the fact that transfers
- may perform a redirecting update on a channel. The issue is that
- lock inversion between the channel and its tech_pvt occurs since
- the channel lock is released during the transfer process. The fix
- is to move when the redirecting update occurs to a place where
- neither the tech_pvt or the channel is locked so that the two can
- be locked in the proper order. (closes issue ASTERISK-20708)
- reported by Mark Michelson patches: ASTERISK-20708-3.patch
- uploaded by Mark Michelson (License #5049) Tested by: Tim
- Ringenbach at Asteria Solutions Group ........ Merged revisions
- 377910 from http://svn.asterisk.org/svn/asterisk/branches/11
- * main/features.c: Add test events necessary for bridging tests to
- be able to properly run.
- 2012-12-11 22:03 +0000 [r377884] Richard Mudgett <rmudgett@digium.com>
- * main/file.c, main/http.c, main/aoc.c, main/image.c, main/cel.c,
- main/timing.c, main/channel.c, main/data.c, main/stun.c, /:
- Cleanup CLI commands on exit for several files. (issue
- ASTERISK-20649) Reported by: Corey Farrell Patches:
- unregister-cli-multiple-all.patch (license #5909) patch uploaded
- by Corey Farrell ........ Merged revisions 377881 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377882 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377883 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-11 21:53 +0000 [r377878-377880] Mark Michelson <mmichelson@digium.com>
- * /: And remove svnmerge-integrated property.
- * /: Remove automerge properties.
- 2012-12-11 21:22 +0000 [r377867] Richard Mudgett <rmudgett@digium.com>
- * main/udptl.c, /: Cleanup udptl on exit. * Cleanup CLI commands on
- exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches:
- udptl-shutdown-1_8-10.patch (license #5909) patch uploaded by
- Corey Farrell udptl-shutdown-11-trunk.patch (license #5909) patch
- uploaded by Corey Farrell Modified ........ Merged revisions
- 377847 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 377848 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377849 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-11 21:04 +0000 [r377844-377846] Mark Michelson <mmichelson@digium.com>
- * configure.ac, include/asterisk/uuid.h (added),
- main/taskprocessor.c, tests/test_uuid.c (added), main/asterisk.c,
- main/uuid.c (added), res/res_clialiases.c, /, configure,
- include/asterisk/autoconfig.h.in, main/Makefile: Add UUID support
- to Asterisk. This provides a common API for dealing with unique
- identifiers. The API provides methods to create, parse, copy, and
- stringify UUIDs. An accompanying unit test is provided that tests
- all operations. (closes issue ASTERISK-20726) reported by Matt
- Jordan Review: https://reviewboard.asterisk.org/r/2217
- * res/res_clialiases.c, /: Fix crash that can occur if CLI
- registration fails for an aliased command. A recent memory leak
- fix in main/cli.c causes an ast_cli_entry's command field to be
- freed and NULLed if ast_cli_register() fails. res_clialiases was
- ignoring the return value of ast_cli_register() and was then
- passing the NULL command off to a a hash function. This resulted
- in a crash. The fix is not to ignore the erroneous return value.
- If ast_cli_register() fails, then we do not continue trying to
- process the current alias. ........ Merged revisions 377840 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377842 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377843 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-11 20:46 +0000 [r377707-377841] Richard Mudgett <rmudgett@digium.com>
- * main/taskprocessor.c, /: Cleanup taskprocessor on exit. * Cleanup
- CLI commands on exit. (issue ASTERISK-20649) Reported by: Corey
- Farrell Patches: taskprocessor-cleanup-1_8-11-trunk.patch
- (license #5909) patch uploaded by Corey Farrell
- taskprocessor-cleanup-10-only.patch (license #5909) patch
- uploaded by Corey Farrell Modified ........ Merged revisions
- 377837 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 377838 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377839 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/pbx.c, /: Cleanup pbx on exit. * Cleanup CLI commands on
- exit. * Unreference hints and statecbs containers on exit. (issue
- ASTERISK-20649) Reported by: Corey Farrell Patches:
- pbx-cleanup-1_8.patch (license #5909) patch uploaded by Corey
- Farrell pbx-cleanup-10.patch (license #5909) patch uploaded by
- Corey Farrell pbx-cleanup-11-trunk.patch (license #5909) patch
- uploaded by Corey Farrell Modified ........ Merged revisions
- 377806 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 377807 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377808 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/logger.c: Cleanup logger on exit. * Cleanup CLI commands,
- destroy verbosers and logchannels lists on exit. (issue
- ASTERISK-20649) Reported by: Corey Farrell Patches:
- logger-cleanup-all.patch (license #5909) patch uploaded by Corey
- Farrell Modified ........ Merged revisions 377771 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377772 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377773 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/indications.c: Cleanup indications on exit. * Made
- ast_unregister_indication_country() unlink the found tone zone
- before selecting a new default_tone_zone to make it impossible to
- select the tone zone being unregistered again. * Ringcadence is
- no longer parsed twice in store_config_tone_zone(). * Cleanup CLI
- commands and destroy default_tone_zone on exit. (issue
- ASTERISK-20649) Reported by: Corey Farrell Patches:
- indications-cleanup-all.patch (license #5909) patch uploaded by
- Corey Farrell Modified ........ Merged revisions 377740 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377741 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377742 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/event.c: Cleanup event on exit. * Cleanup CLI commands on
- exit. (issue ASTERISK-20649) Reported by: Corey Farrell Patches:
- event_shutdown-10-only.patch (license #5909) patch uploaded by
- Corey Farrell event_shutdown-1_8-11-trunk.patch (license #5909)
- patch uploaded by Corey Farrell ........ Merged revisions 377708
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 377709 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377710 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/dnsmgr.c, /: Cleanup dnsmgr on exit. * Cleanup dnsmgr thread
- and CLI commands on exit. (issue ASTERISK-20649) Reported by:
- Corey Farrell Patches: dnsmgr-cleanup-1_8.patch (license #5909)
- patch uploaded by Corey Farrell dnsmgr-cleanup-10-11-trunk.patch
- (license #5909) patch uploaded by Corey Farrell Modified ........
- Merged revisions 377704 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377705 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377706 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-10 16:56 +0000 [r377626-377658] Kinsey Moore <kmoore@digium.com>
- * /, res/res_fax.c: Ensure ReceiveFax provides a CED tone via T.38
- When using res_fax_digium, the T.38 CED tone was not being
- provided properly which would cause some incoming faxes to fail.
- This was not an issue with res_fax_spandsp since it does not
- strictly honor the send_ced flag and sends the CED tone whenever
- receiving a T.38 fax. (closes issue FAX-343) Reported-by:
- Benjamin Tietz Patch-by: Kinsey Moore ........ Merged revisions
- 377655 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 377656 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377657 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: Handle Session-Expires less than local
- Min-SE in 200 OK Ensure that a call is immediately torn down if a
- Session-Expires value received in a 200 OK is less than the local
- Min-SE. This also prevents Asterisk from allowing calls with
- Session-Expires below the RFC4028-mandated minimum (90s). (closes
- issue ASTERISK-20653) Review:
- https://reviewboard.asterisk.org/r/2237/ Patch-by: Kinsey Moore
- ........ Merged revisions 377623 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377624 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377625 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-10 07:03 +0000 [r377579-377595] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
- * channels/chan_unistim.c: Add firmware information to CLI devices
- listing
- * channels/chan_unistim.c, /: Fix codec mismatch Fix code to send
- in both rx and tx open stream messages correct codecs. Found that
- on phase 0/1 phones wrong codecs cause to no audio in some
- situations. (issue ASTERISK-20183) ........ Merged revisions
- 377591 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 377592 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377593 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_unistim.c, /: Remove trailing whitespaces in number
- from incoming redial list. Reported by: Igor Olhovskiy ........
- Merged revisions 377577 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-10 01:41 +0000 [r377506-377512] Tilghman Lesher <tilghman@meg.abyt.es>
- * main/xmldoc.c, /: Improve documentation by making all of the
- colors used readable, no matter what the background color is.
- Dark blue on a black background is unreadable, as is yellow on a
- light background. This patch turns on the bright attribute for
- colors when on a dark background and turns *off* the bright
- attribute when the -W command line option is used (indicating a
- _light_ background). This ensures that text is readable in both
- cases. Patch by: tilghman Review:
- https://reviewboard.asterisk.org/r/2224 ........ Merged revisions
- 377509 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 377510 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377511 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * addons/cdr_mysql.c, /: Remove some dead code and additionally
- handle a case that wasn't handled. ........ Merged revisions
- 377487 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 377504 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377505 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-09 01:23 +0000 [r377463] Joshua Colp <jcolp@digium.com>
- * channels/chan_motif.c, /: Add missing support for "who hung up"
- to chan_motif. (closes issue ASTERISK-20671) Reported by: Matt
- Jordan Review: https://reviewboard.asterisk.org/r/2208/ ........
- Merged revisions 377462 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-08 00:30 +0000 [r377402-377434] Richard Mudgett <rmudgett@digium.com>
- * contrib/realtime/mysql/sippeers.sql, /: Fix order of SIP
- allow/disallow in MySQL contrib script. Using the contrib
- sippeers.sql script to create the sippeers MySQL table would
- result in being unable to place calls if you set the disallow
- value to all. (closes issue ASTERISK-20756) Reported by: Andre
- Luis Patches: sippeers.patch patch uploaded by Andre Luis
- ........ Merged revisions 377431 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377432 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377433 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/astmm.c, /: MALLOC_DEBUG: Only wait if we want atexit
- allocation dumps. ........ Merged revisions 377398 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377399 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377401 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-07 22:08 +0000 [r377384] Kinsey Moore <kmoore@digium.com>
- * codecs/codec_dahdi.c: codec_dahdi: Fix output of "transcoder
- show" CLI command. In r306010 "Asterisk media architecture
- conversion - no more format bitfields", the logic for
- incrementing encoders and decoders when opening transcoder
- channels was changed without making the corresponding change when
- decrementing encoder / decoder channels. The result being that
- when a channel was destroyed, codec_dahdi couldn't properly tell
- if it was an encoder or decoder, and the default case is to
- assume it was a decoder. This could result in negative numbers
- for decoders in use like in: VOIP6*CLI> transcoder show 2/-2
- encoders/decoders of 92 channels are in use. (closes issue
- ASTERISK-19921) Patch-by: Shaun Ruffell ........ Merged revisions
- 377382 from http://svn.asterisk.org/svn/asterisk/branches/10
- ........ Merged revisions 377383 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-07 00:00 +0000 [r377356] Richard Mudgett <rmudgett@digium.com>
- * apps/confbridge/conf_config_parser.c, /, apps/app_confbridge.c:
- confbridge: Fix some resource leaks on conference teardown. *
- Made destroy_conference_bridge() destroy a missed ast_mutex_t and
- ast_cond_t. * Made join_conference_bridge() init the
- ast_mutex_t's and ast_cond_t so destroy_conference_bridge() can
- destroy them unconditionally. * Made join_conference_bridge()
- abort if the new conference could not be added to the conferences
- container. * Made leave_conference() discard any post-join
- actions if join_conference_bridge() had to abort early. * Made
- the join_conference_bridge() diagnostic messages better describe
- what happened. * Renamed leave_conference_bridge() to
- leave_conference() and made it only take a conference user
- pointer. The conference pointer was redundant. * Made
- conf_bridge_profile_copy() use struct copy instead of memcpy(). *
- No need to lock the conference in start_conf_record_thread()
- since all of the callers already have it locked. ........ Merged
- revisions 377354 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377355 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-06 17:29 +0000 [r377329-377341] Russell Bryant <russell@russellbryant.com>
- * /: Recorded merge of revisions 377340 from
- http://svn.asterisk.org/svn/asterisk/branches/11 ........ Add CLI
- tab completion to 'acl show'. The 'acl show' CLI command allows
- you to show the details about a specific named ACL in acl.conf.
- This patch adds tab completion to the command. Review:
- https://reviewboard.asterisk.org/r/2230/
- * main/named_acl.c: Minor code cleanup in named_acl.c. This patch
- makes a few little cleanups to named_acl.c. A couple non-public
- functions were made static and an opening brace for a function
- was moved to its own line, per the coding guidelines.
- * main/named_acl.c: Add CLI tab completion to 'acl show'. The 'acl
- show' CLI command allows you to show the details about a specific
- named ACL in acl.conf. This patch adds tab completion to the
- command. Review: https://reviewboard.asterisk.org/r/2230/
- 2012-12-06 14:26 +0000 [r377324] Matthew Jordan <mjordan@digium.com>
- * main/manager.c, /: Fix memory leak in 'manager show event' when
- command entered incorrectly When the CLI command 'manager show
- event' was run incorrectly and its usage instructions returned, a
- reference to the event container was leaked. This would prevent
- the container from being reclaimed when Asterisk exits. We now
- properly decrement the count on the ao2 object using the nifty
- RAII_VAR macro. Thanks to Russell for helping me stumble on this,
- and Terry for writing that ridiculously helpful macro. ........
- Merged revisions 377319 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-05 17:17 +0000 [r377263] Jonathan Rose <jrose@digium.com>
- * /, res/res_srtp.c: res_srtp: Fix a crash caused by srtp_dealloc
- on an already dealloced session When srtp_create fails, the
- session may be dealloced or just not alloced. At the same time
- though, the session pointer might not be set to NULL in this
- process and attempting to srtp_dealloc it again will cause a
- segfault. This patch checks for failure of srtp_create and sets
- the session pointer to NULL if it fails. (closes issue
- ASTERISK-20499) Reported by: tootai Review:
- https://reviewboard.asterisk.org/r/2228/ ........ Merged
- revisions 377256 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377261 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377262 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-05 16:51 +0000 [r377260] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_sip.c: Fix a SIP request memory leak with TLS
- connections. During the TLS re-work in chan_sip some TLS specific
- code was moved into a separate function. This function operates
- on a copy of the incoming SIP request. This copy was never
- deinitialized causing a memory leak for each request processed.
- This function is now given a SIP request structure which it can
- use to copy the incoming request into. This reduces the amount of
- memory allocations done since the internal allocated components
- are reused between packets and also ensures the SIP request
- structure is deinitialized when the TLS connection is torn down.
- (closes issue ASTERISK-20763) Reported by: deti ........ Merged
- revisions 377257 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377258 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377259 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-05 02:23 +0000 [r377214-377246] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/_private.h, main/asterisk.c, main/format.c:
- Remove init_framer(). It no longer does anything.
- * main/format.c, /: Fix registering core show codecs/codec CLI
- commands twice. ........ Merged revisions 377241 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377244 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/confbridge/conf_config_parser.c, /: confbridge: Fix several
- small issues. * Made func_confbridge_helper() allow an empty
- value when setting options. You previously could not
- Set(CONFBRIDGE(user,pin)=) and clear the configured pin from the
- dialplan. * Made func_confbridge_helper() handle its datastore
- better if multiple threads attempt to set the first CONFBRIDGE
- option value on the channel. * Made the func_confbridge_helper()
- only output one diagnostic message concerning the option. * Made
- the bridge video_mode able to repeatedly change in the config
- file and CONFBRIDGE dialplan function. The video_mode option
- values are an enum and not independent of each other. * Made
- handle_cli_confbridge_show_bridge_profile() better handle the
- video_mode option. * Simplified datastore handling code in
- conf_find_user_profile() and conf_find_bridge_profile(). (closes
- issue ASTERISK-20655) Reported by: Birger "WIMPy" Harzenetter
- ........ Merged revisions 377227 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377228 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_confbridge.c: confbridge: Update online XML
- documentation. ........ Merged revisions 377212 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377213 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-04 13:01 +0000 [r377196] Russell Bryant <russell@russellbryant.com>
- * contrib/scripts/install_prereq, /: Add libuuid to install_prereq
- for Fedora. I ran this script and my build failed. pjproject
- requires this. ........ Merged revisions 377195 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-03 23:00 +0000 [r377040-377168] Richard Mudgett <rmudgett@digium.com>
- * /, main/asterisk.c: Cleanup ast_run_atexits() atexits list. *
- Convert atexits list to a mutex instead of a rd/wr lock. The lock
- is only write locked. * Move CLI verbose Asterisk ending message
- to where AMI message is output in really_quit() to avoid further
- surprises about using stuff already shutdown. (issue
- ASTERISK-20649) Reported by: Corey Farrell ........ Merged
- revisions 377165 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377166 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377167 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * include/asterisk/_private.h, main/stdtime/localtime.c,
- main/asterisk.c, /: Cleanup core main on exit. * Cleanup time
- zones on exit. * Make exit clean/unclean report consistent for
- AMI and CLI in really_quit(). (issue ASTERISK-20649) Reported by:
- Corey Farrell Patches: core-cleanup-1_8-10.patch (license #5909)
- patch uploaded by Corey Farrell core-cleanup-11-trunk.patch
- (license #5909) patch uploaded by Corey Farrell Modified ........
- Merged revisions 377135 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377136 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377137 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/config.c, /: Cleanup config cache on exit. (issue
- ASTERISK-20649) Reported by: Corey Farrell Patches:
- config-cleanup-all.patch (license #5909) patch uploaded by Corey
- Farrell ........ Merged revisions 377104 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377105 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377106 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/cli.c, /: Cleanup CLI resources on exit and CLI command
- registration errors. (issue ASTERISK-20649) Reported by: Corey
- Farrell Patches: cli-leaks-1_8-10.patch (license #5909) patch
- uploaded by Corey Farrell cli-leaks-11-trunk.patch (license
- #5909) patch uploaded by Corey Farrell Modified ........ Merged
- revisions 377073 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377074 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377075 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/cdr.c, /: Cleanup CDR resources on exit. * Simplify
- do_reload() return handling since it never returned anything
- other than 0. (issue ASTERISK-20649) Reported by: Corey Farrell
- Patches: cdr-cleanup-1_8.patch (license #5909) patch uploaded by
- Corey Farrell cdr-cleanup-10-11-trunk.patch (license #5909) patch
- uploaded by Corey Farrell Modified ........ Merged revisions
- 377069 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 377070 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377071 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/ccss.c: Fix CCSS CLI commands and logger level not
- unregistered. (issue ASTERISK-20649) Reported by: Corey Farrell
- Patches: ccss-cleanup-all.patch (license #5909) patch uploaded by
- Corey Farrell ........ Merged revisions 377037 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 377038 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 377039 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-03 16:45 +0000 [r377035] Olle Johansson <oej@edvina.net>
- * res/res_rtp_asterisk.c: Formatting fixes
- 2012-12-03 14:56 +0000 [r377022] Joshua Colp <jcolp@digium.com>
- * channels/chan_motif.c, /: Fix an RTP instance reference count
- leak in chan_motif. When setting up an RTP instance the RTCP
- portion of the instance keeps a reference to the instance itself.
- In order to release this reference and stop RTCP the stop API
- call must be called before destroying the instance. (closes issue
- ASTERISK-20751) Reported by: joshoa ........ Merged revisions
- 377021 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-12-03 14:46 +0000 [r376998-377018] Olle Johansson <oej@edvina.net>
- * channels/chan_sip.c: Move functions to AFTER the block of forward
- declarations of functions. It was a mess. The first part of
- chan_sip.c is constants, declarations, structures and stuff, then
- forward declarations and then actual code. It's still a mess, but
- a bit less messy ;-)
- * channels/chan_sip.c, res/res_rtp_asterisk.c: Formatting changes
- Found a large amount of missing {} in the code before patching in
- another branch
- 2012-12-01 00:47 +0000 [r376984] Joshua Colp <jcolp@digium.com>
- * configs/motif.conf.sample, /, channels/chan_motif.c: Tweak
- extension used for incoming calls received on Motif. Based on
- feedback from numerous individuals this patch tweaks incoming
- calls to first look for an extension with the name of the
- endpoint. If no such extension exists the call will silently fall
- back to the "s" extension as it previously did. ........ Merged
- revisions 376983 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-30 21:38 +0000 [r376953] Richard Mudgett <rmudgett@digium.com>
- * /, channels/misdn/isdn_lib.c: chan_misdn: Fix sending
- RELEASE_COMPLETE in response to SETUP. Fix sending a
- RELEASE_COMPLETE in response to a SETUP if chan_misdn does not
- have a B channel available to assign to the call. (closes issue
- ABE-2869) Reported by: Guenther Kelleter Patches:
- setup-reject_2.diff (license #6372) patch uploaded by Guenther
- Kelleter Modified ........ Merged revision 376949 from
- https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
- ........ Merged revisions 376950 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376951 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376952 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-30 17:08 +0000 [r376922] Sean Bright <sean@malleable.com>
- * /, funcs/func_volume.c: Minor spelling fix to the VOLUME
- documentation. ........ Merged revisions 376919 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376920 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376921 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-30 16:56 +0000 [r376918] Mark Michelson <mmichelson@digium.com>
- * /, channels/chan_sip.c: Fix potential crashes during SIP attended
- transfers. The principal behind this patch is simple. During a
- transfer, we manipulate channels that are owned by a separate
- thread than the one we currently are running in, so it makes
- sense that we need to grab a reference to the channels so that
- they cannot disappear out from under us. In the wild, crashes
- were sometimes seen when the transferring party would hang up the
- call before the transfer target answered the call. The most
- common place to see the crash occur was when attempting to send a
- connected line update to the transferer channel. (closes issue
- ASTERISK-20226) Reported by Jared Smith Patches:
- ASTERISK-20226.patch uploaded by Mark Michelson (License #5049)
- Tested by: Jared Smith ........ Merged revisions 376901 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376916 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376917 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-29 23:01 +0000 [r376867-376871] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_local.c, /: chan_local: Fix local_pvt ref leak in
- local_devicestate(). Regression introduced by ASTERISK-20390 fix.
- (closes issue ASTERISK-20769) Reported by: rmudgett Tested by:
- rmudgett ........ Merged revisions 376868 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376869 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376870 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: Fix compile error. (issue ASTERISK-20724)
- ........ Merged revisions 376864 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376865 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376866 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-29 21:58 +0000 [r376837] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c: Improve Code Readability And Fix Setting
- natdetected Flag For 1.8, 10, 11 and trunk we are are improving
- the code readability. For 11 and trunk, auto nat detection was
- added. The natdetected flag was being set to 1 when the host
- address in the VIA header did not specifiy a port. This patch
- fixes this by setting the port on the temporary sock address used
- to SIP_STANDARD_PORT in order for the sock address comparison to
- work properly. (closes issue ASTERISK-20724) Reported by: Michael
- L. Young Patches: asterisk-20724-set-port-v2.diff uploaded by
- Michael L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2206/ ........ Merged
- revisions 376834 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376835 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376836 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-29 17:16 +0000 [r376821] David M. Lee <dlee@digium.com>
- * main/utils.c: Fixed ast_random's comment about locking. The
- original comment was separated from the code at some point, and
- didn't reflect the use of libc's other than glibc for Linux.
- 2012-11-29 16:44 +0000 [r376820] Pedro Kiefer <pedro@kiefer.com.br>
- * channels/chan_sip.c: Fix chan_sip websocket payload handling
- Websocket by default doesn't return an ast_str for the payload
- received. When converting it to an ast_str on chan_sip the last
- character was being omitted, because ast_str functions expects
- that the given length includes the trailing 0x00. payload_len
- only has the actual string length without counting the trailing
- zero. For most cases this passed unnoticed as most of SIP
- messages ends with \r\n. (closes issue ASTERISK-20745) Reported
- by: Iñaki Baz Castillo Review:
- https://reviewboard.asterisk.org/r/2219/
- 2012-11-29 00:48 +0000 [r376761-376791] Richard Mudgett <rmudgett@digium.com>
- * main/astmm.c, main/asterisk.c, /: Add MALLOC_DEBUG atexit
- unreleased malloc memory summary. * Adds the following CLI
- commands to control MALLOC_DEBUG reporting of unreleased malloc
- memory when Asterisk is shut down. memory atexit list on memory
- atexit list off memory atexit summary byline memory atexit
- summary byfunc memory atexit summary byfile memory atexit summary
- off * Made check all remaining allocated region blocks atexit for
- fence violations. * Increased the allocated region hash table
- size by about three times. It still isn't large enough
- considering the number of malloced blocks Asterisk uses. * Made
- CLI "memory show allocations anomalies" use
- regions_check_all_fences(). Review:
- https://reviewboard.asterisk.org/r/2196/ ........ Merged
- revisions 376788 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376789 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376790 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/astmm.c: Enhance MALLOC_DEBUG CLI commands. * Fixed CLI
- "memory show allocations" misspelling of anomalies option. The
- command will still accept the original misspelling. *
- Miscellaneous tweaks to CLI "memory show allocations" command
- output format. * Made CLI "memory show summary" summarize by line
- number instead of by function if a filename is given. * Made CLI
- "memory show summary" sort its output by filename or
- function-name/line-number depending upon request. * Miscellaneous
- tweaks to CLI "memory show summary" command output format.
- ........ Merged revisions 376758 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376759 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376760 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-28 16:47 +0000 [r376728] Jonathan Rose <jrose@digium.com>
- * main/manager.c, /: manager: Make challenge work with
- allowmultiplelogin=no Prior to this patch, challenge would yield
- a multiple logins error if used without providing the username
- (which isn't really supposed to be an argument to challenge) if
- allowmultiplelogin was set to no because allowmultiplelogin finds
- a user with a zero length login name. This check is simply
- disabled for the challenge action when the username is empty by
- this patch. (closes issue ASTERISK-20677) Reported by: Vladimir
- Patches: challenge_action_nomultiplelogin.diff uploaded by
- Jonathan Rose (license 6182) ........ Merged revisions 376725
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 376726 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376727 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-28 00:13 +0000 [r376630-376691] Richard Mudgett <rmudgett@digium.com>
- * UPGRADE.txt, main/pbx.c, /: Fix extension matching with the '-'
- char. The '-' char is supposed to be ignored by the dialplan
- extension matching. Unfortunately, it's treatment is not handled
- consistently throughout the extension matching code. * Made the
- old exten matching code consistently ignore '-' chars. * Made the
- old exten matching code consistently handle case in the matching.
- * Made ignore empty character sets. * Fixed ast_extension_cmp()
- to return -1, 0, or 1 as documented. The only user of it in
- pbx_lua.c was testing for -1. It was originally returning the
- strcmp() value for less than which is not usually going to be -1.
- * Fix character set sorting if the sets have the same number of
- characters and start with the same character. Character set [0-9]
- now sorts before [02-9a] as originally intended. * Updated some
- extension label and priority already in use warnings to also
- indicate if the extension is aliased. (closes issue
- ASTERISK-19205) Reported by: Philippe Lindheimer, Birger "WIMPy"
- Harzenetter Tested by: rmudgett Review:
- https://reviewboard.asterisk.org/r/2201/ ........ Merged
- revisions 376688 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376689 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376690 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_celgenuserevent.c, pbx/pbx_dundi.c,
- addons/res_config_mysql.c: Remove unnecessary channel module
- references. * Removed call to ast_module_user_hangup_all() in
- res_config_mysql.c since it is effectively a noop. No channels
- can attach a reference to that module. * Removed call to
- ast_module_user_hangup_all() in app_celgenuserevent.c. The caller
- of unload_module() has already called it. * Removed redundant
- channel module references in pbx_dundi.c. The registered dialplan
- function callback dispatchers for the read/read2/write callbacks
- already reference the module before calling. * pbx_dundi: Moved
- unregistering CLI commands, DUNDi switch, and dialplan functions
- to the first thing the unload_module() does. This will reduce the
- chance of new channels using DUNDi services while the module is
- being torn down. ........ Merged revisions 376657 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376658 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376659 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * include/asterisk/linkedlists.h, /: Made AST_LIST_REMOVE() simpler
- and use better names. * Update doxygen of AST_LIST_REMOVE().
- ........ Merged revisions 376627 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376628 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376629 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-23 00:02 +0000 [r376589] Matthew Jordan <mjordan@digium.com>
- * main/lock.c, /, main/logger.c, include/asterisk/lock.h:
- Re-initialize logmsgs mutex upon logger initialization to prevent
- lock errors Similar to the patch that moved the fork earlier in
- the startup sequence to prevent mutex errors in the recursive
- mutex surrounding the read/write thread registration lock, this
- patch re-initializes the logmsgs mutex. Part of the start up
- sequence before forking the process into the background includes
- reading asterisk.conf; this has to occur prior to the call to
- daemon in order to read startup parameters. When reading in a
- conf file, log statements can be generated. Since this can't be
- avoided, the mutex instead is re-initialized to ensure a reset of
- any thread tracking information. This patch also includes some
- additional debugging to catch errors when locking or unlocking
- the recursive mutex that surrounds locks when the DEBUG_THREADS
- build option is enabled. DO_CRASH or THREAD_CRASH will cause an
- abort() if a mutex error is detected. (issue ASTERISK-19463)
- Reported by: mjordan Tesetd by: mjordan ........ Merged revisions
- 376586 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 376587 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376588 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-21 18:33 +0000 [r376575] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_iax2.c, main/astobj2.c, include/asterisk/test.h,
- main/channel.c, include/asterisk/astobj2.h, main/test.c,
- tests/test_astobj2.c: Add red-black tree container type to
- astobj2. * Add red-black tree container type. * Add CLI command
- "astobj2 container dump <name>" * Added ao2_container_dump() so
- the container could be dumped by other modules for debugging
- purposes. * Changed ao2_container_stats() so it can be used by
- other modules like ao2_container_check() for debugging purposes.
- * Updated the unit tests to check red-black tree containers.
- (closes issue ASTERISK-19970) Reported by: rmudgett Tested by:
- rmudgett Review: https://reviewboard.asterisk.org/r/2110/
- 2012-11-20 22:06 +0000 [r376562] David M. Lee <dlee@digium.com>
- * res/res_http_websocket.c, /: Added missing newlines to websocket
- ast_logs. Without these newlines, log messages just continue
- tacking onto the same line, and do not flush immediately.
- ........ Merged revisions 376561 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-20 19:09 +0000 [r376551] Mark Michelson <mmichelson@digium.com>
- * channels/sip/include/sip.h, /, channels/chan_sip.c: Add "Require:
- timer" to 200 OK responses when appropriate. The method by which
- the Require header is added to 200 responses is inspired by the
- method that Olle Johansson uses in his darjeeling-prack branch.
- (closes issue ASTERISK-20570) Reported by Matt Jordan, at the
- behest of Olle Johansson Review:
- https://reviewboard.asterisk.org/r/2172 ........ Merged revisions
- 376521 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 376522 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376550 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-20 17:39 +0000 [r376541] Alec L Davis <sivad.a@paradise.net.nz>
- * /, channels/chan_sip.c: Reduce CLI spam of "Extension Changed"
- device state messages. Asterisk 11 follows RFC3265 that states
- that after every subscribe or resubscribe a notify should be
- sent. Thus the console if filled continuously with the following
- after every subscribe; == Extension Changed 8512[phones] new
- state IDLE for Notify User cisco1 In Asterisk 1.8 only changes
- would be sent. Thus only when a device state changed was anything
- emitted to the console. fix: Only print to console when device
- state isn't forced. (closes issue ASTERISK-20706) Reported by:
- alecdavis Tested by: alecdavis alecdavis (license 585) ........
- Merged revisions 376540 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-19 20:03 +0000 [r376472] Walter Doekes <walter+asterisk@wjd.nu>
- * main/indications.c, /, channels/chan_sip.c,
- main/security_events.c: Fix most leftover non-opaque ast_str
- uses. Instead of calling str->str, one should use
- ast_str_buffer(str). Same goes for str->used as
- ast_str_strlen(str) and str->len as ast_str_size(str). Review:
- https://reviewboard.asterisk.org/r/2198 ........ Merged revisions
- 376469 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 376470 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376471 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-19 02:14 +0000 [r376416-376457] Matthew Jordan <mjordan@digium.com>
- * tests/test_astobj2.c: Fix uninitialized in this function error
- With some versions of gcc, n_buckets will be flagged as being
- uninitialized before use. While its technically impossible (since
- the switch statement, even without a default, accounts for all
- possibilities), we'll initialize the variable to 0 anyway.
- * main/asterisk.c, /, main/utils.c: Reorder startup sequence to
- prevent lockups when process is sent to background Although it is
- very rare and timing dependent, the potential exists for the call
- to 'daemon' to cause what appears to be a deadlock in Asterisk
- during startup. This can occur when a recursive mutex is obtained
- prior to the daemon call executing. Since daemon uses fork to
- send the process into the background, any threading primitives
- are unsafe to re-use after the call. Implementations of pthread
- recursive mutexes are highly likely to store the thread
- identifier of the thread that previously obtained the mutex. If
- the mutex was locked prior to the fork, a subsequent unlock
- operation will potentially fail as the thread identifier is no
- longer valid. Since the mutex is still locked, all subsequent
- attempts to grab the mutex by other threads will block. This
- behavior exhibited itself most often when DEBUG_THREADS was
- enabled, as this compile time option surrounds the mutexes in
- Asterisk with another recursive mutex that protects the storage
- of thread related information. This made it much more likely that
- a recursive mutex would be obtained prior to daemon and unlocked
- after the call. This patch does the following: a) It backports a
- patch from Asterisk 11 that prevents the spawning of the
- localtime monitoring thread. This thread is now spawned after
- Asterisk has fully booted. b) It re-orders the startup sequence
- to call daemon earlier during Asterisk startup. This limits the
- potential of threading primitives being accessed by
- initialization calls before daemon is called. c) It removes calls
- to ast_verbose/ast_log/etc. prior to daemon being called.
- Developers should send error messages directly to stderr prior to
- daemon, as calls to ast_log may access recursive mutexes that
- store thread related information. d) It reorganizes when thread
- local storage is created for storing lock information during the
- creation of threads. Prior to this patch, the read/write lock
- protecting the list of threads in ast_register_thread would
- utilize the lock in the thread local storage prior to it being
- initialized; this patch prevents that. On a very related note,
- this patch will *greatly* improve the stability of the Asterisk
- Test Suite. Review: https://reviewboard.asterisk.org/r/2197
- (closes issue ASTERISK-19463) Reported by: mjordan Tested by:
- mjordan ........ Merged revisions 376428 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376431 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376441 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/confbridge/conf_state.c, /: Add a test event that reports
- changes in ConfBridge state This patch adds a test event to
- ConfBridge that reports transitions between states in ConfBridge.
- This is used by tests in the Asterisk Test Suite that verify
- state changes based on the entering/leaving of conference
- participants. ........ Merged revisions 376414 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376415 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-16 00:15 +0000 [r376341-376345] David M. Lee <dlee@digium.com>
- * /, utils/extconf.c: Fixed extconf.c breakage introduced in
- r376306. To quote wdoekes: > Note that I'm not confirming
- legitimacy of having that file in tree at > all. Is anyone using
- aelparse/conf2ael? ........ Merged revisions 376340 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376342 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376343 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /: Somehow I put in svn-1.6 merge information. Oops.
- * utils/Makefile, tests/test_astobj2_thrash.c (added),
- utils/utils.xml, /, utils/hashtest.c (removed),
- tests/test_hashtab_thrash.c (added), utils/hashtest2.c (removed),
- include/asterisk/hashtab.h: Migrate hashtest/hashtest2 to be unit
- tests. Both hashtest and hashtest2 are manual testing apps that
- thrash hash tables (hashtab and ao2 containers, respectively), by
- spinning up several threads that randomly insert, delete, lookup
- and iterate over the hash table. If the app doesn't crash, the
- hash table probably passes the test. Those utils are not a part
- of the typical Asterisk build, so they do not usually get
- compiled. This all makes them less that useful. This patch
- removes those manual test programs and replaces them with
- Asterisk unit test modules (test_{hashtab,astobj2}_thrash.so). It
- also attempts to make the tests more deterministic. * Rather than
- spinning up some number of threads that operate on the hash table
- randomly, spin up four threads that concurrenly add, remove,
- lookup and iterate over the hash table. * Each thread checks the
- state of the hash table both during and after execution, and
- indicates a test failure if things are not as expected. * Each
- thread times out after 60 seconds to prevent deadlocking the unit
- test run. (closes issue ASTERISK-20505) Reported by: Matt Jordan
- Review: https://reviewboard.asterisk.org/r/2189/ ........ Merged
- revisions 376306 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376315 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376339 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-15 23:10 +0000 [r376312] Jonathan Rose <jrose@digium.com>
- * /, apps/app_meetme.c: app_meetme: Fix channels lingering when
- hung up under certain conditions Channels would get stuck and
- MeetMe would repeatedly display an Unable to write frame to
- channel error in the conf_run function if hung up during certain
- sound prompts such as during user count announcements. This patch
- fixes that by reintroducing a hangup check in the meetme's main
- loop (also in conf_run). (closes issue ASTERISK-20486) Reported
- by: Michael Cargile Review:
- https://reviewboard.asterisk.org/r/2187/ Patches:
- meetme_hangup_patch_ASTERISK-20486_v3.diff uploaded by Jonathan
- Rose (license 6182) ........ Merged revisions 376307 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376308 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376310 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-15 14:35 +0000 [r376291] Brent Eagles <beagles@digium.com>
- * main/channel.c, /: Patch to prevent stopping the active generator
- when it is not the silence generator. This patch introduces an
- internal helper function to safely check whether the current
- generator is the one that is expected before deactivating it. The
- current externally accessible ast_channel_stop_generator()
- function has been modified to be implemented in terms of the new
- function. (closes issue ASTERISK-19918) Reported by: Eduardo Abad
- ........ Merged revisions 376217 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-15 02:29 +0000 [r376282] Rusty Newton <rnewton@digium.com>
- * apps/app_voicemail.c, /: Patch to play correct sound file when a
- voicemail's urgent status is removed We were attempting to play
- "vm-urgent-removed", which didn't exist. Now we play
- "vm-marked-nonurgent" which exists and is the correct sound file.
- Previous behavior was silence and a warning on the CLI. (issue
- ASTERISK-20280) (closes issue ASTERISK-20280) Reported by: Tomo
- Takebe Tested by: Rusty Newton Patches: asterisk20280.patch
- uploaded by Rusty Newton (license 5829) ........ Merged revisions
- 376262 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 376263 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376264 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-14 19:55 +0000 [r376235] Richard Mudgett <rmudgett@digium.com>
- * pbx/pbx_spool.c, /: Fix call files when astspooldir is relative.
- Future dated call files are ignored when astspooldir is relative
- to the current directory. The queue_file() assumed that the qdir
- needed to be prepended if the given filename did not start with a
- '/'. If astspooldir is relative it is not going to start from the
- root directory obviously so it will not start with a '/'. The
- filename used in queue_file() ultimately results in qdir
- prepended multiple times. * Made queue_file() not prepend qdir if
- the filename contains a '/'. (closes issue ASTERISK-20593)
- Reported by: James Le Cuirot Patches:
- 0004-Fix-future-call-files-from-relative-directories.patch
- (license #6439) patch uploaded by James Le Cuirot ........ Merged
- revisions 376232 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376233 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376234 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-13 19:42 +0000 [r376219] Jonathan Rose <jrose@digium.com>
- * CHANGES, channels/chan_sip.c: chan_sip: Add SubscribeContext
- field to SIPshowpeer AMI response The new field is will show up
- within the response if the requested peer has a subscribe context
- set. (closes issue ASTERISK-20626) Reported by: Jaco Kroon
- Patches: asterisk-sip-ami-SubscrContext.patch uploaded by jkroon
- (license 5671) -with modifications by jrose to conform to style
- guidelines Review: https://reviewboard.asterisk.org/r/2195/
- 2012-11-12 20:46 +0000 [r376169] Joshua Colp <jcolp@digium.com>
- * /, main/pbx.c: Properly check if the "Context" and "Extension"
- headers are empty in a ShowDialPlan action. The code which
- handles the ShowDialPlan action wrongly assumed that a non-NULL
- return value from the function which retrieves headers from an
- action indicates that the header has a value. This is incorrect
- and the contents must be checked to see if they are blank.
- (closes issue ASTERISK-20628) Reported by: jkroon Patches:
- asterisk-showdialplan-incorrect-error.patch uploaded by jkroon
- ........ Merged revisions 376166 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376167 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376168 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-12 20:18 +0000 [r376148] Michael L. Young <elgueromexicano@gmail.com>
- * main/pbx.c, /: Fix Dynamic Hints Variable Substition - Underscore
- Problem When adding a dynamic hint, if an extension contains an
- underscore no variable subsitution is being performed. This patch
- changes from checking if the extension contains an underscore to
- checking if the extension begins with an underscore. (closes
- issue ASTERISK-20639) Reported by: Steven T. Wheeler Tested by:
- Steven T. Wheeler, Michael L. Young Patches:
- asterisk-20639-dynamic-hint-underscore.diff uploaded by Michael
- L. Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2188/ ........ Merged
- revisions 376142 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376143 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376144 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-11 17:15 +0000 [r376131] Joshua Colp <jcolp@digium.com>
- * configs/sip.conf.sample, res/res_rtp_asterisk.c, /,
- channels/chan_sip.c: Remove a fixed size limitation for producing
- SDP and change how ICE support is disabled by default. With ICE
- support enabled in chan_sip and a large number of interfaces on
- the system it was possible for the produced SDP to be truncated
- due to some fixed size buffers. These buffers have now been
- changed so they will dynamically grow as needed. ICE support is
- now also enabled by default in res_rtp_asterisk to provide a
- smoother experience for chan_motif users where it is required. To
- maintain the previous behavior in chan_sip it is no longer
- enabled by default there. (closes issue ASTERISK-20643) Reported
- by: coopvr ........ Merged revisions 376130 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-08 22:10 +0000 [r376092] Mark Michelson <mmichelson@digium.com>
- * /, res/res_fax.c: Fix a "set but not used" warning on newer gccs.
- Turns out the "helpful" setting of ms and res in this macro is
- completely useless after the timeout antipattern fix. If you're a
- new guy looking to write code, don't write a macro like this one.
- ........ Merged revisions 376087 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376088 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376089 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-08 21:12 +0000 [r376049-376061] Richard Mudgett <rmudgett@digium.com>
- * /, channels/sig_ss7.c: chan_dahdi/SS7: Made reject incoming call
- for an in-alarm or blocked channel. If a SS7 call comes in
- requesting a CIC that is in-alarm, the call is accepted and
- connects if the extension exists in the dialplan. The call does
- not have any audio. * Made release the call immediately with
- circuit congestion cause. (closes issue ASTERISK-20204) Reported
- by: Tuan Le Patches: jira_asterisk_20204_v1.8.patch (license
- #5621) patch uploaded by rmudgett ........ Merged revisions
- 376058 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 376059 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376060 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * include/asterisk/utils.h, include/asterisk/astmm.h, /,
- main/utils.c, main/astmm.c, main/asterisk.c: Add MALLOC_DEBUG
- enhancements. * Makes malloc() behave like calloc(). It will
- return a memory block filled with 0x55. A nonzero value. * Makes
- free() fill the released memory block and boundary fence's with
- 0xdeaddead. Any pointer use after free is going to have a pointer
- pointing to 0xdeaddead. The 0xdeaddead pointer is usually an
- invalid memory address so a crash is expected. * Puts the freed
- memory block into a circular array so it is not reused
- immediately. * When the circular array rotates out a memory block
- to the heap it checks that the memory has not been altered from
- 0xdeaddead. * Made the astmm_log message wording better. * Made
- crash if the DO_CRASH menuselect option is enabled and something
- is found. * Fixed a potential alignment issue on 64 bit systems.
- struct ast_region.data[] should now be aligned correctly for all
- platforms. * Extracted region_check_fences() from
- __ast_free_region() and handle_memory_show(). * Updated
- handle_memory_show() CLI usage help. Review:
- https://reviewboard.asterisk.org/r/2182/ ........ Merged
- revisions 376029 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 376030 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376048 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-07 19:15 +0000 [r376015] Mark Michelson <mmichelson@digium.com>
- * apps/app_dial.c, main/pbx.c, main/rtp_engine.c, /,
- apps/app_meetme.c, res/res_fax.c, apps/app_record.c,
- channels/chan_agent.c, main/utils.c, include/asterisk/channel.h,
- apps/app_queue.c, channels/sig_pri.c, channels/chan_iax2.c,
- main/channel.c, channels/chan_dahdi.c, apps/app_waitforring.c,
- channels/sig_analog.c, apps/app_jack.c, include/asterisk/time.h:
- Multiple revisions 375993-375994 ........ r375993 | mmichelson |
- 2012-11-07 11:01:13 -0600 (Wed, 07 Nov 2012) | 30 lines Fix
- misuses of timeouts throughout the code. Prior to this change, a
- common method for determining if a timeout was reached was to
- call a function such as ast_waitfor_n() and inspect the out
- parameter that told how many milliseconds were left, then use
- that as the input to ast_waitfor_n() on the next go-around. The
- problem with this is that in some cases, submillisecond timeouts
- can occur, resulting in the out parameter not decreasing any.
- When this happens thousands of times, the result is that the
- timeout takes much longer than intended to be reached. As an
- example, I had a situation where a 3 second timeout took multiple
- days to finally end since most wakeups from ast_waitfor_n() were
- under a millisecond. This patch seeks to fix this pattern
- throughout the code. Now we log the time when an operation began
- and find the difference in wall clock time between now and when
- the event started. This means that sub-millisecond timeouts now
- cannot play havoc when trying to determine if something has timed
- out. Part of this fix also includes changing the function
- ast_waitfor() so that it is possible for it to return less than
- zero when a negative timeout is given to it. This makes it
- actually possible to detect errors in ast_waitfor() when there is
- no timeout. (closes issue ASTERISK-20414) reported by David M.
- Lee Review: https://reviewboard.asterisk.org/r/2135/ ........
- r375994 | mmichelson | 2012-11-07 11:08:44 -0600 (Wed, 07 Nov
- 2012) | 3 lines Remove some debugging that accidentally made it
- in the last commit. ........ Merged revisions 375993-375994 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375995 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 376014 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-06 19:05 +0000 [r375967] Richard Mudgett <rmudgett@digium.com>
- * /, main/channel_internal_api.c, main/features.c,
- include/asterisk/channel.h, include/asterisk/features.h,
- main/channel.c: Fix stuck DTMF when bridge is broken. When a
- bridge is broken by an AMI Redirect action or the ChannelRedirect
- application, an in progress DTMF digit could be stuck sending
- forever. * Made simulate a DTMF end event when a bridge is broken
- and a DTMF digit was in progress. (closes issue ASTERISK-20492)
- Reported by: Jeremiah Gowdy Patches: bridge_end_dtmf-v3.patch.txt
- (license #6358) patch uploaded by Jeremiah Gowdy Modified to
- jira_asterisk_20492_v1.8.patch jira_asterisk_20492_v1.8.patch
- (license #5621) patch uploaded by rmudgett Tested by: rmudgett
- Review: https://reviewboard.asterisk.org/r/2169/ ........ Merged
- revisions 375964 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375965 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375966 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-06 12:15 +0000 [r375926] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_motif.c: Fix a bug where our Motif ICE
- candidates were not quite proper, and make us more forgiving. An
- issue was reported on the mailing list where calling would result
- in an "Incomplete ICE-UDP candidate received on session" error
- message. This is the result of the ICE-UDP candidate code not
- placing a "network" attribute within the candidates. This is now
- done. To increase compatibility though I have removed the
- requirement for the "network" attribute to exist within ICE-UDP
- candidates that are received since we don't actually require the
- value. Reported on the mailing list by Jean-Denis Girard.
- ........ Merged revisions 375925 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-05 23:10 +0000 [r375896] Matthew Jordan <mjordan@digium.com>
- * channels/chan_iax2.c, res/res_fax_spandsp.c,
- res/res_timing_kqueue.c, main/timing.c, main/channel.c, /,
- res/res_timing_pthread.c, res/res_timing_dahdi.c,
- res/res_timing_timerfd.c, bridges/bridge_softmix.c,
- funcs/func_jitterbuffer.c, include/asterisk/timing.h,
- res/res_musiconhold.c: Refactor ast_timer_ack to return an error
- and handle the error in timer users Currently, if an
- acknowledgement of a timer fails Asterisk will not realize that a
- serious error occurred and will continue attempting to use the
- timer's file descriptor. This can lead to situations where errors
- stream to the CLI/log file. This consumes significant resources,
- masks the actual problem that occurred (whatever caused the timer
- to fail in the first place), and can leave channels in odd
- states. This patch propagates the errors in the timing resource
- modules up through the timer core, and makes users of these
- timers handle acknowledgement failures. It also adds some
- defensive coding around the use of timers to prevent using bad
- file descriptors in off nominal code paths. Note that the patch
- created by the issue reporter was modified slightly for this
- commit and backported to 1.8, as it was originally written for
- Asterisk 10. Review: https://reviewboard.asterisk.org/r/2178/
- (issue ASTERISK-20032) Reported by: Jeremiah Gowdy patches:
- jgowdy-timerfd-6-22-2012.diff uploaded by Jeremiah Gowdy (license
- 6358) ........ Merged revisions 375893 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375894 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375895 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-05 21:42 +0000 [r375865] Richard Mudgett <rmudgett@digium.com>
- * main/loader.c, /: Add safety NULL pointer check in module user
- references. Made __ast_module_user_remove() check for NULL
- pointers. ........ Merged revision 375860 from C.3 ........
- Merged revisions 375862 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375863 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375864 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-05 18:00 +0000 [r375848] Jonathan Rose <jrose@digium.com>
- * /, UPGRADE.txt: chan_sip: Document a change to user-field
- encoding introduced with r303509 The change in question was added
- to improve compliance with RFC3261, but at the time of commit, it
- wasn't adequately documented in the UPGRADE notes. (closes issue
- ASTERISK-20561) Reported by: Deniz Review:
- https://reviewboard.asterisk.org/r/2177/ ........ Merged
- revisions 375846 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375847 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-04 03:10 +0000 [r375730-375803] Matthew Jordan <mjordan@digium.com>
- * main/manager.c, /: Don't attempt to purge sessions when no
- sessions exist Manager's tcp/tls objects have a periodic function
- that purge old manager sessions periodically. During shutdown,
- the underlying container holding those sessions can be disposed
- of and set to NULL before the tcp/tls periodic function is
- stopped. If the periodic function fires, it will attempt to
- iterate over a NULL container. This patch checks for whether or
- not the sessions container exists before attempting to purge
- sessions out of it. If the sessions container is NULL, we simply
- return. Note that this error was also caught by the Asterisk Test
- Suite. ........ Merged revisions 375800 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375801 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375802 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, res/res_fax.c: Only deref a reserved gateway session if we
- actually reserved one Its perfectly acceptable to have a gateway
- session unreserved when we go to first allocate one. Unreffing
- the reserved gateway session - when its NULL - will result in an
- assertion error. This problem was caught by the Asterisk Test
- Suite (once we had enough of the debugging flags enabled)
- ........ Merged revisions 375797 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375798 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/manager.c: Properly clean up manager resources on exit
- This patch does two things: 1) It properly unregisters the
- manager CLI commands 2) It cleans up AMI users on exit. Prior to
- this patch, the AMI users were not being disposed of properly,
- resulting in a memory leak. (closes issue ASTERISK-20646)
- Reported by: Corey Farrell patches: manager_shutdown.patch
- uploaded by Corey Farrell (license 5909) ........ Merged
- revisions 375793 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375794 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375795 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/db.c: Properly finalize prepared SQLite3 statements to
- prevent memory leak The AstDB uses prepared SQLite3 statements to
- retrieve data from the SQLite3 database. These statements should
- be finalized during Asterisk shutdown so that the SQLite3
- database can be properly closed. Failure to finalize the
- statements results in a memory leak and a failure when closing
- the database. This patch fixes those issues by ensuring that all
- prepared statements are properly finalized at shutdown. (closes
- issue ASTERISK-20647) Reported by: Corey Farrell patches:
- astdb-sqlite3_close.patch uploaded by Corey Farrell (license
- 5909) ........ Merged revisions 375761 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375763 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/xmldoc.c, /: Fix memory leaks in XML documentation This
- patch fixes two memory leaks: 1) When building XML documentation
- items, the 'name' attribute was extracted from XML elements but
- not properly freed after being copied into the item being built.
- 2) When unloading XML documentation, the doctree container
- objects were not properly freed. This patch corrects these memory
- leaks. Note that this patch was modified slightly for this
- commmit, as the case where the 'name' attribute doesn't exist
- also wasn't handled in the item construction. This patch also
- checks for that attribute not existing. (closes issue
- ASTERISK-20648) Reported by: Corey Farrell Tested by: mjordan
- patches: xmldoc-memory_leak.patch uploaded by Corey Farrell
- (license 5909) ........ Merged revisions 375756 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/cdr.c, /: Prevent multiple CDR batches from conflicting when
- scheduling the CDR write The Asterisk Test Suite caught an error
- condition where a scheduled CDR batch write can be deleted twice
- if two channels attempt to post their CDRs at the same time. The
- batch CDR mutex is locked while the CDRs are appended to the
- current batch list; however, it is unlocked prior to actually
- scheduling the CDR write. As such, two threads can attempt to
- remove the currently scheduled batch write at the same time,
- resulting in an assertion error. This patch extends the time that
- the mutex is locked to encompass actually scheduling the write.
- This prevents two threads from unscheduling the currently
- scheduled write at the same time. ........ Merged revisions
- 375727 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 375728 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375729 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-02 21:03 +0000 [r375663] Damien Wedhorn <voip@facts.com.au>
- * /, channels/chan_skinny.c: Fix for chan_skinny leaving RTP ports
- open Skinny wasn't closing RTP sockets. This patch includes
- ast_rtp_instance_stop before ast_rtp_instance_destroy which fixes
- the problem. Also add destroy for VRTP (which I believe is
- unused, but exists). Review:
- https://reviewboard.asterisk.org/r/2176/ ........ Merged
- revisions 375660 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-02 21:01 +0000 [r375628-375662] Richard Mudgett <rmudgett@digium.com>
- * main/channel.c, channels/chan_misdn.c, /, main/ccss.c,
- main/format_pref.c: Things don't need to be that const. ........
- Merged revisions 375658 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375659 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375661 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h, /: Multiple
- revisions 375519-375524 ........ r375519 | rmudgett | 2012-10-30
- 16:06:15 -0500 (Tue, 30 Oct 2012) | 11 lines chan_misdn: Timer
- primitives must be handled first. The frm->addr is a different
- "address space" than the stack/instance address of other Lx
- primitives. The test for B channel instance address could fail.
- Patches: patch01_timers.diff (license #6372) patch uploaded by
- Guenther Kelleter JIRA ABE-2888 ........ r375520 | rmudgett |
- 2012-10-30 16:14:58 -0500 (Tue, 30 Oct 2012) | 10 lines
- chan_misdn: Free memory in error paths and other memory leaks.
- The one line commented with BUG is not easily fixable because
- there is no de-init function one can call. Patches:
- patch02_memory.diff (license #6372) patch uploaded by Guenther
- Kelleter JIRA ABE-2888 ........ r375521 | rmudgett | 2012-10-30
- 16:38:41 -0500 (Tue, 30 Oct 2012) | 14 lines chan_misdn: ISDN NT
- L2 de-establish/establish * An NT-PTMP cannot de/establish L2
- since it doesn't know the TEIs. * On NT-PTP L2 is started when L1
- is finally active in handle_l1. * L2 deactivation logging
- cleanup. * L2 aggregate link status is unknown for NT-PTMP, show
- as "UNKN". * Removed unused functions and code for L2 handling.
- Patches: patch03_L2estab.diff (license #6372) patch uploaded by
- Guenther Kelleter Modified JIRA ABE-2888 ........ r375522 |
- rmudgett | 2012-10-30 16:56:14 -0500 (Tue, 30 Oct 2012) | 22
- lines chan_misdn: Fix broken upper_id/lower_id usage. Sending PH
- prim via lower_id layer (3 or 1) simply does not work. For TE (3)
- it returns an error (len=-6) which is not evaluated by
- handle_l1(), so the L1 layer status ends up wrong. Instead PH
- must be sent via L4, only then does it reach L1 without an error
- message. And NT PH prims only reach L1 when they are sent to
- layer 2 id. --> use upper_id to send PH primitives. * Check for
- errors in PH_(DE)ACTIVATE | CONFIRM. * Debug messages are
- improved. * The lower_id is now not used for anything, except:
- Why is lower_id layer deleted when it wasn't created? I removed
- this code since it looks very wrong. Patches:
- patch04_l1activation.diff (license #6372) patch uploaded by
- Guenther Kelleter JIRA ABE-2888 ........ r375523 | rmudgett |
- 2012-10-30 17:29:15 -0500 (Tue, 30 Oct 2012) | 31 lines
- chan_misdn: Fix loss of B channels if L1 is down. If you make 2
- calls out an NT PTMP port which is not connected to any phone,
- the B channel associated with that call becomes unusable until
- Asterisk is restarted. The problem is the EVENT_SETUP is queued
- when L1 is not up in misdn_lib_send_event(). If L1 cannot be
- activated the event won't be dequeued. It gets even worse when
- the call is hung up. The queued EVENT_SETUP will be overwritten
- by an EVENT_DISCONNECT. The reserved B channel then will never be
- freed. If later someone connects a phone to the port, L1 will
- eventually activate and the queued EVENT_DISCONNECT is sent down
- the stack. However, it is ignored because it is the wrong call
- state. The real fix would be that activation and queueing for a
- new SETUP is done by the NT stack. But since it doesn't, the
- workaround must be removed because it doesn't always work. Fix:
- The event is no longer queued but immediately sent to the stack.
- If L1 cannot be activated, the L3 state machine that was started
- by the EVENT_SETUP will do its work, i.e. a timeout will release
- the B channel properly. The SETUP possibly cannot be sent the
- first time but is resent by T303 in case L1 could be activated.
- Patches: patch05_bchan-loss.diff (license #6372) patch uploaded
- by Guenther Kelleter Modified JIRA ABE-2888 ........ r375524 |
- rmudgett | 2012-10-30 18:26:05 -0500 (Tue, 30 Oct 2012) | 13
- lines chan_misdn: Remove some calls to exit(). Try proper cleanup
- when something goes wrong in misdn_lib_init(). Especially do not
- call exit()! * Fix memory leak because stack_destroy() does not
- free the stack struct. Patches: patch06_cleanup-init.diff
- (license #6372) patch uploaded by Guenther Kelleter Modified JIRA
- ABE-2888 ........ Merged revisions 375519-375524 from
- https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
- ........ Merged revisions 375625 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375626 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375627 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-02 17:27 +0000 [r375614] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c: Fix Wrong Result In Debug Message For SDP
- Origin Processing While looking at some debug logs, I noticed
- that it was being reported that the SDP origin line was
- unsupported or failed. Upon looking into this on my local
- machine, I found that I too was getting this debug message yet
- everything seemed to be getting processed properly. What was
- discovered is, that, the variable to determine what is displayed
- in the debug message for the SDP line that was processed, was not
- being set for the origin line when the result was successful.
- This patch fixes this and was tested on local machine. ........
- Merged revisions 375594 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375601 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375613 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-11-01 15:03 +0000 [r375576] Jonathan Rose <jrose@digium.com>
- * configs/sip.conf.sample, /, channels/chan_sip.c: chan_sip: Fix a
- bug causing SIP reloads to remove all entries from the registry A
- regression was introduced in chan_sip by changes to sip reload
- introduced by r349097. That patch moved peer purging from the
- beginning of the reload to after the general configuration was
- finished. This patch fixes that by undoing the repositioning of
- the original peer purging code and using a similar function after
- performing general configuration that purges only autocreated
- peers that were created when persist mode isn't enabled. (closes
- issue ASTERISK-20611) Reported by: Alisher Review:
- https://reviewboard.asterisk.org/r/2171/ ........ Merged
- revisions 375575 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-31 18:01 +0000 [r375560] Joshua Colp <jcolp@digium.com>
- * res/res_http_websocket.exports.in, /: Fix an issue with
- res_http_websocket where the chan_sip WebSocket handler could not
- be registered. On some systems the optional API support uses the
- GCC compiler attribute "weakref" to provide its functionality.
- This code changes the function names and prefixes "__" to the
- front. The res_http_websocket exports file did not take this into
- account, thereby not allowing those functions to be global and
- ultimately found. (closes issue ASTERISK-20631) Reported by:
- danjenkins ........ Merged revisions 375559 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-31 14:58 +0000 [r375533] Matthew Jordan <mjordan@digium.com>
- * /, res/res_calendar_ews.c: Properly extract the Body information
- of an EWS calendar item Unlike all other calendar modules,
- res_calendar_ews fails to extract the Body information for a
- calendar item. This is due, in part, to a quirk in the schema in
- the XML - not only does a CalendarItem contain a Body element,
- but the CalendarItem exists as a descendant of a different Body
- element. The neon parser was erroneously skipping all Body
- elements. This patch fixes that by bypassing Body elements that
- are not a child of CalendarItem, and parsing the Body element out
- if it is a child. Note that the original patch by Terry Wilson
- only needed slight modifications to make it properly pull the
- Body information out; as such, while I've linked to the patch
- that I uploaded for Dmitry, I've attributed the patch to Terry.
- (closes issue ASTERISK-19738) Reported by: Dmitry Burilov Tested
- by: Dmitry Burilov patches: calendar_ews_body_2012_10_29.diff
- uploaded by Terry Wilson (license 6283) ........ Merged revisions
- 375528 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 375531 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375532 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-30 19:31 +0000 [r375511] Richard Mudgett <rmudgett@digium.com>
- * /, bridges/bridge_softmix.c: Fix ConfBridge crash if no timing
- module loaded. (closes issue ASTERISK-19448) Reported by: feyfre
- Patches: smfix.patch (license #6099) patch uploaded by feyfre
- Modified for coding guidelines. ........ Merged revisions 375496
- from http://svn.asterisk.org/svn/asterisk/branches/10 ........
- Merged revisions 375506 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-30 19:20 +0000 [r375472-375498] Jonathan Rose <jrose@digium.com>
- * /, apps/app_mixmonitor.c: mixmonitor: Add a test event This test
- event is being used to fix the mixmonitor_audiohook_inherit test.
- ........ Merged revisions 375484 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375485 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375486 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_confbridge.c: confbridge: Fix a bug which made
- conferences not record with AMI/CLI commands When confbridge was
- changed to handle conference status with a state machine in
- r374658. The function responsible for starting recording for a
- conference was refactored with the function actually responsible
- for launching the recording thread being split into a function
- with another name. The old function name was still used for
- manually started recordings through AMI or CLI. This patch fixes
- that by switching which function is used to start recording the
- conference. (closes issue ASTERISK-20601) Reported by: Vilius
- Patches: confbridge_mixmonitor.diff uploaded by Jonathan Rose
- (license 6182) ........ Merged revisions 375470 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375471 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-29 21:38 +0000 [r375442-375443] Mark Michelson <mmichelson@digium.com>
- * /, channels/chan_sip.c: Prevent resetting of NATted realtime peer
- address on reload. If a "sip reload" is issued for a SIP peer,
- then his IP address will be cleared, thus resulting in forgetting
- the public IP address. Asterisk will then attempt to route SIP
- traffic to the private IP address. The fix here is to make "sip
- reload" ignore realtime peers when "host = dynamic" is spotted.
- Realtime peers can now only have their IP address reset if they
- have gone from being not dynamic to being dynamic. (closes issue
- ASTERISK-18203) reported by daren ferreira (closes issue
- ASTERISK-20572) reported by JoshE Patches: fix_nat_realtime.diff
- uploaded by JoshE (license #6075) ........ Merged revisions
- 375415 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 375417 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375437 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_mgcp.c, main/pbx.c, apps/app_osplookup.c,
- channels/chan_sip.c, channels/chan_skinny.c,
- funcs/func_strings.c, UPGRADE.txt: Make evaluation of channel
- variables consistently case-sensitive. Due to inconsistencies in
- how variable names were evaluated, the decision was made to make
- all evaluations case-sensitive. See the UPGRADE.txt file or
- https://wiki.asterisk.org/wiki/display/AST/Case+Sensitivity for
- more details. (closes issue ASTERISK-20163) reported by Matt
- Jordan Review: https://reviewboard.asterisk.org/r/2160
- 2012-10-29 21:02 +0000 [r375416] Matthew Jordan <mjordan@digium.com>
- * UPGRADE.txt, apps/app_queue.c: Ensure that CDRs for a caller in a
- Queue that is not answered is NO ANSWER. When a caller enters a
- queue and no queue member answers the call, the current behaviour
- can be a little odd depending on the paused status of the queue
- members. If any queue member is paused, but not all, the CDR
- disposition will be BUSY. If all queue members are paused, then
- the CDR disposition is based instead on the disposition of the
- call prior to entering the Queue. This patch modifies the
- behaviour in the following ways: * If no queue members are
- paused, the CDR disposition is whatever the disposition was prior
- to going into Queue. If the call was answered this will be
- ANSWERED; otherwise, it is NO ANSWER. * If some queue members are
- pused, the CDR result is NO ANSWER. (This is a change in
- behaviour, as the result would previously have been BUSY) * If
- all queue members are paused, the CDR result is whatever the
- result was prior to going into Queue. This is the same as the
- behaviour prior to this patch. * If the caller hangs up, times
- out, or presses '*' with the 'h' option, the CDR disposition is
- again not set and is dependent on whether or not the caller was
- Answered prior to entering Queue. This patch was based on one
- provided by Thomas Arimont, but has been modified to accomodate
- findings by the reviewers. Review:
- https://reviewboard.asterisk.org/r/2064/ (closes issue AST-906)
- Reported by: Thomas Arimont (closes issue ASTERISK-17776)
- Reported by: Attila Megyeri
- 2012-10-29 19:31 +0000 [r375364-375391] Richard Mudgett <rmudgett@digium.com>
- * /, main/features.c: Fix the Park 'r' option when a channel parks
- itself. When a channel uses the Park appliation to park itself
- with the 'r' option, the channel hears music-on-hold instead of
- the requested ringing. * Added a missing check for the 'r' option
- when a channel parks itself. (closes issue ASTERISK-19382)
- Reported by: James Stocks Patches by: dsessions Review:
- https://reviewboard.asterisk.org/r/2148/ ........ Merged
- revisions 375388 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375389 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375390 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_dahdi.c, /: chan_dahdi: Fix segfault dereferencing
- a NULL tech_pvt. The tech support customer was using the AMI
- Redirect action shortly after a call was placed. While the
- channel tried to do an ast_read(), the masquerade resulting from
- the channel redirect took place. The masquerade in the middle of
- the ast_read() resulted in the segfault. (closes issue AST-1025)
- Reported by: Trey Blancher Patches: jira_ast_1025_v1.8_v2.patch
- (license #5621) patch uploaded by rmudgett ........ Merged
- revisions 375361 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375362 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375363 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-23 16:22 +0000 [r375291-375328] Jonathan Rose <jrose@digium.com>
- * contrib/scripts/ast_tls_cert, /: ast_tls_cert script: Better
- response for various exit conditions to openssl (closes issue
- ASTERISK-20260) Reported by: Daniel O'Connor Patches:
- ast_tls_cert-update.diff uploaded by Daniel O'Connor (license
- 6419) ........ Merged revisions 375325 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375326 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375327 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/app.c: core: Fix a memory leak in app.c from an early
- return ast_app_group_match_get_count allocates memory with the
- regcomp function and we previously forgot to free it when bailing
- out due to a regex compilation failure against category. (closes
- issue AST-1018) Reported by: Guenther Kelleter Patches:
- regcomp_memleak.diff uploaded by Guenther Kelleter (license 6372)
- ........ Merged revisions 375299 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375300 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375301 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * codecs/gsm/src/code.c, /: GSM: Fix encoding problems with GSM
- (closes issue ASTERISK-20457) Reported by: Richard Miller
- Patches: code.patch uploaded by Richard Miller (license 5685)
- ........ Merged revisions 375272 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375273 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375288 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-18 21:49 +0000 [r375240-375249] Jonathan Rose <jrose@digium.com>
- * UPGRADE.txt: app_queue: add upgrade notes for 375216 Adds UPGRADE
- notes describing behavioral changes to rrmemory strategy caused
- by 375216 (issue AST-989) Reported by: Thomas Arimont
- * /, apps/app_queue.c: app_queue: Make ordering of
- rrmemory/rrordered persist over add/remove members Prior to this
- patch, adding, removing or reloading members to rrmemory would
- cause the order to become completely jumbled. Now it behaves more
- or less like rrordered other than the fact that it stores the
- members on a hash table rather than a linked list. This patch
- also prevents removal of members and member reloads from jumbling
- rrordered queues. (issue AST-989) Reported by: Thomas Arimont
- Review: https://reviewboard.asterisk.org/r/2164/ ........ Merged
- revisions 375216 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375217 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375219 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-18 20:31 +0000 [r375215] Michael L. Young <elgueromexicano@gmail.com>
- * apps/app_alarmreceiver.c: Fix XML Document Validation Failure Fix
- documentation error when validating the xml in trunk caused by
- r375150. Moved the description end tag down to below the
- variablelist element end tag. Found when compiling with
- --dev-mode-enabled. (issue ASTERISK-20289)
- 2012-10-18 20:13 +0000 [r375192] Richard Mudgett <rmudgett@digium.com>
- * makeopts.in, Makefile, /, build_tools/make_version, configure,
- include/asterisk/autoconfig.h.in, configure.ac: build_tools:
- Allow Asterisk to report git SHAs in version string. Make git
- more attractive for managing work-in-progress. Especially
- convenient when a potential patch set needs to be tested on
- multiple platforms since one can use git to keep all the test
- environments in sync independent of a subversion server. Now the
- Asterisk version will show the exact git SHA5 that was used when
- building (still appended by "M" if there are local modifications)
- from a git clone of the Asterisk repository so the developer can
- more easily know what is actually under test. You will now get
- this: $ asterisk -V Asterisk GIT-1698298 Instead of this: $
- asterisk -V Asterisk UNKNOWN__and_probably_unsupported This has
- zero impact for those not using git with the exception of an
- extra test in the configure script to gather git's path. This is
- necessary to prevent "sudo make install" from failing since git
- may not be in the path in make's shell environment. (closes issue
- ASTERISK-20483) Reported by: Shaun Ruffell Patches:
- 0001-build_tools-Allow-Asterisk-to-report-git-SHAs-in-ver.patch
- (license #5417) patch uploaded by Shaun Ruffell Modified ........
- Merged revisions 375189 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375190 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375191 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-18 14:17 +0000 [r375182] Andrew Latham <lathama@gmail.com>
- * main/features.c, include/asterisk/module.h,
- include/asterisk/doxygen/reviewboard.h, main/logger.c,
- main/http.c, include/asterisk/doxygen/licensing.h, main/dsp.c,
- main/udptl.c, main/dnsmgr.c, contrib/asterisk-ng-doxygen,
- Makefile.rules, codecs/log2comp.h, main/cli.c, main/cdr.c,
- include/asterisk/doxyref.h,
- include/asterisk/doxygen/asterisk-git-howto.h, main/manager.c,
- main/app.c, pbx/pbx_dundi.c, include/asterisk/doxygen/commits.h,
- include/asterisk/udptl.h, include/asterisk/smdi.h,
- main/asterisk.c, include/asterisk/doxygen/architecture.h,
- include/asterisk.h, main/ccss.c, Makefile.moddir_rules,
- main/cel.c, main/named_acl.c, main/enum.c, Makefile,
- include/asterisk/paths.h, include/asterisk/doxygen/releases.h,
- include/asterisk/compat.h: Doxygen Updates - Title update Update
- and extend the configuration_file group and enable linking.
- Commit other cleanups from multi-version Doxygen testing. Update
- title that was left behind many years ago. (issue ASTERISK-20259)
- 2012-10-17 20:34 +0000 [r375175] Jonathan Rose <jrose@digium.com>
- * main/manager.c: manager: remove curses dependent stuff from
- r375103 Upon further examination, this code was causing
- compliation problems on CentOS at the least (possibly on any
- machine without curses) and also the local value of COLS is used
- even with a remote console, so it is less than ideal. (issue
- ASTERISK-20396) Reported by: Johan Wilfer
- 2012-10-17 19:02 +0000 [r375150] Pedro Kiefer <pedro@kiefer.com.br>
- * apps/app_alarmreceiver.c, configs/alarmreceiver.conf.sample: Adds
- new formats to app_alarmreceiver, ALAW calls support and enhanced
- protection. Commiting this on behalf of Kaloyan Kovachev (license
- 5506). AlarmReceiver now supports the following DTMF signaling
- types: - ContactId - 4x1 - 4x2 - High Speed - Super Fast We are
- also auto-detecting which signaling is being received. So support
- for those protocols should work out-the-box. Correctly identify
- ALAW / ULAW calls. Some enhanced protection for broken panels and
- malicious callers where added. (closes issue ASTERISK-20289)
- Reported by: Kaloyan Kovachev Review:
- https://reviewboard.asterisk.org/r/2088/
- 2012-10-17 19:01 +0000 [r375149] Kinsey Moore <kmoore@digium.com>
- * main/tcptls.c, /: Ensure Asterisk fails TCP/TLS SIP calls when
- certificate checking fails When placing a call to a TCP/TLS SIP
- endpoint whose certificate is not signed by a configured CA
- certificate, Asterisk would issue a warning and continue to
- process the call as if there was not an issue with the
- certificate. Asterisk now properly fails the call if the
- certificate fails verification or if the certificate does not
- exist when certificate checking is enabled (the default
- behavior). (closes issue ASTERISK-20559) Reported by: kmoore
- Review: https://reviewboard.asterisk.org/r/2163/ ........ Merged
- revisions 375146 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375147 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375148 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-17 14:24 +0000 [r375110-375137] Walter Doekes <walter+asterisk@wjd.nu>
- * res/res_rtp_asterisk.c, main/pbx.c, channels/chan_sip.c,
- cdr/cdr_odbc.c: Change a few warnings to debug and the inverse.
- Remove the "RTP Read too short" warning for RTP keepalives.
- Remove the the warning about the application delimiter switch
- from pipe to comma. (You should've done this by now.) Make
- cdr_odbc report more when an insert fails. Make chan_sip warn
- less when the peer wants SRTP (and we don't) or sends a zero port
- to disable a media type. Review:
- https://reviewboard.asterisk.org/r/2167 (closes issue
- ASTERISK-20538)
- * /, channels/chan_sip.c: Fixes to the fd-oriented SIP TCP reads.
- Don't crash on large user input. Allow SIP headers without space.
- Optimize code a bit. Review:
- https://reviewboard.asterisk.org/r/2162 ........ Merged revisions
- 375111 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 375112 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375113 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_sip.c: Don't do SIP contact/route DNS if we're not
- using the result. In many cases (for peers behind NAT or for TCP
- sockets) we do not need to look up any hostname in the Contact
- (or Route) when sending an in-dialog request. This should reduce
- netsock2.c: getaddrinfo errors in certain scenarios. Review:
- https://reviewboard.asterisk.org/r/2156
- 2012-10-16 20:45 +0000 [r375103] Jonathan Rose <jrose@digium.com>
- * main/manager.c, CHANGES: manager: Change display of 'manager show
- commands' and 'manager show command' manager show commands now
- shows the full name of the command being displayed regardless of
- size. The privilege column has also been removed from this
- display. It will also now use the full length of the terminal if
- curses is available. Manager show command will now always display
- the privilege of the manager command within the CLI. (closes
- ASTERISK-20396) Reported by: Johan Wilfer Review:
- https://reviewboard.asterisk.org/r/2143/
- 2012-10-16 19:26 +0000 [r375081] Pedro Kiefer <pedro@kiefer.com.br>
- * apps/app_alarmreceiver.c: Fixes two small regressions from
- ASTERISK-20157 - receive_dtmf_digits had the wrong buffer length
- - app_alarmreceiver should wait 100ms before sending the second
- part of handshake (closes issue ASTERISK-20484) Reported by:
- Jean-Philippe Lord Tested by: Jean-Philippe Lord, Pedro Kiefer
- Patches: ASTERISK-20484_v2.diff uploaded by Kaloyan Kovachev
- (license 5506)
- 2012-10-16 19:25 +0000 [r375080] Walter Doekes <walter+asterisk@wjd.nu>
- * /, channels/chan_sip.c: Update sip_request_call SIP dial string
- documentation. This was missed when merging review r1859.
- ........ Merged revisions 375074 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375078 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375079 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-16 14:09 +0000 [r375052] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_iax2.c: Remove a log message that was left in
- accidentally from call-id logging development. ........ Merged
- revisions 375051 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-15 21:25 +0000 [r375044] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/strings.h, channels/chan_iax2.c,
- apps/app_dial.c, /, main/ccss.c: Fix some potential misuses of
- ast_str in the code. Passing an ast_str pointer by value that
- then calls ast_str_set(), ast_str_set_va(), ast_str_append(), or
- ast_str_append_va() can result in the pointer originally passed
- by value being invalidated if the ast_str had to be reallocated.
- This fixes places in the code that do this. Only the example in
- ccss.c could result in pointer invalidation though since the
- other cases use a stack-allocated ast_str and cannot be
- reallocated. I've also updated the doxygen in strings.h to
- include notes about potential misuse of the functions mentioned
- previously. Review: https://reviewboard.asterisk.org/r/2161
- ........ Merged revisions 375025 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 375026 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 375027 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-15 08:26 +0000 [r375017] Igor Goncharovskiy <igor.goncharovsky@gmail.com>
- * channels/chan_unistim.c, /: Fix underscreen buttons warnings
- apeared while transfer process ........ Merged revisions 375016
- from http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-14 21:59 +0000 [r375003-375009] Andrew Latham <lathama@gmail.com>
- * addons/chan_mobile.c, addons/app_mysql.c: Doxygen Updates Update
- and extend the configuration_file group and enable linking.
- (issue ASTERISK-20259)
- * utils/extconf.c, utils/muted.c: Doxygen Updates Update and extend
- the configuration_file group and enable linking. (issue
- ASTERISK-20259)
- * addons/Makefile, pbx/Makefile, formats/Makefile, sounds/Makefile,
- funcs/Makefile, bridges/Makefile, agi/Makefile, codecs/Makefile,
- utils/Makefile, tests/Makefile, cel/Makefile, main/Makefile:
- Title update Update title that was left behind many years ago.
- Used revision 6596 as my guide for what it should be. (issue
- ASTERISK-20259)
- * channels/chan_gtalk.c, channels/chan_console.c,
- channels/Makefile, channels/chan_iax2.c, channels/chan_oss.c,
- channels/chan_jingle.c, channels/chan_phone.c,
- channels/chan_dahdi.c, channels/iax2-parser.h,
- channels/chan_misdn.c, channels/chan_skinny.c,
- channels/chan_motif.c, channels/chan_h323.c, channels/iax2.h,
- channels/chan_alsa.c, channels/chan_mgcp.c, channels/chan_vpb.cc,
- channels/chan_sip.c: Doxygen Updates - Title update Update and
- extend the configuration_file group and enable linking. Update
- title that was left behind many years ago. (issue ASTERISK-20259)
- * cdr/Makefile, cdr/cdr_adaptive_odbc.c, cdr/cdr_pgsql.c,
- cdr/cdr_odbc.c, cdr/cdr_radius.c, cdr/cdr_custom.c,
- cdr/cdr_manager.c, cdr/cdr_csv.c, cdr/cdr_syslog.c: Doxygen
- Updates - Title update Update and extend the configuration_file
- group and enable linking. Update title that was left behind many
- years ago. (issue ASTERISK-20259)
- * apps/Makefile, apps/app_meetme.c, apps/app_festival.c,
- apps/app_fax.c, apps/app_skel.c, apps/app_alarmreceiver.c,
- apps/app_amd.c, apps/app_confbridge.c, apps/app_followme.c,
- apps/app_queue.c, apps/app_adsiprog.c, apps/app_voicemail.c:
- Doxygen Updates - Title update Update and extend the
- configuration_file group and enable linking to the application.
- Update title that was left behind many years ago. (issue
- ASTERISK-20259)
- * res/res_jabber.c, res/res_config_sqlite.c, res/res_smdi.c,
- res/res_curl.c, res/res_config_ldap.c, res/res_odbc.c,
- res/res_clialiases.c, res/res_calendar.c,
- res/res_config_sqlite3.c, res/res_config_pgsql.c, res/res_snmp.c,
- res/res_limit.c, res/res_fax.c, res/res_phoneprov.c,
- res/Makefile, res/res_xmpp.c, res/res_musiconhold.c: Doxygen
- Updates - Title update Update and extend the configuration_file
- group and enable linking to the resource. Update title that was
- left behind many years ago. (issue ASTERISK-20259)
- 2012-10-14 12:23 +0000 [r374996] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
- * /, config.guess, config.sub: Update config.guess and config.sub:
- 2012-10-10 Update config.guess and config.sub to revision
- fb456b34ef4aa02b95dc6be69aaa66fa94a844fb from the
- savannah.gnu.org git repo. Adds support for e.g. aarch64 (ARM
- 64bit). config.guess:timestamp='2012-09-25'
- config.sub:timestamp='2012-10-10' ........ Merged revisions
- 374977 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 374991 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374995 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-13 19:58 +0000 [r374940-374970] Andrew Latham <lathama@gmail.com>
- * CREDITS: Update CREDITS Update Jean-Denis and add myself (issue
- ASTERISK-20259)
- * Makefile: Multiplatform Makefile Update Paul Belanger pointed out
- that using sed in the Makefile is an issue with multiple
- platforms. We are cleaning up the Doxygen config as a following
- step so I just switched the sed inplace changes to be an echo
- append instead. (issue ASTERISK-20259)
- * main/app.c, apps/app_dial.c: Doxygen Clean ups Add app_skel.c as
- an example in app.c and fix some formating for the "Dial Privacy
- scripts" so it actually shows up in the Doxygen output. (issue
- ASTERISK-20259)
- * Makefile: Test for Asterisk Version info Doxygen uses the
- ASTERISKVERSION as a sub header. If a SVN export is done and no
- .svn or .version file exists it defualts to
- UNKNOWN__and_probably_unsupported which is honest but not great
- for the online docs. During the "make progdocs" I added a test
- for this and just warned and ommitted the version. (issue
- ASTERISK-20259)
- * contrib/asterisk-ng-doxygen: Correct output directory During
- testing I used an alternate output directory and mistakenly
- committed it. Matt Jordan noticed and I reverted. This is the
- correct setting for local output to match with all branches.
- (issue ASTERISK-20259)
- * static-http/ajamdemo.html, static-http/astman.css: Add
- licens/copyright header Begin update of static-http files and
- general clean ups. This only adds the standard header to the
- files. (issue ASTERISK-20503)
- * configure, configure.ac, makeopts.in, Makefile: Add check for
- Doxygen The autoconf configuration system had a test for DOT but
- not for Doxygen. I added the test for Doxygen and did an overhaul
- of the Makefile check to a much simpler process. (issue
- ASTERISK-20259)
- 2012-10-12 21:58 +0000 [r374933] Kinsey Moore <kmoore@digium.com>
- * /, apps/app_voicemail.c: Avoid a segfault on invalid format names
- If a format name was not found by ast_getformatbyname, a NULL
- pointer would be passed into ast_format_rate and immediately
- dereferenced. This ensures that a valid pointer is used since the
- structure is already allocated on the stack. (closes issue
- DPH-523) Reported-by: Steve Pitts ........ Merged revisions
- 374932 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-12 16:31 +0000 [r374924] Mark Michelson <mmichelson@digium.com>
- * main/tcptls.c, /, channels/chan_sip.c, include/asterisk/tcptls.h:
- Do not use a FILE handle when doing SIP TCP reads. This is used
- to solve an issue where a poll on a file descriptor does not
- necessarily correspond to the readiness of a FILE handle to be
- read. This change makes it so that for TCP connections, we do a
- recv() on the file descriptor instead. Because TCP does not
- guarantee that an entire message or even just one single message
- will arrive during a read, a loop has been introduced to ensure
- that we only attempt to handle a single message at a time. The
- tcptls_session_instance structure has also had an overflow buffer
- added to it so that if more than one TCP message arrives in one
- go, there is a place to throw the excess. Huge thanks goes out to
- Walter Doekes for doing extensive review on this change and
- finding edge cases where code could fail. (closes issue
- ASTERISK-20212) reported by Phil Ciccone Review:
- https://reviewboard.asterisk.org/r/2123 ........ Merged revisions
- 374905 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 374906 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374914 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-11 23:40 +0000 [r374879-374897] Andrew Latham <lathama@gmail.com>
- * contrib/scripts/install_prereq: Append Doxygen to Debian packages
- list Add Doxygen to the Debian install list. I will check for
- other platforms like Red Hat (issue ASTERISK-20259)
- * static-http/mantest.html: Update JQuery URL to recent version The
- JQuery URL to version 1.4 will be removed within the life span of
- Asterisk 11. This is a compatible upgrade by using the URL for
- 1.8. (issue ASTERISK-20503)
- * main/manager.c, include/asterisk/module.h: Continue to group
- config files (issue ASTERISK-20259)
- * CREDITS: CREDITS clean up As discussed online
- http://lists.digium.com/pipermail/asterisk-dev/2012-October/057245.html
- the credits file needs some cleaning. This is 95% whitespace with
- a few additions found in file headers. Further additions should
- be added here instead of in the file being updated. (issue
- ASTERISK-20259)
- * contrib/asterisk-ng-doxygen: Revert Local testing Config Revert a
- local testing config that I made. This was not intended to be
- committed. Thank you Matt Jordan for noticing this. (issue
- ASTERISK-20259)
- 2012-10-11 21:19 +0000 [r374852-374878] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_motif.c: Fix a bug where audio on Google Voice
- would not work due to ignoring candidates. Instead of ignoring
- parts of the message that are not known just ignore the ones we
- know may be present and that would cause a problem. ........
- Merged revisions 374877 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_motif.c: Fix an issue where outgoing calls would
- fail to establish audio due to ICE negotiation failures. This
- change removes the requirement for ufrag and pwd in the transport
- stanza and also makes us the controlling agent. (closes issue
- ASTERISK-20554) Reported by: mmichelson ........ Merged revisions
- 374850 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-11 15:49 +0000 [r374849] Mark Michelson <mmichelson@digium.com>
- * channels/chan_sip.exports.in (removed), main/sip_api.c (added),
- /, channels/chan_sip.c, include/asterisk/sip_api.h: Don't make
- chan_sip export global symbols. During testing, it was discovered
- that having chan_sip export global symbols was problematic. The
- biggest problem was that load order was affected. Trying to use
- realtime could be problematic since in all likelihood the
- necessary realtime driver(s) would not be loaded before chan_sip.
- In addition, it was found that it was impossible to use the
- Digium Phone Module for Asterisk since it must be loaded before
- chan_sip since it must hook into chan_sip's configuration
- parsing. The solution is to use a virtual table in the same
- manner that other modules in Asterisk do, like app_voicemail.
- (closes issue ASTERISK-20545) Reported by: kmoore ........ Merged
- revisions 374842 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-11 15:44 +0000 [r374846] Matthew Jordan <mjordan@digium.com>
- * main/cdr.c, /: Fix incorrect billing duration reported when batch
- mode is enabled Similar to r369351, the billing duration can be
- skewed when batch mode is enabled. This happened much more rarely
- than the duration, as it only occured when the call was answered
- (thereby indicating an actual answer time) and immediately hung
- up on (indicating a billsec of 0). Since a billing time of '0'
- can either mean that the call immediately ended or that the CDR
- was improperly answered, we have to use additional information to
- know whether or not we can trust the CDR billsec value. Prior to
- this patch, we looked to see if we had a valid answer time. If we
- did, and billsec was zero, we used the current time to calculate
- what billsec value we could from the CDR being written. If batch
- mode is enabled, this will incorrectly report a billsec value
- being much greater than the actual duration of the call. Instead
- of relying on the presence of an answer time to know whether or
- not we can re-calculate the billsec for the CDR, we now also use
- the presence of the CDR's end time to know if we need to
- re-calculate or whether we can trust the billsec value that we
- have. This prevents erroneous jumps in the billsec value, while
- still making sure that in the worst case, some billing time will
- be calculated. (closes issue AST-1016) Reported by: Thomas
- Arimont Tested by: Thomas Arimont ........ Merged revisions
- 374843 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 374844 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374845 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-11 13:34 +0000 [r374834] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_motif.c: Consider the Google Talk content stanza
- name (jin:content) valid. ........ Merged revisions 374833 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-10 21:05 +0000 [r374805] Richard Mudgett <rmudgett@digium.com>
- * apps/app_queue.c, /: app_queue: Made pass connected line updates
- from the caller to ringing queue members. Party A calls Party B
- Party B puts Party A on hold. Party B calls a queue. Ringing
- queue member D sees Party B identification. Party B transfers
- Party A to the queue. Queue member D does not get a connected
- line update for Party A. Queue member D answers the call and
- still sees Party B information. However, if Party A later
- transfers the call to Party C then queue member D gets a
- connected line update for Party C. * Made pass connected line
- updates from the caller to queue members while the queue members
- are ringing. (closes issue AST-1017) Reported by: Thomas Arimont
- (closes issue ABE-2886) Reported by: Thomas Arimont Tested by:
- rmudgett ........ Merged revisions 374801 from
- https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
- ........ Merged revisions 374802 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374803 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374804 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-10 13:40 +0000 [r374793] Kinsey Moore <kmoore@digium.com>
- * main/manager.c, /: Fix segfault regression from r370681 Due to
- usage of ast_hook_send_action, AMI action handling code should be
- able to handle a NULL mansession->session. This would cause a
- crash on NULL dereference if action_originate was called from
- ast_hook_send_action. (closes issue ASTERISK-20544) ........
- Merged revisions 374792 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-09 22:24 +0000 [r374778] Richard Mudgett <rmudgett@digium.com>
- * main/pbx.c, /: Fix execution of 'i' extension due to
- uninitialized variable. The fix for ASTERISK-18243 added code
- that could potentially use dst_exten[] uninitialized. As a result
- the 'i' exten may not be executed when it should. (closes issue
- ASTERISK-20455) Reported by: Richard Miller Patches:
- pbx-1.8.16.0.diff (license #5685) patch uploaded by Richard
- Miller Made some cosmetic modifications. ........ Merged
- revisions 374758 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374763 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374771 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-09 21:35 +0000 [r374757] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_sip.c: Improve logging for DTLS-SRTP failure
- situations. (closes issue ASTERISK-20487) Reported by: mjordan
- ........ Merged revisions 374756 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-08 22:31 +0000 [r374717-374730] Richard Mudgett <rmudgett@digium.com>
- * configs/chan_dahdi.conf.sample, /: dahdi.conf.sample: Add
- description for "buffers" setting. This contains an edited
- version of the patch originally created by John Bigelow. (closes
- issue ASTERISK-14435) Reported by: John Bigelow Patches:
- buffers.patch (license #5091) patch uploaded by John Bigelow
- 0001-dahdi.conf.sample-Add-description-for-buffers-settin.patch
- (license #5417) patch uploaded by Shaun Ruffell Modified ........
- Merged revisions 374727 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374728 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374729 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * pbx/pbx_spool.c, /: Fix deletion of unopenable spool files. If
- scan_service() cannot open the spool file, it logs a message
- saying that it will delete the file and calls remove_from_queue()
- to do it. However, remove_from_queue() fails to delete the spool
- file because struct outgoing has not yet been fully initialized.
- * Merged allocating a new struct outgoing and init_outgoing()
- into new_outgoing(). Allocation is initialization. * Made
- apply_outgoing() not initialize the spool filename in struct
- outgoing. * Made apply_outgoing() call ast_trim_blanks() and
- ast_skip_blanks() rather than manually inlining them. * Reduced
- indentation levels in apply_outgoing(). * Fixed a garbled comment
- in remove_from_queue(). * Reworked scan_service() to simplify it.
- (closes issue ASTERISK-17231) Reported by: David Chappell
- Patches: spool_open_failure.diff (license #4997) patch uploaded
- by David Chappell Started with this patch. ........ Merged
- revisions 374686 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 * Fixed some
- memory leaks on off nominal paths in init_outgoing() when merging
- into the new_outgoing() function dealing with o->capabilities.
- ........ Merged revisions 374695 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374708 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-08 20:39 +0000 [r374633-374677] Matthew Jordan <mjordan@digium.com>
- * res/res_rtp_asterisk.c, /, configs/rtp.conf.sample: Disable ICE
- support by default Since there are a number of legacy devices out
- there that fail to handle ICE candidates properly (which is a
- nice way of saying something much uglier), disable it by default.
- Support for ICE candidates can be enabled in rtp.conf using the
- icesupport setting. ........ Merged revisions 374676 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/confbridge/conf_state_multi.c (added),
- apps/app_confbridge.c, apps/confbridge/conf_state_multi_marked.c
- (added), apps/confbridge/conf_state_empty.c (added),
- apps/confbridge/conf_state.c (added),
- apps/confbridge/conf_state_single.c (added),
- apps/confbridge/conf_state_inactive.c (added),
- apps/confbridge/conf_state_single_marked.c (added), /,
- apps/confbridge/include/confbridge.h,
- apps/confbridge/include/conf_state.h (added): Resolve issues in
- ConfBridge regarding marked, waitmarked, and unmarked users
- Thank's to Neil Tallim (flan)'s tireless testing, issue
- reporting, and patches it became clear that app_confbridge had
- some complex logic in how it handled interactions between marked,
- waitmarked, and unmarked users. In particular, there were some
- areas in which the interactions between the users resulted in
- inconsistent behavior, and app_confbridge was missing logic in
- how to handle some corner cases. Some areas included: * Poor
- handling of mixing unmarked and waitmarked users *
- Inconsistencies in how MOH and muting was applied to various
- users * Handling of various announcements for different user
- profile options flan's patches seem to fix the various issues,
- but highlighted how hard the code could be to maintain. In an
- attempt to make things easier to maintain and to more fully
- enumerate the various cases that exist, this patch breaks up the
- logic into a state machine-like setup. Please note that the
- various state transitioned are documented on the Asterisk wiki:
- https://wiki.asterisk.org/wiki/display/AST/Confbridge+state+changes
- Review: //https://reviewboard.asterisk.org/r/2072/ Note that for
- the following issues, mjordan uploaded the patch, although it was
- written by twilson. Any contributor license discrepency is due to
- that. (closes issue ASTERISK-19562) Reported by: flan Tested by:
- flan, mjordan, jrose patches:
- bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by
- twilson (license 6283) (closes issue ASTERISK-19726) Reported by:
- flan Tested by: flan patches:
- bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by
- twilson (license 6283) (closes issue ASTERISK-20181) Reported by:
- Jonathan White Tested by: Jonathan White patches:
- bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by
- twilson (license 6283) ........ Merged revisions 374652 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374657 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/pjproject/pjlib/src/pj/sock_linux_kernel.c,
- res/pjproject/pjlib/include/pj/sock.h,
- res/pjproject/pjlib/src/pj/sock_symbian.cpp, /,
- res/pjproject/pjlib/src/pj/sock_bsd.c: pjproject: Fix for Solaris
- builds. Do not undef s_addr. pjproject, in order to solve build
- problems on Windows [1], undefines s_addr in one of it's headers
- that is included in res_rtp_asterisk.c. On Solaris s_addr is not
- a structure member, but defined to map to the real strucuture
- member, therefore when building on Solaris it's possible to get
- build errors like: [CC] res_rtp_asterisk.c -> res_rtp_asterisk.o
- In file included from
- /export/home/admin/asterisk-11-svn/include/asterisk/stun.h:29,
- from res_rtp_asterisk.c:51:
- /export/home/admin/asterisk-11-svn/include/asterisk/network.h: In
- function `inaddrcmp':
- /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92:
- error: structure has no member named `s_addr'
- /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92:
- error: structure has no member named `s_addr' res_rtp_asterisk.c:
- In function `ast_rtp_on_ice_tx_pkt': res_rtp_asterisk.c:706:
- warning: dereferencing type-punned pointer will break
- strict-aliasing rules res_rtp_asterisk.c:710: warning:
- dereferencing type-punned pointer will break strict-aliasing
- rules res_rtp_asterisk.c: In function
- `rtp_add_candidates_to_ice': res_rtp_asterisk.c:1085: error:
- structure has no member named `s_addr' make[2]: ***
- [res_rtp_asterisk.o] Error 1 make[1]: *** [res] Error 2 make[1]:
- Leaving directory `/export/home/admin/asterisk-11-svn' gmake: ***
- [_cleantest_all] Error 2 Unfortunately, in order to make this
- work, I also had to make sure pjproject only used the typdef
- pj_in_addr and not the struct pj_in_addr so that when building
- Asterisk I could "typedef struct in_addr pj_in_addr". It's
- possible then that the library and users of those interfaces in
- Asterisk have a different idea about the type of the argument,
- while on the surface it looks like they are all 32 bit big endian
- values. [1] http://trac.pjsip.org/repos/changeset/484 (issues
- ASTERISK-20366) Reported by: Ben Klang Tested by: Ben Klang,
- mjordan patches:
- 0001-pjproject-Fix-for-Solaris-builds.-Do-not-undef-s.patch
- uploaded by Shaun Ruffell (license 5417) ........ Merged
- revisions 374642 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/acl.c, /: Trivial patch to make 'best_score' defined for all
- architectures. Fixes trivial build error on Solaris: acl.c: In
- function `get_local_address': acl.c:196: error: `best_score'
- undeclared (first use in this function) acl.c:196: error: (Each
- undeclared identifier is reported only once acl.c:196: error: for
- each function it appears in.) make[2]: *** [acl.o] Error 1 (issue
- ASTERISK-20366) Reported by: Ben Klang Tested by: Ben Klang
- patches:
- 0002-main-acl.c-Trivial.-best_score-should-be-defined-for.patch
- by Shaun Ruffell (license 5417) ........ Merged revisions 374632
- from http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-06 03:22 +0000 [r374612-374623] Matthew Jordan <mjordan@digium.com>
- * /, res/res_xmpp.c: Handle capability stanzas that fail to provide
- node or version information While XEP-0115 states that the node
- and ver attributes are both required, some devices fail to
- provide either field. Prior to this patch, failure to provide the
- node or ver attribute would cause a crash in res_xmpp. While
- failing to provide the node or ver attribute is technically
- invalid, since this information is not utilized by Asterisk
- except for reporting purposes, for interoperability reasons, we
- continue to process the capability stanza anyways. (closes issue
- ASTERISK-20495) Reported by: Martin W Tested by: Martin W
- patches: 20495.patch uploaded by Martin W (license #6434)
- ........ Merged revisions 374622 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_xmpp.c, main/message.c, /: Update documentation for
- MessageSend application/command's From field for XMPP When using
- the channel technology agnostic application/AMI command
- MessageSend, the "From" field is technically optional for the SIP
- channel driver. However, if being sent by the XMPP resource
- module (either res_xmpp or res_jabber), the "From" field is
- necessary, and must correspond to a defined account. This patch
- updates the documentation for this application/AMI command to
- reflect this. (closes issue ASTERISK-20405) Reported by: Leif
- Madsen ........ Merged revisions 374611 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-05 20:33 +0000 [r374588] David M. Lee <dlee@digium.com>
- * main/manager.c, /: Multiple revisions 374570,374581 ........
- r374570 | dlee | 2012-10-05 15:14:41 -0500 (Fri, 05 Oct 2012) |
- 22 lines Improve AMI long line error handling In AMI's parser,
- when it receives a long line (> 1024 characters), it discards
- that line, but continues to process the message normally.
- Typically, this is not a problem because a) who has lines that
- long and b) usually a discarded line results in an invalid
- message. But if that line is specifying an optional field, then
- the message will be processed, you get a 'Response: Success', but
- things don't work the way you expected them to. This patch
- changes the behavior when a line-too-long parse error occurs. *
- Changes the log message to avoid way-too-long (and truncated
- anyways) log messages * Adds a 'parsing' status flag to Response:
- Success * Sets parsing = MESSAGE_LINE_TOO_LONG if, well, a line
- is too long * Responds with an appropriate error if parsing !=
- MESSAGE_OKAY (closes issue AST-961) Reported by: John Bigelow
- Review: https://reviewboard.asterisk.org/r/2142/ ........ r374581
- | dlee | 2012-10-05 15:20:28 -0500 (Fri, 05 Oct 2012) | 1 line
- I've committed too much. Reverting part of r374570. ........
- Merged revisions 374570,374581 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374586 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374587 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-05 18:42 +0000 [r374539] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_misdn.c, /, channels/misdn/isdn_msg_parser.c,
- channels/misdn/isdn_lib.c, channels/misdn/isdn_lib.h: Merged
- revisions 374515-374535 from
- https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
- ................ r374515 | rmudgett | 2012-10-04 17:52:36 -0500
- (Thu, 04 Oct 2012) | 10 lines chan_misdn: Remove some deadcode *
- Made setup_bc() static. Patches: patch1_unused-code.diff (license
- #6372) patch uploaded by Guenther Kelleter Modified JIRA ABE-2882
- ................ r374516 | rmudgett | 2012-10-04 18:01:01 -0500
- (Thu, 04 Oct 2012) | 7 lines chan_misdn: Remove unused bchan
- states Patches: patch2_unused-states.diff (license #6372) patch
- uploaded by Guenther Kelleter JIRA ABE-2882 ................
- r374517 | rmudgett | 2012-10-04 18:17:51 -0500 (Thu, 04 Oct 2012)
- | 16 lines chan_misdn: Remove unnecessary null pointer checks and
- checks for stack->nt * cleanup_bc() is always called with valid
- bc (or it would've crashed before). * Value of stack->nt is known
- in advance at some places. * Rename handle_event() to
- handle_event_te(), handle_frm() to handle_frm_te(). Patches:
- patch3_checks.diff (license #6372) patch uploaded by Guenther
- Kelleter Modified JIRA ABE-2882 ................ r374518 |
- rmudgett | 2012-10-04 18:21:59 -0500 (Thu, 04 Oct 2012) | 7 lines
- chan_misdn: Fix spelling in log messages Patches:
- patch4_spelling.diff (license #6372) patch uploaded by Guenther
- Kelleter JIRA ABE-2882 ................ r374519 | rmudgett |
- 2012-10-04 18:31:59 -0500 (Thu, 04 Oct 2012) | 15 lines
- chan_misdn: Don't cleanup a bc twice. In handle_frm_te() after
- calling misdn_lib_send_event(bc, EVENT_RELEASE_COMPLETE) bc is
- emptied, cleaned and set not in use, although
- misdn_lib_send_event() already did the same. This is bad. When
- it's not in use we are not allowed to touch it. * Moved log
- message in front of the resulting actions and fixed it to match
- the case. Patches: patch5_bccleanup.diff (license #6372) patch
- uploaded by Guenther Kelleter JIRA ABE-2882 ................
- r374520 | rmudgett | 2012-10-04 18:43:56 -0500 (Thu, 04 Oct 2012)
- | 12 lines chan_misdn: Fix memory leaks, bc, chan not cleaned up
- etc., really bad stuff. * Fix return codes of cb_events() for
- EVENT_SETUP to use caller's cleanup mechanisms. * Move
- cl_queue_chan() call after bearer check. Patches:
- patch6_leaks.diff (license #6372) patch uploaded by Guenther
- Kelleter JIRA ABE-2882 ................ r374521 | rmudgett |
- 2012-10-04 18:48:38 -0500 (Thu, 04 Oct 2012) | 11 lines
- chan_misdn: We must initialize cause on sending a DISCONNECT. We
- must initialize cause on sending a DISCONNECT, so it is later
- correctly indicated to ast_channel in case the answer
- (RELEASE/RELEASE_COMPLETE) does not include one. Patches:
- patch7_hangupcause.diff (license #6372) patch uploaded by
- Guenther Kelleter JIRA ABE-2882 ................ r374522 |
- rmudgett | 2012-10-04 19:03:56 -0500 (Thu, 04 Oct 2012) | 7 lines
- chan_misdn: Remove unused code for upqueue Patches:
- patch8_unused-upqueue.diff (license #6372) patch uploaded by
- Guenther Kelleter JIRA ABE-2882 ................ r374523 |
- rmudgett | 2012-10-04 19:11:50 -0500 (Thu, 04 Oct 2012) | 7 lines
- chan_misdn: Improve debugging (port number, messages fixed, dups
- removed) Patches: patch9_debug.diff (license #6372) patch
- uploaded by Guenther Kelleter JIRA ABE-2882 ................
- r374533 | rmudgett | 2012-10-05 12:17:18 -0500 (Fri, 05 Oct 2012)
- | 8 lines chan_misdn: Better debug: we can print_bc_info even if
- there's no ast leg. Patches: patch10_debug-bc-2.diff (license
- #6372) patch uploaded by Guenther Kelleter Modified. JIRA
- ABE-2882 ................ r374534 | rmudgett | 2012-10-05
- 12:34:10 -0500 (Fri, 05 Oct 2012) | 16 lines chan_misdn:
- setup_bc() is called too early for an incoming SETUP on TE. This
- prevents the B channel from being setup for HDLC mode when
- requested by the bearer capability and config option hdlc=yes. It
- violates ETS300102 Ch.5.2.3.2: "The user, in any case, must not
- connect to the channel until a CONNECT ACKNOWLEDGE message has
- been received." * Call setup_bc() on receipt of
- CONNECT_ACKNOWLEGDE for PTMP, and on first response to SETUP for
- PTP. Patches: abe-2881-2.diff (license #6372) patch uploaded by
- Guenther Kelleter Modified. JIRA ABE-2881 ................
- r374535 | rmudgett | 2012-10-05 12:41:05 -0500 (Fri, 05 Oct 2012)
- | 2 lines chan_misdn: Remove some more deadcode. ................
- ........ Merged revisions 374536 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374537 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374538 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-04 20:21 +0000 [r374478-374493] Alec L Davis <sivad.a@paradise.net.nz>
- * /, configs/dsp.conf.sample, CHANGES, main/dsp.c: dsp.c User
- Configurable DTMF_HITS_TO_BEGIN and DTMF_MISSES_TO_END Instead of
- a recompile, allow values to be adjusted in dsp.conf For binary
- distributions allows easy adjustment for wobbly GSM calls, and
- other reasons. Defaults to DTMF_HITS_TO_BEGIN=2 and
- DTMF_MISSES_TO_END=3 (closes issue ASTERISK-17493) Reported by:
- alecdavis Tested by: alecdavis alecdavis (license 585) Review
- https://reviewboard.asterisk.org/r/2144/ ........ Merged
- revisions 374479 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374481 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374485 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/dsp.c, /: dsp.c fix incorrect DTMF Digit_Duration. it's
- always short by 'hits_to_begin*DTMF_GSIZE', or 25.5ms if
- hitstobegin=2 (issue ASTERISK-16003) Tested by: alecdavis
- alecdavis (license 585) Review
- https://reviewboard.asterisk.org/r/2145/ ........ Merged
- revisions 374475 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374476 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374477 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-04 15:48 +0000 [r374429] David M. Lee <dlee@digium.com>
- * /, res/res_agi.c, main/db.c: Fix DBDelTree error codes for AMI,
- CLI and AGI The AMI DBDelTree command will return Success/Key
- tree deleted successfully even if the given key does not exist.
- The CLI command 'database deltree' had a similar problem, but was
- saved because it actually responded with '0 database entries
- removed'. AGI had a slightly different error, where it would
- return success if the database was unavailable. This came from
- confusion about the ast_db_deltree retval, which is -1 in the
- event of a database error, or number of entries deleted
- (including 0 for deleting nothing). * Changed some poorly named
- res variables to num_deleted * Specified specific errors when
- calling ast_db_deltree (database unavailable vs. entry not found
- vs. success) * Fixed similar bug in AGI database deltree, where
- 'Database unavailable' results in successful result (closes issue
- AST-967) Reported by: John Bigelow Review:
- https://reviewboard.asterisk.org/r/2138/ ........ Merged
- revisions 374426 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374427 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374428 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-04 13:49 +0000 [r374414] Joshua Colp <jcolp@digium.com>
- * include/asterisk/rtp_engine.h, main/rtp_engine.c,
- channels/chan_sip.c: Add support for applying direct media ACLs
- between differing channel technologies. Review:
- https://reviewboard.asterisk.org/r/2122/
- 2012-10-04 04:50 +0000 [r374387] Alec L Davis <sivad.a@paradise.net.nz>
- * CHANGES, main/dsp.c, /, configs/dsp.conf.sample: dsp.c User
- configuration of DTMF_NORMAL_TWIST and DTMF_REVERSE_TWIST values
- Asterisk's DTMF Specifications are based on AT&T specs, which may
- not be compatible in other countries. Various countries have
- different specifications for the maximum power level differences
- between the DTMF low group and high group of frequencies. Power
- level difference between frequencies for different
- Administrations/RPOAs NTT = Max. 5 dB AT&T = 4dB(reverse) to
- 8dB(normal) Danish = Max. 6 dB Australian = Max. 10 dB Brazilian
- = Max. 9 dB ETSI = Max. 6 dB from ETSI ES 201 235-3 V1.3.1
- (2006-03) Now allow 4 variables to be individually configured in
- dsp.conf, with reasonable min/max of 2dB to 20dB. Default is AT&T
- specifications Add's the following variables to dsp.conf
- ;dtmf_normal_twist=6.31 ;dtmf_reverse_twist=2.51
- ;relax_dtmf_normal_twist=6.31 ;relax_dtmf_reverse_twist=3.98
- (closes issue ASTERISK-20442) Reported by: tbsky Tested by:
- tbsky,alecdavis alecdavis (license 585) Review
- https://reviewboard.asterisk.org/r/2141/ ........ Merged
- revisions 374384 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374385 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374386 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-04 02:16 +0000 [r374302-374338] Matthew Jordan <mjordan@digium.com>
- * /, res/res_jabber.c: Check for presence of buddy in info/dinfo
- handlers The res_jabber resource module uses the ASTOBJ library
- for managing its ref counted objects. After calling
- ASTOBJ_CONTAINER_FIND to locate a buddy object, the pointer to
- the object has to be checked to see if the buddy existed. Prior
- to this patch, the buddy object was not checked for NULL; with
- this patch in both aji_client_info_handler and aji_dinfo_handler
- the pointer is checked before used and, if no buddy object was
- found, the handlers return an error code. This patch does not
- take the approach that our JID can be used to log in from another
- resource. If that approach is desired, an improvement could be
- made to this patch to create the buddy on the fly. This patch
- seeks only to prevent Asterisk from crashing. FYI: In Asterisk
- 11+, you really should be using res_xmpp. It does not have this
- problem, as it moved to the astobj2 library. Note that multiple
- people have proposed patches for this issue; the patch being
- committed here is based on those. (closes issue ASTERISK-19532)
- Reported by: Karsten Wemheuer Tested by: Byron Clark patches:
- fix-jabber uploaded by Karsten Wemheuer (license #5930)
- xmpp_no_crash_with_ejabberd.patch uploaded by Byron Clark
- (license #6157) (closes issue ASTERISK-19557) Reported by:
- ulugutz ........ Merged revisions 374335 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374336 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374337 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/ccss.c: Destroy the generic_monitors container after the
- core_instances in ccss For each item in core_instances disposed
- of in the shutdown of ccss, any generic monitor instances
- referenced by the objects will be removed from generic_monitors
- during their destruction. Hilarity ensues if generic_monitors no
- longer exists. Thanks to the Asterisk Test Suite's generic_ccss
- test for complaining loudly when it ran into this. ........
- Merged revisions 374300 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374301 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-02 23:23 +0000 [r374269-374279] Richard Mudgett <rmudgett@digium.com>
- * main/astobj2.c: Missed an astobj2.c debug tag.
- * main/astobj2.c: * Add ref debug tags to astobj2.c ref usage. *
- Make container nodes not show up in the ref debug log.
- 2012-10-02 21:26 +0000 [r374197-374259] Matthew Jordan <mjordan@digium.com>
- * main/asterisk.c, /: Ensure Shutdown AMI event is still fired
- during Asterisk shutdown Richard pointed out that having the
- manager dispose of itself gracefully during shutdown meant that
- the Shutdown event will no longer get fired. This patch moves the
- AMI event just prior to running the atexit callbacks. ........
- Merged revisions 374230 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374231 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374248 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * utils/hashtest2.c: Modify hashtest2 to compile after r374213.
- Someone, somewhere, may care. Because hashtest2 has to provide
- symbols for things in asterisk that items it includes may use,
- when astobj2 decided to use ast_register_atexit it needed to
- provide a declaration for that as well. Otherwise - no linky. On
- a related note, ASTERISK-20505 was filed to convert
- hashtest/hashtest2 into actual unit tests, so we don't run into
- this problem again.
- * main/astobj2.c, main/message.c, /: Fix findings from check-in on
- r374177 Richard pointed out two problems with the check-in from
- r374177: * The ast_msg_shutdown function declaration doesn't
- match the prototype in main/message.c. * The ref/alloc function
- usage in astobj2 (in trunk) can use the ao2_t_* variants of the
- functions to allow the REF_DEBUG flag to enable/disable their
- debug counterparts. ........ Merged revisions 374210 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374211 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/features.c, main/config_options.c, main/event.c,
- main/message.c, main/asterisk.c, main/db.c, main/xmldoc.c,
- main/format.c, main/udptl.c, main/pbx.c, /, main/ccss.c,
- include/asterisk/astobj2.h, channels/chan_agent.c,
- res/res_xmpp.c, main/taskprocessor.c, res/res_musiconhold.c,
- main/named_acl.c, main/cel.c, main/astobj2.c, main/format_pref.c,
- main/indications.c, main/channel.c, main/data.c, main/manager.c:
- Fix a variety of ref counting issues This patch resolves a number
- of ref leaks that occur primarily on Asterisk shutdown. It adds a
- variety of shutdown routines to core portions of Asterisk such
- that they can reclaim resources allocate duringd initialization.
- Review: https://reviewboard.asterisk.org/r/2137 ........ Merged
- revisions 374177 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374178 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374196 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-01 23:39 +0000 [r374164-374167] Andrew Latham <lathama@gmail.com>
- * main/asterisk.c, addons/app_mysql.c, include/asterisk/doxyref.h,
- contrib/asterisk-ng-doxygen, main/http.c: Doxygen Cleanup Start
- adding configuration file linking and pages. Add module loading
- doxygen block. Breaking up commits to keep it easy to track
- (issue ASTERISK-20259)
- * channels/chan_motif.c, channels/chan_alsa.c,
- channels/chan_console.c, channels/chan_gtalk.c,
- channels/chan_iax2.c, channels/chan_oss.c, channels/chan_mgcp.c,
- channels/chan_jingle.c, channels/chan_dahdi.c,
- channels/chan_misdn.c, channels/chan_vpb.cc, channels/chan_sip.c,
- channels/chan_skinny.c: Doxygen Cleanup Start adding
- configuration file linking and pages. Add module loading doxygen
- block. Breaking up commits to keep it easy to track (issue
- ASTERISK-20259)
- * res/res_calendar.c, res/res_clialiases.c,
- res/res_config_sqlite3.c, res/res_smdi.c, res/res_snmp.c,
- res/res_fax.c, res/res_phoneprov.c, res/res_musiconhold.c,
- res/res_xmpp.c, res/res_config_ldap.c, res/res_curl.c,
- res/res_config_sqlite.c, res/res_timing_kqueue.c, res/res_odbc.c:
- Doxygen Cleanup Start adding configuration file linking and
- pages. Add module loading doxygen block. Breaking up commits to
- keep it easy to track (issue ASTERISK-20259)
- * apps/app_alarmreceiver.c, apps/app_amd.c, apps/app_confbridge.c,
- apps/app_followme.c, apps/app_queue.c, apps/app_adsiprog.c,
- apps/app_voicemail.c, apps/app_meetme.c, apps/app_festival.c,
- apps/app_skel.c: Doxygen Cleanup Start adding configuration file
- linking and pages. Add module loading doxygen block. (issue
- ASTERISK-20259)
- 2012-10-01 20:36 +0000 [r374134-374151] Sean Bright <sean@malleable.com>
- * main/db.c, include/asterisk/astdb.h, /, tests/test_db.c,
- apps/app_queue.c: app_queue: Support persisting and loading of
- long member lists. Greenlight in #asterisk brought up that he was
- receiving an error message "Could not create persistent member
- string, out of space" when running app_queue in Asterisk 10.
- dump_queue_members() made an assumption that 8K would be enough
- to store the generated string, but with queues that have large
- member lists this is not always the case. This patch removes the
- limitation and uses ast_str instead of a fixed sized buffer. The
- complicating factor comes from the fact that ast_db_get requires
- a buffer and buffer size argument, which doesn't let us pull back
- more than what we pass in, so I introduced a new
- ast_db_get_allocated() which returns an ast_strdup()'d copy of
- the value from astdb. As an aside, I did some testing on the
- maximum size of data that we can store in the BDB library we
- distribute and was able to store a 10MB string and retrieve it
- with no problems, so I feel this is a safe patch. Review:
- https://reviewboard.asterisk.org/r/2136/ ........ Merged
- revisions 374108 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 374135 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374150 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/db.c, /: Use ast_copy_string instead of strncpy to guarantee
- a NUL terminated string. ........ Merged revisions 374132 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374133 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-01 17:05 +0000 [r374109] Richard Mudgett <rmudgett@digium.com>
- * main/cli.c: Change core show help output format. The CLI "core
- show help" output leaves something to be desired. 1) The command
- is truncated to a maximum of 30 characters. 2) The output columns
- are mirrored from the 31st column. Current output format: logger
- mute Toggle logging output to a console logger reload Reopens the
- log files logger rotate Rotates and reopens the log files logger
- set level {DEBUG|NOTICE Enables/Disables a specific logging level
- for this console logger show channels List configured log
- channels New format: logger mute -- Toggle logging output to a
- console logger reload -- Reopens the log files logger rotate --
- Rotates and reopens the log files logger set level
- {DEBUG|NOTICE|WARNING|ERROR|VERBOSE|DTMF} {on|off} --
- Enables/Disables a specific logging level for this console logger
- show channels -- List configured log channels Review:
- https://reviewboard.asterisk.org/r/2133/
- 2012-10-01 16:26 +0000 [r374107] Mark Michelson <mmichelson@digium.com>
- * /, apps/confbridge/conf_config_parser.c: Don't destroy confbridge
- config when error is encountered during a reload. Not panicking
- means that the old config is kept. (closes issue ASTERISK-20458)
- Reported by: Leif Madsen Patches: ASTERISK-20458.patch uploaded
- by Mark Michelson(license #5049) Tested by Leif Madsen ........
- Merged revisions 374106 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-10-01 12:29 +0000 [r374096] Joshua Colp <jcolp@digium.com>
- * include/asterisk/speech.h, res/res_speech.c,
- apps/app_speech_utils.c: Add support for retrieving engine
- specific settings using the speech API and from dialplan. (closes
- issue ASTERISK-17136) Reported by: kenner
- 2012-09-29 03:56 +0000 [r374086] Matthew Jordan <mjordan@digium.com>
- * /, channels/chan_sip.c: Fix ref leak when adding ICE candidates
- to an SDP There was a missing decrement to the reference count
- for the current ICE candidate when local candidates are being
- added to an outbound SDP. This patch corrects that. ........
- Merged revisions 374085 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-28 22:11 +0000 [r374075] Richard Mudgett <rmudgett@digium.com>
- * res/res_agi.c: Include channel uniqueid in "AsyncAGI" and
- "AGIExec" events. * Added AMI event documentation for AsyncAGI
- and AGIExec events. (closes issue ASTERISK-20318) Reported by:
- Dan Cropp Patches: res_agi_patch.txt (license #6422) patch
- uploaded by Dan Cropp modified for trunk.
- 2012-09-28 19:37 +0000 [r374060] Jonathan Rose <jrose@digium.com>
- * res/res_jabber.c, /: res_jabber: Remove CLI command 'jabber test'
- The opinion of development was that it is both improper to have
- Matt's personal email address used in the source and that the
- command wouldn't be useful without it. (closes issue AST-467)
- Reported by: Malcolm Davenport ........ Merged revisions 374032
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 374045 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 374059 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-28 18:27 +0000 [r374030] Richard Mudgett <rmudgett@digium.com>
- * channels/chan_dahdi.c, channels/sig_analog.c, UPGRADE.txt,
- main/app.c, apps/app_senddtmf.c: Add pause one second W dial
- modifier. * The following dialplan applications now recognize 'W'
- to pause sending DTMF for one second in addition to the
- previously existing 'w' that paused sending DTMF for half a
- second. Dial, ExternalIVR, and SendDTMF. * The chan_dahdi analog
- port dialing and deferred DTMF dialing for PRI now distinguishes
- between 'w' and 'W'. The 'w' pauses dialing for half a second.
- The 'W' pauses dialing for one second. * Created dahdi_dial_str()
- in chan_dahdi that eliminated a lot of duplicated dialing code
- and diagnostic messages for the channel driver. (closes issue
- ASTERISK-20039) Reported by: Jeremiah Gowdy Patches:
- jgowdy-wait-6-22-2012.diff (license #5621) patch uploaded by
- Jeremiah Gowdy Expanded patch to add support in chan_dahdi.
- Tested by: rmudgett
- 2012-09-28 13:04 +0000 [r374020] Brent Eagles <beagles@digium.com>
- * res/res_xmpp.c, main/message.c, /: Reset hangup flags on channels
- created through messages and cleanup globals in res_xmpp on
- unload. This patch fixes an issue where hangup flags were not
- being reset on a channel, affecting subsequent use of that
- channel. The patch also adds some additional cleanup to res_xmpp
- to fix an issue with reloading the module. (closes
- ASTERISK-20360) Reported by: Noah Engelberth Tested by: beagles
- Review: https://reviewboard.asterisk.org/r/2134/ ........ Merged
- revisions 374019 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-28 12:17 +0000 [r373992] Joshua Colp <jcolp@digium.com>
- * /, res/res_agi.c: Update documentation to make it explicit that
- "stream file" will not restart musiconhold. (issue
- ASTERISK-17367) Reported by: oej ........ Merged revisions 373989
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 373990 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373991 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-28 03:06 +0000 [r373979] Matthew Jordan <mjordan@digium.com>
- * CHANGES, apps/app_senddtmf.c: Add Duration header for PlayDTMF
- AMI Action This patch adds an optional header to the PlayDTMF AMI
- action, Duration. It allows the duration of the DTMF digit to be
- played on the channel to be specified in milliseconds. (closes
- issue ASTERISK-18172) Reported by: Renato dos Santos patches:
- send-dtmf.patch uploaded by Renato dos Santos (license #6267)
- Modified slightly for this commit for Asterisk 12.
- 2012-09-27 22:43 +0000 [r373965-373967] Richard Mudgett <rmudgett@digium.com>
- * apps/app_dial.c: Tweak app_dial documentation.
- * main/app.c: Cleanup ast_dtmf_stream() * Made ast_dtmf_stream()
- wait after starting the silence generator rather than before. *
- Made ast_dtmf_stream() put the peer in autoservice for the whole
- time things are being done to the chan.
- * apps/app_senddtmf.c, /: Fix SendDTMF crash and channel reference
- leak using channel name parameter. The SendDTMF channel name
- parameter has two issues. 1) Crashes if the channel name does not
- exist. 2) Leaks a channel reference if the channel is the current
- channel. Problem introduced by ASTERISK-15956. * Updated SendDTMF
- documentation. * Renamed app to senddtmf_name and tweaked the
- type. ........ Merged revisions 373945 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373946 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373954 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-27 17:12 +0000 [r373915] Joshua Colp <jcolp@digium.com>
- * res/res_http_websocket.c, /, channels/chan_sip.c,
- include/asterisk/http_websocket.h: Make res_http_websocket an
- optional dependency on supported platforms for chan_sip. (closes
- issue ASTERISK-20439) Reported by: sruffell Patches:
- 0001-chan_sip-websocket-support-is-an-optional-API.patch uploaded
- by sruffell (license 5417) ........ Merged revisions 373914 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-27 17:02 +0000 [r373913] Kinsey Moore <kmoore@digium.com>
- * apps/app_voicemail.c, CHANGES: Add VoicemailRefresh AMI Action
- Currently, if there are modifications to mailboxes that Asterisk
- is not aware of, the user needs to add "pollmailboxes" to their
- mailbox configuration, which repeatedly polls the subscribed
- mailboxes for changes. This results in a lot of extra work for
- the CPU. This patch introduces the AMI command VoicemailRefresh
- which permits external applications to trigger the refresh
- themselves. The refresh can apply to a specified mailbox only, an
- entire context, or all configured mailboxes. Even a refresh
- performed on every mailbox would not consume as much CPU as the
- pollmailboxes option, given that pollmailboxes runs continuously
- and this only runs on demand. (closes issue ASTERISK-17206)
- (closes issue ASTERISK-19908) Reported-by: Jeff Hutchins
- Reported-by: Tilghman Lesher Patch-by: Tilghman Lesher
- 2012-09-27 16:53 +0000 [r373881-373912] Joshua Colp <jcolp@digium.com>
- * /, main/loader.c: loader: Ensure dependent modules are properly
- initialized. If an Asterisk module specifies a dependency in
- ast_module_info.nonoptreq, it is possible for Asterisk to skip
- calling the modules's .load function. Asterisk was loading and
- linking the module via load_dynamic_module() but was not adding
- the module to the resource_heap. Therefore the module was not
- initialized based on it's priority along with the other modules
- in the heap. Now use load_resource() instead of
- load_dynamic_module() for non-optional requirement. This will add
- the module to the resource_heap so the module can be properly
- initialized in the correct order. This is required if there are
- any module global data structures initialized in the .load()
- callback for the module on platforms which do not support weak
- references. (issue ASTERISK-20439) Reported by: sruffell Patches:
- 0001-loader-Ensure-dependent-modules-are-properly-initial.patch
- uploaded by sruffell (license 5417) ........ Merged revisions
- 373909 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 373910 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373911 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_local.c, /: Fix an issue where Local channels
- dialed by app_queue are considered in use immediately. The
- chan_local channel driver returns a device state of in use even
- if a created Local channel has not yet been dialed. This fix
- changes the logic to return a state of not in use until the
- channel itself has been dialed. (closes issue ASTERISK-20390)
- Reported by: tim_ringenbach Review:
- https://reviewboard.asterisk.org/r/2116/ ........ Merged
- revisions 373878 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373879 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373880 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-26 21:17 +0000 [r373852] Mark Michelson <mmichelson@digium.com>
- * /, channels/chan_sip.c: Move handling of 408 response so there is
- no misleading warning message. (closes issue ASTERISK-20060)
- Reported by: Walter Doekes ........ Merged revisions 373848 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373849 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373850 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-26 18:23 +0000 [r373835] Richard Mudgett <rmudgett@digium.com>
- * /, apps/app_meetme.c: Fixed meetme tab completion and command
- documentation. * Removed unnecessary case sensitivity in meetme
- list, lock, unlock, mute, unmute, and kick commands. * Separated
- meetme lock/unlock, mute/unmute, and kick commands into their own
- registered commands to simplify tab completion and parameter
- checking. meetme_lock_cmd(), meetme_mute_cmd(), and
- meetme_kick_cmd() * Simplified meetme_show_cmd() (closes issue
- AST-1006) Reported by: John Bigelow Tested by: rmudgett ........
- Merged revisions 373815 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373816 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373818 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-26 08:31 +0000 [r373805] Alec L Davis <sivad.a@paradise.net.nz>
- * apps/app_queue.c, /: app_queue: 'agent available' hint, cleanup
- restart, and initial state Fix previously untested senarios; 1).
- On queue initialisation set queue_avail devstate to INUSE.
- Previously was unavailable, which indicated an agent was
- available. 2). When removing members, if there are no other
- members available, set queue_avail to INUSE. Previously, if a
- member interface had become 'unavailable', they were never going
- to be removed, particularly when persistant queues is enabled.
- 3). When adding a member, check that they are available, if they
- are set queue_avail to NOT_INUSE. Previously on reloaded, members
- may have been 'unavailable'. 4). When pausing or unpausing a
- member, set appropriate queue availability. alecdavis (license
- 585) Reported by: Alec Davis Tested by: alecdavis Review:
- https://reviewboard.asterisk.org/r/2129/ ........ Merged
- revisions 373804 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-25 23:10 +0000 [r373740-373776] Mark Michelson <mmichelson@digium.com>
- * /, main/say.c: Fix saying of date in Dutch. The Dutch say the
- date before the month. (closes issue ASTERISK-20353) Reported by:
- Teun Ouwehand ........ Merged revisions 373773 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373774 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373775 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_agent.c, configs/agents.conf.sample: Remove dead
- code and documentation for nonexistent feature. multiplelogin was
- removed from chan_agent back in 1.6.0 when AgentCallbackLogin()
- was removed. (closes issue AST-948) reported by Steve Pitts
- ........ Merged revisions 373768 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373769 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373770 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/app_voicemail.c, /: Fix error where improper IMAP greetings
- would be deleted. (closes issue ASTERISK-20435) Reported by:
- fhackenberger Patches: asterisk-20435-imap-del-greeting.diff
- uploaded by Michael L. Young (License #5026) (with suggested
- modification made by me) ........ Merged revisions 373735 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373737 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373738 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-25 20:14 +0000 [r373708] Joshua Colp <jcolp@digium.com>
- * channels/chan_local.c, /: Fix T.38 support when used with
- chan_local in between. Users of the T.38 API can indicate
- AST_T38_REQUEST_PARMS on a channel to request that the channel
- indicate a T.38 negotiation with the parameters present on the
- channel. The return value of this indication is expected to be
- AST_T38_REQUEST_PARMS upon success but with chan_local involved
- this could never occur. This fix changes chan_local to always
- return AST_T38_REQUEST_PARMS for this situation. If the
- underlying channel technology on the other side does not support
- T.38 this would have been determined ahead of time using
- ast_channel_get_t38_state and an indication would not occur.
- (closes issue ASTERISK-20229) Reported by: wdoekes Patches:
- ASTERISK-20229.patch uploaded by wdoekes (license 5674) Review:
- https://reviewboard.asterisk.org/r/2070/ ........ Merged
- revisions 373705 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373706 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373707 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-25 19:29 +0000 [r373701] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/channel.h, CHANGES, channels/sig_pri.c,
- funcs/func_callerid.c, include/asterisk/callerid.h,
- main/channel.c, channels/chan_misdn.c, channels/chan_sip.c,
- main/callerid.c: Allow for redirecting reasons to be set to
- arbitrary strings. This allows for the REDIRECTING dialplan
- function to be used to set the reason to any string. The SIP
- channel driver has been modified to set the redirecting reason
- string to the value received in a Diversion header. In addition,
- SIP 480 response reason text will set the redirecting reason as
- well. (closes issue AST-942) reported by Malcolm Davenport
- (closes issue AST-943) reported by Malcolm Davenport Review:
- https://reviewboard.asterisk.org/r/2101
- 2012-09-25 19:08 +0000 [r373691] Terry Wilson <twilson@digium.com>
- * configs/sip.conf.sample, channels/sip/include/sip.h, /,
- channels/chan_sip.c: Properly handle UAC/UAS roles for SIP
- session timers The SIP session timer mechanism contains a
- mandatory 'refresher' parameter (included in the Session-Expires
- header) which is used in the session timer offer/answer signaling
- within a SIP Invite dialog. It looks like asterisk is
- interpreting the uac resp. uas role only as the initial role of
- client and server (caller is uac, callee is uas). The standard
- rfc 4028 however assigns the client role to the ((RE)-Invite)
- requester, the server role to the ((RE)-Invite) responder. This
- patch has Asterisk track the actual refresher as "us" or "them"
- as opposed to relying on just the configured "uas" or "uac"
- properties. (closes issue AST-922) Reported by: Thomas Airmont
- Review: https://reviewboard.asterisk.org/r/2118/ ........ Merged
- revisions 373652 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373665 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373690 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-25 18:33 +0000 [r373689] Kinsey Moore <kmoore@digium.com>
- * /, apps/app_queue.c: "show" completion option for "queue"
- shouldn't appear twice When tab-completing CLI commands starting
- with "queue", "show" appeared twice in the list due to the way
- that Asterisk's tab completion functions and the order in which
- the commands were registered. The registration order has been
- altered to resolve this issue. (closes issue AST-940)
- Reported-by: Steve Pitts ........ Merged revisions 373666 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373675 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373688 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-25 17:22 +0000 [r373636-373656] Richard Mudgett <rmudgett@digium.com>
- * /, codecs/ilbc/iLBC_encode.c, codecs/ilbc/iLBC_decode.c: Fix
- valgrind found memcpy issues in codec_ilbc. Valgrind found
- codec_ilbc using memcpy instead of memmove for overlapping memory
- blocks. (issue ASTERISK-19890) (closes issue ASTERISK-20231)
- Reported by: Walter Doekes Patches: ASTERISK-20231.patch (license
- #5674) patch uploaded by Walter Doekes ........ Merged revisions
- 373640 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 373645 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373650 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, codecs/Makefile: Make rebuild GSM, ilbc, or lpc10 codecs if
- the respective sources change. ........ Merged revisions 373618
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 373633 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373635 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-25 16:45 +0000 [r373608-373634] Jonathan Rose <jrose@digium.com>
- * /, channels/chan_sip.c: chan_sip: Set Quality of Service for
- video rtp instance (closes issue ASTERISK-20201) Reported by:
- ddkprog Patches: chan_sip.c.diff uploaded by ddkprog (license
- 6008) ........ Merged revisions 373617 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373631 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373632 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_agi.c: res_agi: async_agi responsiveness improvement on
- datastore problems This patch changes get_agi_cmd so that the
- return can be checked to differentiate between an empty list
- success and something that triggered an error. This in turn
- allows launch_asyncagi to detect these errors and break free from
- the command processing loop so that the async agi can be ended
- more cleanly (closes issue ASTERISK-20109) Reported by: Jeremiah
- Gowdy Patches: jgowdy-7-9-2012.diff uploaded by Jeremiah Gowdy
- (license 6358) (Modified by me to fix some logical issues and
- apply to trunk) Review: https://reviewboard.asterisk.org/r/2117/
- 2012-09-25 14:13 +0000 [r373583] Mark Michelson <mmichelson@digium.com>
- * funcs/func_presencestate.c, /: "He who go through turnstile
- sideways is going to Bangkok" ........ Merged revisions 373582
- from http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-25 13:29 +0000 [r373581] Kinsey Moore <kmoore@digium.com>
- * configs/res_odbc.conf.sample, /: Fix documentation for default
- username in res_odbc This was previously stated to be "root", but
- is actually the name of the context if unspecified. (closes issue
- ASTERISK-20258) Reported by: Stefan x ........ Merged revisions
- 373578 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 373579 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373580 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-25 12:12 +0000 [r373553] Joshua Colp <jcolp@digium.com>
- * /, res/res_rtp_multicast.c: Fix an issue where a caller to
- ast_write on a MulticastRTP channel would determine it failed
- when in reality it did not. When sending RTP packets via
- multicast the amount of data sent is stored in a variable and
- returned from the write function. This is incorrect as any
- non-zero value returned is considered a failure while a return
- value of 0 is success. For callers (such as ast_streamfile) that
- checked the return value they would have considered it a failure
- when in reality nothing went wrong and it was actually a success.
- The write function for the multicast RTP engine now returns -1 on
- failure and 0 on success, as it should. (closes issue
- ASTERISK-17254) Reported by: wybecom ........ Merged revisions
- 373550 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 373551 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373552 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-24 22:14 +0000 [r373503] Richard Mudgett <rmudgett@digium.com>
- * /, channels/chan_sip.c: Be consistent, send From: "Anonymous"
- <sip:anonymous@anonymous.invalid> When setting
- CALLERID(pres)=unavailable in the dialplan, the From header in
- the SIP message contains "Anonymous"
- <sip:Anonymous@anonymous.invalid>. For consistency, Asterisk
- should use a lowercase a in the userpart of the URI. * Make the
- From header use a lowercase A in the userpart of the anonymous
- URI. (closes issue ASTERISK-19838) Reported by: Antti Yrjola
- Patches: chan_sip_patch_ASTERISK-19838.patch (license #6383)
- patch uploaded by Antti Yrjola ........ Merged revisions 373500
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 373501 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373502 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-24 21:19 +0000 [r373479] Jonathan Rose <jrose@digium.com>
- * apps/app_mixmonitor.c, funcs/func_audiohookinherit.c, /:
- func_audiohookinherit: Document some missed sources. This patch
- also mentions that AUDIOHOOK_INHERIT can be used to transfer
- MixMonitor audiohooks. There is also wiki that addresses
- audiohooks and the use of AUDIOHOOK_INHERIT at the following
- link: https://wiki.asterisk.org/wiki/display/AST/Audiohooks
- (closes issue ASTERISK-18220) Reported by: Ishfaq Malik ........
- Merged revisions 373467 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373468 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373470 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-24 21:15 +0000 [r373471] Richard Mudgett <rmudgett@digium.com>
- * /, channels/chan_sip.c: Fix potential reentrancy problems in
- chan_sip. Asterisk v1.8 and later was not as vulnerable to this
- issue. * Made find_call() lock each private as it processes the
- found dialogs. (Primary cause of ABE-2876) * Made the other
- functions that traverse the dialogs container lock each private
- as it examines them. * Fix race condition in sip_call() if the
- thread that sent the INVITE is held up long enough for a response
- to be processed. The p->initid for the INVITE retransmission
- could be added after it was canceled by the response processing.
- * Made __sip_destroy() clean up resource pointers after freeing.
- This is primarily defensive in case someone has a stale private
- pointer. * Removed redundant memset() in reqprep(). The call to
- init_req() already does the memset() and is the first reference
- to req in reqprep(). * Removed useless set of req.method in
- transmit_invite(). The calls to initreqprep() and reqprep() have
- to do this because they memset() the req. JIRA ABE-2876
- .......... Merged -r373423 from
- https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
- ........ Merged revisions 373424 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373466 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373469 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-24 19:23 +0000 [r373414-373456] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_sip.c: Fix a deadlock caused by a race condition
- between removing a hint and reloading the dialplan and
- subscribing to the removed hint. If conditions were right it was
- possible for both the PBX core and chan_sip to deadlock by both
- having a lock that the other wants. In the case of the PBX core
- it had the contexts lock and wanted a SIP dialog lock, while in
- the case of chan_sip it had the SIP dialog lock and wanted the
- contexts lock. This fix unlocks the SIP dialog before getting the
- extension state so that the other thread will not block on trying
- to lock it. Once the extension state is retrieved the SIP dialog
- is locked again and life carries on. As the SIP dialog is
- reference counted it is not possible for it to go away after
- unlocking. (closes issue ASTERISK-20437) Reported by: jhutchins
- ........ Merged revisions 373438 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373440 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373454 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_format_attr_h264.c, /, channels/chan_sip.c: Fix an issue
- with H.264 format attribute comparison and fix an issue with
- improper SDP being produced. The H.264 format attribute module
- compares two format attribute structures to determine if they are
- compatible or not. In some instances it was possible for this
- check to determine that both structures were incompatible when
- they actually should be considered compatible. This check has now
- been made even more permissive by assuming that if no attribute
- information is available the two structures are compatible. If
- both structures contain attribute information a base level
- comparison of the H.264 IDC value is done to see if they are
- compatible or not. The above issue uncovered a secondary issue in
- chan_sip where the SDP being produced would be incorrect if the
- formats were considered incompatible. This has now been fixed by
- checking that all information required to produce the SDP is
- available instead of assuming it is. (closes issue
- ASTERISK-20464) Reported by: Leif Madsen ........ Merged
- revisions 373413 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-24 12:42 +0000 [r373404] Brent Eagles <beagles@digium.com>
- * res/res_rtp_asterisk.c, /, configs/rtp.conf.sample:
- res_rtp_asterisk: Make TURN and STUN server configurations
- consistent. This patch removes the turnport configuration
- property and changes the turnaddr property to be a combined
- host[:port] configuration string. The patch also modifies the
- documentation in the example configuration to reflect the
- property changes and adds some additional text indicating how the
- STUN port is configured. (closes issue ASTERISK-20344) Reported
- by: beagles Tested by: beagles Review:
- https://reviewboard.asterisk.org/r/2111/ ........ Merged
- revisions 373403 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-22 20:43 +0000 [r373384] Andrew Latham <lathama@gmail.com>
- * Makefile, cel/cel_odbc.c, include/asterisk/doxyref.h,
- main/manager.c, doc/README.txt, include/asterisk/xmpp.h,
- apps/app_minivm.c, cel/cel_sqlite3_custom.c,
- include/asterisk/format.h, main/audiohook.c,
- include/asterisk/pbx.h, res/res_timing_kqueue.c,
- addons/chan_mobile.c, main/asterisk.c, main/xmldoc.c,
- channels/chan_mgcp.c, apps/app_voicemail.c, utils/refcounter.c,
- res/res_config_pgsql.c, main/pbx.c, main/ccss.c,
- channels/chan_sip.c, tests/test_gosub.c,
- include/asterisk/doxygen/mantisworkflow.h (removed),
- contrib/asterisk-ng-doxygen, channels/chan_agent.c, main/astfd.c,
- apps/app_queue.c, codecs/speex/speex_resampler.h,
- res/res_config_sqlite.c: Doxygen Updates Janitor Work *
- Whitespace, doc-blocks, spelling, case, missing and incorrect
- tags. * Add cleanup to Makefile for the Doxygen configuration
- update * Start updating Doxygen configuration for cleaner output
- * Enable inclusion of configuration files into documentation *
- remove mantisworkflow... * update documentation README * Add
- markup to Tilghman's email and talk with him about updating his
- email, he knows... * no code changes on this commit other than
- the mentioned Makefile change (issue ASTERISK-20259)
- 2012-09-21 19:35 +0000 [r373369] Jonathan Rose <jrose@digium.com>
- * /, channels/iax2-provision.c: iax2-provision: Fix improper return
- on failed cache retrieval (closes issue ASTERISK-20337) reported
- by: John Covert Patches: iax2-provision.c.patch uploaded by John
- Covert (license 5512) ........ Merged revisions 373342 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373343 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373368 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-21 18:22 +0000 [r373320-373341] Andrew Latham <lathama@gmail.com>
- * contrib/asterisk-ng-doxygen: Update Doxygen Config Comments This
- annoying update is almost totally whitespace and updated config
- comments. I did add Python to the documented file types. (issue
- ASTERISK-20259)
- * include/asterisk/localtime.h, apps/app_ices.c, cdr/cdr_pgsql.c,
- res/res_xmpp.c, res/res_jabber.c, cdr/cdr_radius.c,
- include/asterisk/doxygen/releases.h, include/asterisk/doxyref.h,
- res/res_smdi.c, main/manager.c, main/tdd.c,
- include/asterisk/bridging_features.h, main/ast_expr2f.c,
- cdr/cdr_sqlite.c, apps/app_skel.c, include/asterisk/sip_api.h,
- channels/chan_motif.c, main/http.c, apps/app_confbridge.c,
- include/asterisk/doxygen/commits.h, res/res_config_ldap.c,
- res/res_curl.c, main/strings.c, res/res_config_pgsql.c,
- codecs/codec_speex.c, res/res_crypto.c, main/acl.c,
- channels/chan_console.c, res/res_config_curl.c,
- channels/chan_jingle.c, include/asterisk/app.h,
- include/asterisk/res_odbc.h, channels/chan_misdn.c,
- include/asterisk/doxygen/asterisk-git-howto.h,
- include/asterisk/xmpp.h, include/asterisk/jabber.h,
- channels/chan_h323.c, include/asterisk/doxygen/reviewboard.h,
- channels/sip/include/sdp_crypto.h, main/asterisk.c,
- main/xmldoc.c, include/asterisk/doxygen/architecture.h,
- include/asterisk/acl.h, cel/cel_pgsql.c, funcs/func_speex.c,
- cel/cel_radius.c, apps/app_meetme.c, main/ccss.c, res/res_snmp.c,
- include/asterisk/doxygen/mantisworkflow.h, main/sha1.c,
- channels/sip/reqresp_parser.c: Doxygen Updates - janitor work
- Doxygen updates including mistakes, misspellings, missing
- parameters, updates for Doxygen style. Some missing txt file
- links are removed but their content or essense will be included
- in some later updates. A majority of the txt files were removed
- in the 1.6 era but never noted. The HR and EXTREF are simple
- changes that make the documentation more compatable with more
- versions of Doxygen. Further updates coming. (issue
- ASTERISK-20259)
- * README: Start work on documentation janitor project with a little
- commit. This adds a link to the Asterisk wiki at
- https://wiki.asterisk.org to the README file. (issue
- ASTERISK-20259)
- 2012-09-21 15:41 +0000 [r373319] Jonathan Rose <jrose@digium.com>
- * /, apps/app_queue.c: app_queue: Make queue reload members and
- variants of that work Prior to this patch, 'queue reload members'
- cli command did not work at all. This also affects the manager
- function 'QueueReload' when supplied with the 'members: yes'
- field. (closes issue AST-956) Reported by: John Bigelow ........
- Merged revisions 373298 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373300 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373318 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-21 09:11 +0000 [r373275-373284] Alec L Davis <sivad.a@paradise.net.nz>
- * main/dsp.c: dsp.c: remove more whitespace mentioned in review2107
- * main/dsp.c: dsp.c ast_dsp_call_progress use local short variable
- in loop, plus other cleanup janitor cleanup. No functional
- change. 1). ast_dsp_call_progress: use 'short samp' instead of
- s[x] inside loop. apply same casting as other _init, dsp->energy
- = (int32_t) samp * (int32_t) samp 2). ast_dtmf_detect_init: move
- repeated setting of s->energy to outside of loop. do
- goertzel_init loop first before setting s->lasthit and
- s->current_hit, consistant with ast_dsp_digitreset() 3).
- ast_mf_detect_init: do goertzel_init loop first before setting
- s->hits[] and s->current_hit, consistant with
- ast_dsp_digitreset() 4). Don't chain init different variables, as
- the type may change Review
- https://reviewboard.asterisk.org/r/2107/
- 2012-09-20 19:16 +0000 [r373247] Joshua Colp <jcolp@digium.com>
- * /, apps/app_meetme.c: Fix incorrect MeetME conference bridge
- reference count decrementing and sometimes premature destruction.
- When using the 'e' or 'E' option to MeetMe the configured
- conference bridges are loaded and examined to see if any are
- empty. If no conference bridges are empty the caller is prompted
- to enter the number of one. This operation left around a pointer
- to the last created conference bridge still containing
- participants. When the caller that was not able to find any empty
- conference bridge hung up this pointer was disposed of and the
- reference count of the conference bridge decremented. If there
- was only a single participant in the conference bridge it was
- ultimately destroyed prematurely. (closes issue AST-994) Reported
- by: John Bigelow ........ Merged revisions 373242 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373245 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373246 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-20 18:44 +0000 [r373239] Matthew Jordan <mjordan@digium.com>
- * CHANGES, apps/app_queue.c, configs/extensions.conf.sample, /: Add
- queue monitoring hints This patch adds support for hints on a
- queue. Hints can be added using the nomenclature 'Queue:name',
- where name is the name of the queue being monitored. This nifty
- feature was done by Alec Davis. Review:
- https://reviewboard.asterisk.org/r/1619 Reported by: Alec Davis
- Tested by: alecdavis patches: review1619.diff2 by alecdavis
- (license 585) ........ Merged revisions 373235 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-20 18:27 +0000 [r373234] Joshua Colp <jcolp@digium.com>
- * channels/sip/include/sip.h, res/res_rtp_asterisk.c,
- main/rtp_engine.c, /, channels/chan_sip.c, configure,
- include/asterisk/autoconfig.h.in, configure.ac,
- configs/sip.conf.sample, include/asterisk/rtp_engine.h: Add
- support for DTLS-SRTP to res_rtp_asterisk and chan_sip. As
- mentioned on the review for this, WebRTC has moved towards
- choosing DTLS-SRTP as the mechanism for key exchange for SRTP.
- This commit adds support for this but makes it available for
- normal SIP clients as well. Testing has been done to ensure that
- this introduces no regressions with existing behavior and also
- that it functions as expected. Review:
- https://reviewboard.asterisk.org/r/2113/ ........ Merged
- revisions 373229 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-20 18:02 +0000 [r373222] Matthew Jordan <mjordan@digium.com>
- * apps/app_queue.c: Support all ways a member can be available for
- 'agent available' hints Alec's patch in r373188 added the ability
- to subscribe to a hint for when Queue members are available. This
- patch modifies the check that determines when a Queue member is
- available by refactoring the availability checks in
- num_available_members into a shared function is_member_available.
- This should now handle the ringinuse option, as well as device
- state values other than AST_DEVICE_NOT_INUSE.
- 2012-09-20 17:22 +0000 [r373221] Richard Mudgett <rmudgett@digium.com>
- * apps/app_directed_pickup.c, funcs/func_channel.c,
- main/features.c, include/asterisk/channel.h,
- include/asterisk/features.h, main/channel.c, /: Named call pickup
- groups. Fixes, missing functionality, and improvements. *
- ASTERISK-20383 Missing named call pickup group features:
- CHANNEL(callgroup) - Need CHANNEL(namedcallgroup)
- CHANNEL(pickupgroup) - Need CHANNEL(namedpickupgroup) Pickup() -
- Needs to also select from named pickup groups. * ASTERISK-20384
- Using the pickupexten, the pickup channel selection could fail
- even though there was a call it could have picked up. In a call
- pickup race when there are multiple calls to pickup and two
- extensions try to pickup a call, it is conceivable that the loser
- will not pick up any call even though it could have picked up the
- next oldest matching call. Regression because of the named call
- pickup group feature. * See ASTERISK-20386 for the implementation
- improvements. These are the changes in channel.c and channel.h. *
- Fixed some locking issues in CHANNEL(). (closes issue
- ASTERISK-20383) Reported by: rmudgett (closes issue
- ASTERISK-20384) Reported by: rmudgett (closes issue
- ASTERISK-20386) Reported by: rmudgett Tested by: rmudgett Review:
- https://reviewboard.asterisk.org/r/2112/ ........ Merged
- revisions 373220 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-20 13:04 +0000 [r373212] Kinsey Moore <kmoore@digium.com>
- * /, channels/chan_sip.c: Correct handling of unknown SDP stream
- types When the patch to handle arbitrary SDP stream arrangements
- went into Asterisk, it also included an ability to transparently
- decline unknown stream types. The scanf calls used were not
- checked properly causing this part of the functionality to be
- broken. (closes issue ASTERISK-20203) ........ Merged revisions
- 373211 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-20 11:05 +0000 [r373203] Sean Bright <sean@malleable.com>
- * res/res_curl.c: When trying to unload res_curl.so, warn about all
- dependent modules. Before this, attempting to unload res_curl.so
- would warn you about the first module it found that was
- dependent. We now warn about all of the loaded modules instead.
- 2012-09-20 10:41 +0000 [r373188-373202] Alec L Davis <sivad.a@paradise.net.nz>
- * main/dsp.c: dsp.c: remove whitespace mentioned in review2107
- Related https://reviewboard.asterisk.org/r/2107/
- * CHANGES, apps/app_queue.c, configs/extensions.conf.sample:
- app_queue: Support an 'agent available' hint Sets INUSE when no
- free agents, NOT_INUSE when an agent is free. modifes
- handle_statechange() scan members loop to scan for a free agent
- and updates the Queue:queuename_avial devstate. Previously exited
- early if the member was found in the queue. Now Exits later when
- both a member was found, and a free agent was found. alecdavis
- (license 585) Reported by: Alec Davis Tested by: alecdavis
- Review: https://reviewboard.asterisk.org/r/2121/
- 2012-09-18 20:19 +0000 [r373134-373142] Sean Bright <sean@malleable.com>
- * main/logger.c: Make the casing of CALL_ID in debug messages
- consistent to satisfy my OCD.
- * main/manager.c, /: Don't crash when passing a NULL message to
- __astman_get_header. Before this commit, __astman_get_header
- would blindly dereference the passed in 'struct message *' to
- traverse the header list. There are cases, however, such as
- '*CLI> sip qualify peer foo' where the message pointer is NULL,
- so we need to check for that. ........ Merged revisions 373131
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 373132 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373133 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-18 15:50 +0000 [r373120] David M. Lee <dlee@digium.com>
- * /, configure, include/asterisk/autoconfig.h.in, configure.ac,
- makeopts.in, Makefile, include/asterisk/utils.h: Add
- -fnested-functions compile flag, if needed. In order to use
- nested functions on some versions of GCC (e.g. GCC on OS X), the
- -fnested-functions flag must be passed to the compiler. This
- patch adds detection logic to ./configure to add the flag if
- necessary. It also adds a comment to utils.h as to why the nested
- function needs a prototype. (closes issue ASTERISK-20399)
- Reported by: David M. Lee Review:
- https://reviewboard.asterisk.org/r/2102/ ........ Merged
- revisions 373119 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-15 00:32 +0000 [r373108] Richard Mudgett <rmudgett@digium.com>
- * channels/sig_ss7.c, /: Made companding law for SS7 calls only
- determined by SS7 signaling type. For SS7, the companding law for
- a call was chosen inconsistently depending upon ss7type (ITU vs
- ANSI) and the DAHDI companding default (T1 vs E1). For incoming
- calls, the companding law was determined by ss7type. For outgoing
- calls, the companding law was determined by the DAHDI default.
- With the wrong combination you would get A-law/u-law conflicts.
- An A-law/u-law conflict sounds like bad static on the line. SS7
- ITU signaling with E1 line: ok SS7 ITU signaling with T1 line:
- noise SS7 ANSI signaling with E1 line: noise SS7 ANSI signaling
- with T1 line: ok * Fix the companding law used to be determined
- by the SS7 signaling type only. ........ Merged revisions 373090
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 373101 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373107 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-14 19:53 +0000 [r373080] Matthew Jordan <mjordan@digium.com>
- * main/libasteriskssl.c, main/tcptls.c, /, channels/chan_sip.c:
- Resolve memory leaks in TLS initialization and TLS client
- connections This patch resolves two sources of memory leaks when
- using TLS in Asterisk: 1) It removes improper initialization (and
- multiple re-initializations) of portions of the SSL library.
- Asterisk calls SSL_library_init and SSL_load_error_strings during
- SSL initialization; collectively this obviates the need for
- calling any of the following during initialization or client
- connection handling: * ERR_load_crypto_strings (handled by
- SSL_load_error_strings) * OpenSSL_add_all_algorithms (synonym for
- SSL_library_init) * SSLeay_add_ssl_algorithms (synonym for
- SSL_library_init) 2) Failure to completely clean up all memory
- allocated by Asterisk and by the SSL library for TLS clients.
- This included not freeing the SSL_CTX object in the SIP channel
- driver, as well as not clearing the error stack when the TLS
- client exited. Note that these memory leaks were found by Thomas
- Arimont, and this patch was essentially written by him with some
- minor tweaks. (closes issue AST-889) Reported by: Thomas Arimont
- Tested by: Thomas Arimont patches: (bugAST-889.patch) by Thomas
- Arimont (license 5525) Review:
- https://reviewboard.asterisk.org/r/2105 ........ Merged revisions
- 373061 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 373062 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373079 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-13 20:05 +0000 [r373046-373048] David M. Lee <dlee@digium.com>
- * /, main/Makefile: Fixed make clean when configured
- --disable-asteriskssl ........ Merged revisions 373047 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/channel.c, /, include/asterisk/channel.h: Fix timeouts for
- ast_waitfordigit[_full]. ast_waitfordigit_full would simply pass
- its timeout to ast_waitfor_nandfds, expecting it to decrement the
- timeout by however many milliseconds were waited. This is a
- problem if it consistently waits less than 1ms. The timeout will
- never be decremented, and we wait... FOREVER! This patch makes
- ast_waitfordigit_full manage the timeout itself. It maintains the
- previously undocumented behavior that negative timeouts wait
- forever. (closes issue ASTERISK-20375) Reported by: Mark
- Michelson Tested by: Mark Michelson Review:
- https://reviewboard.asterisk.org/r/2109/ ........ Merged
- revisions 373024 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 373025 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 373029 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-12 21:02 +0000 [r372997] Richard Mudgett <rmudgett@digium.com>
- * main/astobj2.c, main/channel.c, include/asterisk/astobj2.h,
- tests/test_astobj2.c: Enhance astobj2 to support other types of
- containers. The new API allows for sorted containers, insertion
- options, duplicate handling options, and traversal order options.
- * Adds the ability for containers to be sorted when they are
- created. * Adds container creation options to handle duplicates
- when they are inserted. * Adds container creation option to
- insert objects at the beginning or end of the container traversal
- order. * Adds OBJ_PARTIAL_KEY to allow searching with a partial
- key. The partial key works similarly to the OBJ_KEY flag. (The
- real search speed improvement with this flag will come when
- red-black trees are added.) * Adds container traversal and
- iteration order options: Ascending and Descending. * Adds an
- AST_DEVMODE compile feature to check the stats and integrity of
- registered containers using the CLI "astobj2 container stats
- <name>" and "astobj2 container check <name>". The channels
- container is normally registered since it is one of the most
- important containers in the system. * Adds ao2_iterator_restart()
- to allow iteration to be restarted from the beginning. * Changes
- the generic container object to have a v_method table pointer to
- support other types of containers. * Changes the container nodes
- holding objects to be ref counted. The ref counted nodes and
- v_method table pointer changes pave the way to allow other types
- of containers. * Includes a large astobj2 unit test enhancement
- that tests the new features. (closes issue ASTERISK-19969)
- Reported by: rmudgett Review:
- https://reviewboard.asterisk.org/r/2078/
- 2012-09-12 20:54 +0000 [r372996] Joshua Colp <jcolp@digium.com>
- * channels/chan_motif.c, /: Skip any non-content information when
- looking for and handling content. This fixes a bug with Jitsi and
- conference calling. Jitsi implements XEP-0298 which places some
- conference-info information in the session-initiate request which
- chan_motif did not expect to occur. ........ Merged revisions
- 372995 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-12 18:33 +0000 [r372976-372985] Jonathan Rose <jrose@digium.com>
- * /, res/res_xmpp.c: res_xmpp: Fix a segfault caused by bodyless
- messages (closes issue ASTERISK-20361) Reported by: Noah
- Engelberth Review: https://reviewboard.asterisk.org/r/2108/
- ........ Merged revisions 372984 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * configs/logger.conf.sample, main/logger.c: logger: Add
- rotatestrategy option of 'none' which does not perform rotations
- With this option in use, it may be necessary to regulate your log
- files externally. (closes issue ASTERISK-20189) Reported by: Jaco
- Kroon Patches: asterisk-logger-norotate-trunk.patch uploaded by
- Jaco Kroon (license 5671)
- 2012-09-12 15:21 +0000 [r372943] Mark Michelson <mmichelson@digium.com>
- * /, channels/chan_sip.c: Add channel name to a warning to make
- debugging easier. The "autodestruct with owner in place" message
- is typically indicative of a channel reference leak. Printing out
- the name of the channel in the message may be helpful when trying
- to debug the issue. ........ Merged revisions 372932 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372933 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372937 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-12 14:22 +0000 [r372931] David M. Lee <dlee@digium.com>
- * /, main/Makefile: Fixed r372696 when configured
- --disable-asteriskssl; properly install libasteriskssl.dylib on
- OS X. I didn't realize that libasteriskssl.c was still compiled,
- even when you disable asteriskssl; it simple gets statically
- linked into asterisk. ........ Merged revisions 372930 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-11 22:40 +0000 [r372918] Jonathan Rose <jrose@digium.com>
- * channels/chan_local.c, /: chan_local: Switch from using a random
- 4 digit hex identifier to unique id Changes chan_local channels
- to use an 8 digit hex identifier generated atomically and
- sequentially in order to eliminate the chance of having multiple
- channels with the same name during high call volume situations.
- (issue ASTERISK-20318) Reported by: Dan Cropp Review:
- https://reviewboard.asterisk.org/r/2104/ ........ Merged
- revisions 372902 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372916 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372917 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-11 21:17 +0000 [r372887-372891] Mark Michelson <mmichelson@digium.com>
- * include/asterisk/_private.h, main/message.c, main/asterisk.c, /:
- Fix inability to shutdown gracefully due to an unending channel
- reference. message.c makes use of a special message queue channel
- that exists in thread storage. This channel never goes away due
- to the fact that the taskprocessor used by message.c does not get
- shut down, meaning that it never ends the thread that stores the
- channel. This patch fixes the problem by shutting down the
- taskprocessor when Asterisk is shut down. In addition, the thread
- storage has a destructor that will release the channel reference
- when the taskprocessor is destroyed. (closes issue AST-937)
- Reported by Jason Parker Patches: AST-937.patch uploaded by Mark
- Michelson (License #5049) Tested by Jason Parker ........ Merged
- revisions 372885 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372888 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/features.c, /: Fix bad channel application data reference.
- When channels get bridged due to an AMI bridge action or a DTMF
- attended transfer, the two channels that get bridged have their
- application data pointing to the other channel's name. This means
- that if one channel is hung up but the other moves on, it means
- that the channel that moves on will have its application data
- pointing at freed memory. (issue ASTERISK-20335) Reported by:
- aragon ........ Merged revisions 372840 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372841 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372886 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-11 18:09 +0000 [r372874] David M. Lee <dlee@digium.com>
- * Makefile, /: Corrects the astsbindir setting when installing the
- sample asterisk.conf. (closes issue ASTERISK-20406) ........
- Merged revisions 372863 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372864 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-11 14:43 +0000 [r372808-372832] Jonathan Rose <jrose@digium.com>
- * UPGRADE.txt, CHANGES: chan_sip: Fix CHANGES and UPGRADE.txt for
- r372808 (issue AST-969) Reported by John Bigelow
- * channels/chan_sip.c: chan_sip: Change SIPQualifyPeer to improve
- initial response time Prior to this patch, The acknowledgement
- wasn't produced until after executing the sip_poke_peer action
- actually responsible for qualifying the peer. Now the response is
- given immediately once it is known that a peer will be qualified
- and a SIPqualifypeerdone event is issued when the process is
- finished. Thanks to OEJ for identifying the problem and helping
- to come up with a solution. (issue AST-969) Reported by John
- Bigelow Review: https://reviewboard.asterisk.org/r/2098/
- 2012-09-10 21:00 +0000 [r372796-372807] Kinsey Moore <kmoore@digium.com>
- * channels/chan_iax2.c, /: Ensure iax2 debug output is displayed
- when expected When IAX2 debug was changed from iax_showframe to
- iax_outputframe, some instances were missed (or added afterward).
- This was causing debug output to not be displayed when expected.
- (closes issue ASTERISK-20338) Reported-by: John Covert Patch-by:
- John Covert ........ Merged revisions 372804 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372805 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372806 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/devicestate.c, channels/chan_gtalk.c, res/res_jabber.c,
- channels/chan_jingle.c, include/asterisk/doxygen/architecture.h:
- Deprecate chan_gtalk, chan_jingle, and res_jabber chan_gtalk,
- chan_jingle, and res_jabber are now deprecated in favor of using
- chan_motif and res_xmpp. They are a feature-equivalent
- replacement and are written to be more easily maintainable.
- (closes issue ASTERISK-20298) Review:
- https://reviewboard.asterisk.org/r/2082/ Reported-by: Leif Madsen
- ........ Merged revisions 372795 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-10 19:22 +0000 [r372787] David M. Lee <dlee@digium.com>
- * res/res_rtp_asterisk.c, /: res_rtp_asterisk: Eliminate
- "type-punned pointer" build warning. Removes
- "res_rtp_asterisk.c:706: warning: dereferencing type-punned
- pointer will break strict-aliasing rules" warning from the build
- on 32-bit platforms. The problem is that 'size' was referenced
- aliased to both (pj_size_t *) and (pj_ssize_t *). Now just make a
- copy of size that is the right type so there isn't any pointer
- aliasing happening. It also adds comments and asserts regarding
- what looks like an inappropriate use of pj_sock_sendto, but is
- actually totally fine. (closes issue ASTERISK-20368) Reported by:
- Shaun Ruffell Tested by: Michael L. Young Patches:
- 0001-res_rtp_asterisk-Eliminate-type-punned-pointer-build.patch
- uploaded by Shaun Ruffell (license 5417) slightly modified by
- David M. Lee. ........ Merged revisions 372777 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-10 18:58 +0000 [r372755-372769] Jonathan Rose <jrose@digium.com>
- * /, apps/app_meetme.c: app_meetme: Document that 'p' option will
- continue in dialplan. (closes issue AST-991) Reported by John
- Bigelow ........ Merged revisions 372765 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372767 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372768 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/channel.c: Masquerade: Retain parkinglot settings made by
- CHANNEL function. Prior to this patch, the user would have a
- parkinglot set on a channel that was parked and when the channel
- was retrieved, any attempt by that channel to park would simply
- use the default. This patch makes parkinglot values set in this
- way be retained through the masquerade. (closes issue AST-990)
- Reported by: Nick Huskinson Patches:
- masquerade_parkinglot_patch.diff Uploaded by Jonathan Rose
- (license 6182) ........ Merged revisions 372736 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372737 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372754 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-09 01:28 +0000 [r372712] Matthew Jordan <mjordan@digium.com>
- * channels/sip/sdp_crypto.c, /: Only re-create an SRTP session when
- needed In r356604, SRTP handling was fixed to accomodate multiple
- crypto keys in an SDP offer and the ability to re-create an SRTP
- session when the crypto keys changed. In certain circumstances -
- most notably when a phone is put on hold after having been
- bridged for a significant amount of time - the act of re-creating
- the SRTP session causes problems for certain models of phones.
- The patch committed in r356604 always re-created the SRTP session
- regardless of whether or not the cryptographic keys changed.
- Since this is technically not necessary, this patch modifies the
- behavior to only re-create the SRTP session if Asterisk detects
- that the remote key has changed. This allows models of phones
- that do not handle the SRTP session changing to continue to work,
- while also providing the behavior needed for those phones that do
- re-negotiate cryptographic keys. (issue ASTERISK-20194) Reported
- by: Nicolo Mazzon Tested by: Nicolo Mazzon Review:
- https://reviewboard.asterisk.org/r/2099 ........ Merged revisions
- 372709 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 372710 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372711 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-08 06:18 +0000 [r372699] David M. Lee <dlee@digium.com>
- * /, main/Makefile: Add OPENSSL_INCLUDE to the CFLAGS for ssl.c and
- tcptls.c. Without this flag, those files will compile with the
- system installed OpenSSL headers (if they exist). This is a real
- bummer if a different path was specified using --with-ssl=
- (closes issue ASTERISK-20392) ........ Merged revisions 372682
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Recorded merge of revisions 372695 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........
- Recorded merge of revisions 372696 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-07 23:10 +0000 [r372623-372658] Richard Mudgett <rmudgett@digium.com>
- * /, main/astmm.c: Fix MALLOC_DEBUG version of ast_strndup().
- (closes issue ASTERISK-20349) Reported by: Brent Eagles ........
- Merged revisions 372655 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372656 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372657 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, funcs/func_math.c: Remove annoying unconditional debug message
- from INC/DEC functions. (closes issue AST-1001) Reported by:
- Guenther Kelleter ........ Merged revisions 372628 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372629 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372630 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/app_queue.c, /: Fix exception path typo in app_queue.c
- try_calling(). (closes issue ASTERISK-20380) Reported by: Jeremy
- Pepper Patches: fix-local-channel-locking.patch (license #6350)
- patch uploaded by Jeremy Pepper ........ Merged revisions 372624
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 372625 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372626 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/app_voicemail.c, /: Fix VoicemailUserEntry event headers
- ServerEmail and MailCommand reported values. The AMI action
- VoicemailUsersList VoicemailUserEntry event headers ServerEmail
- and MailCommand did not report the global values if they were not
- overridden. The VoicemailUserEntry event header ServerEmail was
- not populated with the global value if the voicemail user did not
- override it. The VoicemailUserEntry event header MailCommand was
- never populated with a value. * Removed unused struct ast_vm_user
- member mailcmd[]. (closes issue AST-973) Reported by: John
- Bigelow Tested by: rmudgett ........ Merged revisions 372620 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372621 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372622 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-07 21:04 +0000 [r372610-372612] David M. Lee <dlee@digium.com>
- * res/pjproject/pjmedia/lib, codecs/ilbc,
- res/pjproject/pjlib-util/lib, res/pjproject/pjmedia/bin,
- res/pjproject/third_party/gsm/lib,
- res/pjproject/third_party/gsm/bin, res/pjproject/pjnath/lib,
- res/pjproject/pjsip/lib, res/pjproject/pjsip-apps/lib,
- res/pjproject/pjsip/bin, res/pjproject/pjsip-apps/bin,
- res/pjproject/third_party/lib, res/pjproject/third_party/bin,
- res/pjproject/lib, res/pjproject/pjlib/lib, /: svn:ignore
- cleanup. * pjproject bin and lib directories should pretty much
- ignore everything * Ignore *.o in codecs/ilbc ........ Merged
- revisions 372611 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, res/Makefile: Fix parallel make for res_asterisk_rtp. Fixes a
- build regression introduced in r369517 "Add support for
- ICE/STUN/TURN in res_rtp_asterisk and chan_sip." [1]. [1]
- http://svnview.digium.com/svn/asterisk?view=revision&revision=369517
- When compiling asterisk in parallel like: $ make -j 10 It's
- possible to get errors like the following:
- .pjlib-util-test-x86_64-unknown-linux-gnu.depend:120: *** missing
- separator. Stop. make[4]: *** [depend] Error 2 make[3]: *** [dep]
- Error 1 make[2]: ***
- [/home/sruffell/asterisk-working/res/pjproject/pjnath/lib/libpjnath-x86_64-unknown-linux-gnu.a]
- Error 2 make[3]: warning: jobserver unavailable: using -j1. Add
- `+' to parent make rule. This is because the build system is
- trying to build each of the libraries in pjproject in parallel.
- Now the build will build pjproject in a single job and link the
- results into res_asterisk_rtp. Parallel builds, on one test
- system, saves ~1.5 minutes from a default Asterisk build: Single
- job: $ git clean -fdx >/dev/null && time ( ./configure >/dev/null
- 2>&1 && make >/dev/null 2>&1 ) real 2m34.529s user 1m41.810s sys
- 0m15.970s Parallel make: $ git clean -fdx >/dev/null && time (
- ./configure >/dev/null 2>&1 && make -j10 >/dev/null 2>&1 ) real
- 1m2.353s user 2m39.120s sys 0m18.850s (closes issue
- ASTERISK-20362) Reported by: Shaun Ruffel Patches:
- 0001-res_asterisk_rtp-Fix-build-error-when-using-parallel.patch
- uploaded by Shaun Ruffel (License #5417) ........ Merged
- revisions 372609 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-07 02:27 +0000 [r372538-372584] Matthew Jordan <mjordan@digium.com>
- * /, apps/app_minivm.c: Free ast_str objects when temp file fails
- to be created in MiniVM The previous commit (r372554) was from a
- patch that was written before r366880, which ensured that ast_str
- objects allocated in the sendmail routine were free'd in off
- nominal paths. This commit frees the string objects in the off
- nominal path introduced in r372554. (issue ASTERISK-17133)
- Reported by: Tzafrir Cohen ........ Merged revisions 372581 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372582 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372583 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_minivm.c: Fix file descriptor leak and pointer scope
- issue in MiniVM when sending mail When MiniVM sends an e-mail and
- it has the volgain option set, it will spawn sox in a separate
- process to handle the manipulation of the sound file. In doing
- so, it creates a temporary file. There are two problems here: 1)
- The file descriptor returned from mkstemp is leaked 2) The
- finalfilename character pointer points to a buffer that loses
- scope once volgain processing is finished. Note that in r316265,
- Russell fixed some gcc warnings by using the return value of the
- mkstemp call. A warning was placed in minivm that the file
- descriptor was going to be leaked. This patch reverts that
- change, as it handles the leak and 'uses' the file descriptor
- returned from mkstemp. (closes issue ASTERISK-17133) Reported by:
- Tzafrir Cohen patches: minivm_18501_demo.diff uploaded by Tzafrir
- Cohen (license #5035) ........ Merged revisions 372554 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372555 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372556 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_queue.c: Update QueueMemberStatus event documentation
- to include member status values The Status: header in a
- QueueMemberStatus event (and other QueueMember* events) is the
- numeric value of the device state corresponding to that Queue
- Member. As those values are not exactly obvious, listing them in
- the documentation is useful. Matt Riddell reported this
- indirectly through the wiki page. (closes issue ASTERISK-20243)
- Reported by: Matt Riddell ........ Merged revisions 372531 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-06 22:14 +0000 [r372524] Richard Mudgett <rmudgett@digium.com>
- * channels/sig_pri.c, /: Fix loss of MOH on an ISDN channel when
- parking a call for the second time. Using the AMI redirect action
- to take an ISDN call out of a parking lot causes the MOH state to
- get confused. The redirect action does not take the call off of
- hold. When the call is subsequently parked again, the call no
- longer hears MOH. * Make chan_dahdi/sig_pri restart MOH on
- repeated AST_CONTROL_HOLD frames if it is already in a state
- where it is supposed to be sending MOH. The MOH may have been
- stopped by other means. (Such as killing the generator.) This
- simple fix is done rather than making the AMI redirect action
- post an AST_CONTROL_UNHOLD unconditionally when it redirects a
- channel and thus potentially breaking something with an
- unexpected AST_CONTROL_UNHOLD. (closes issue ABE-2873) Patches:
- jira_abe_2873_c.3_bier.patch (license #5621) patch uploaded by
- rmudgett ........ Merged revisions 372521 from
- https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
- ........ Merged revisions 372522 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372523 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-06 21:43 +0000 [r372520] Kinsey Moore <kmoore@digium.com>
- * /, apps/app_queue.c: Ensure listed queues are not offered for
- completion When using tab-completion for the list of queues on
- "queue reset stats" or "queue reload
- {all|members|parameters|rules}", the tab-completion listing for
- further queues erroneously listed queues that had already been
- added to the list. The tab-completion listing now only displays
- queues that are not already in the list. (closes issue AST-963)
- Reported-by: John Bigelow ........ Merged revisions 372517 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372518 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372519 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-06 15:57 +0000 [r372474] Jonathan Rose <jrose@digium.com>
- * /, UPGRADE-1.8.txt: chan_sip: Note change in behavior to how
- directmediapermit/deny ACL works r366547 introduced a change to
- the directmedia ACL for chan_sip which modified the behavior
- significantly. Prior to the patch, this option would bridge peers
- with directmedia if a peer's IP address matched its own
- directmedia ACL. After that patch, the peer would check the
- bridged peer's ACL instead. This change has been present since
- 1.8.14.0. That patched failed to document the change in
- Upgrade.txt, so this patch adds mention of that change to
- UPGRADE.txt (UPGRADE-1.8.txt in newer branches) (issue AST-876)
- ........ Merged revisions 372471 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372472 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372473 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-06 14:31 +0000 [r372447] Kinsey Moore <kmoore@digium.com>
- * /, apps/app_queue.c: Ensure "rules" is tab-completable for "queue
- show" Previously, tabbing at the end of "queue show" produced a
- list of available queues about which information could be shown,
- but did not include an alternative command, "rules", to access
- information about queue rules. The "rules" item should now be
- shown in the list of tab-completable items. (closes issue
- AST-958) Reported-by: John Bigelow ........ Merged revisions
- 372444 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 372445 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372446 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-06 02:52 +0000 [r372393-372420] Matthew Jordan <mjordan@digium.com>
- * /, pbx/pbx_dundi.c: Fix DUNDi message routing bug when
- neighboring peer is unreachable Consider a scenario where DUNDi
- peer PBX1 has two peers that are its neighbors, PBX2 and PBX3,
- and where PBX2 and PBX3 are also neighbors. If the connection is
- temporarily broken between PBX1 and PBX3, PBX1 should not include
- PBX3 in the list of peers it sends to PBX2 in a DPDISCOVER
- message, as it cannot send messages to PBX3. If it does, PBX2
- will assume that PBX3 already received the message and fail to
- forward the message on to PBX3 itself. This patch fixes this by
- only including peers in a DPDISCOVER message that are reachable
- by the sending node. This includes all peers with an empty
- address (00:00:00:00:00:00) and that are have been reached by a
- qualify message. This patch also prevents attempting to qualify a
- dynamic peer with an empty address until that peer registers. The
- patch uploaded by Peter was modified slightly for this commit.
- (closes issue ASTERISK-19309) Reported by: Peter Racz patches:
- dundi_routing.patch uploaded by Peter Racz (license 6290)
- ........ Merged revisions 372417 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372418 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372419 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_followme.c: Allow configured numbers for FollowMe to
- be greater than 90 characters When parsing a 'number' defined in
- followme.conf, FollowMe previously parsed the number in the
- configuration file into a buffer with a length of 90 characters.
- This can artificially limit some parallel dial scenarios. This
- patch allows for numbers of any length to be defined in the
- configuration file. Note that Clod Patry originally wrote a patch
- to fix this problem and received a Ship It! on the JIRA issue.
- The patch originally expanded the buffer to 256 characters.
- Instead, the patch being committed duplicates the string in the
- config file on the stack before parsing it for consumption by the
- application. (closes issue ASTERISK-16879) Reported by: Clod
- Patry Tested by: mjordan patches: followme_no_limit.diff uploaded
- by Clod Patry (license #5138) Slightly modified for this commit.
- ........ Merged revisions 372390 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372391 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372392 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-05 19:44 +0000 [r372374] Richard Mudgett <rmudgett@digium.com>
- * /: Recorded merge of revisions 372373 from
- http://svn.asterisk.org/svn/asterisk/branches/11 ........ Fix
- compile error. ........ Merged revisions 372372 from
- http://svn.asterisk.org/svn/asterisk/branches/10
- 2012-09-05 19:26 +0000 [r372344-372371] Kinsey Moore <kmoore@digium.com>
- * main/manager.c, /: Correct documentation for ModuleLoad AMI
- action The documentation incorrectly listed 'rtp' as a reloadable
- subsystem and left out many other reloadable subsystems. It is
- now also documented that subsystems may only be reloaded, not
- loaded or unloaded. (closes issue AST-977) Reported-by: John
- Bigelow ........ Merged revisions 372354 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372358 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372365 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/pbx.c, /: Ensure counts generated in
- manager_show_dialplan_helper are correct When
- manager_show_dialplan_helper was written, the counter increment
- for the total number of contexts was placed with the extensions
- increment instead of in the enclosing loop. This function should
- now generate correct context counts. (closes issue AST-970)
- Reported-by: John Bigelow ........ Merged revisions 372337 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372338 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372340 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-05 18:56 +0000 [r372343] Alec L Davis <sivad.a@paradise.net.nz>
- * /, main/dsp.c: dsp.c: in ast_mf_detect_init incorrectly sets
- goertzel samples to 160, should be MF_GSIZE Remove unused
- goertzel_state_t member 'samples'. Related
- https://reviewboard.asterisk.org/r/2097/
- 2012-09-05 17:38 +0000 [r372329] Richard Mudgett <rmudgett@digium.com>
- * res/res_rtp_asterisk.c, /: Multiple revisions 372327-372328
- ........ r372327 | rmudgett | 2012-09-05 12:33:11 -0500 (Wed, 05
- Sep 2012) | 15 lines Fix RTP/RTCP read error message confusion.
- The RTP/RTCP read error message can report "fail: success" when
- the read failure is because of an ICE failure. * Changed
- __rtp_recvfrom() to generate a PJ ICE message when ICE fails. *
- Changed RTP/RTCP read error message to indicate an unspecified
- error when errno is zero. (closes issue ASTERISK-20288) Reported
- by: Joern Krebs Patches: jira_asterisk_20288_err_msg.patch
- (license #5621) patch uploaded by rmudgett (modified) ........
- r372328 | rmudgett | 2012-09-05 12:35:20 -0500 (Wed, 05 Sep 2012)
- | 1 line Fix coding guidelines issue with a recent commit.
- ........ Merged revisions 372327-372328 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-05 16:24 +0000 [r372310-372319] Mark Michelson <mmichelson@digium.com>
- * main/rtp_engine.c, /, include/asterisk/rtp_engine.h,
- res/res_rtp_asterisk.c: Re-fix sending unnegotiated payloads
- during a P2P RTP bridge. The previous fix still would look in the
- static_RTP_PT table, which is inappropriate since we specifically
- want to find a codec that has been negotiated. (closes issue
- ASTERISK-20296) reported by NITESH BANSAL Patches:
- codec_negotiation.patch Uploaded by NITESH BANSAL (License #6418)
- ........ Merged revisions 372311 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/app_alarmreceiver.c: Add fixes and cleanup to
- app_alarmreceiver. This work comes courtesy of Pedro Kiefer
- (License #6407) The work was posted to review board by Kaloyan
- Kovachev (License #5506) (closes issue ASTERISK-16668) Reported
- by Grant Crawshay (closes issue ASTERISK-16694) Reported by Fred
- van Lieshout (closes issue ASTERISK-18417) Reported by Kostas
- Liakakis (closes issue ASTERISK-19435) Reported by Deon George
- (closes issue ASTERISK-20157) Reported by Pedro Kiefer (closes
- issue ASTERISK-20158) Reported by Pedro Kiefer (closes issue
- ASTERISK-20224) Reported by Pedro Kiefer Review:
- https://reviewboard.asterisk.org/r/2075
- 2012-09-05 14:44 +0000 [r372302] Matthew Jordan <mjordan@digium.com>
- * /, apps/app_voicemail.c: Fix memory leaks in app_voicemail when
- using IMAP storage or realtime config This patch fixes two memory
- leaks: 1. When find_user is called with NULL as its first
- parameter, the voicemail user returned is allocated on the heap.
- The inboxcount2 function uses find_user in such a fashion when
- counting new messages, and fails to free the resulting voicemail
- user object. 2. When populate_defaults is called on a voicemail
- user, it wipes whatever flags have been set on the object by
- copying over the global flags object. If the VM_ALLOCED flag was
- ste on the voicemail user prior to doing so, that flag is
- removed. This leaks the voicemail user when free_user is later
- called. (closes issue ASTERISK-19155) Reported by: Filip Jenicek
- patches: asterisk.patch2 uploaded by Filip Jenicek (license 6277)
- Patch slightly modified for this commit. Review:
- https://reviewboard.asterisk.org/r/2096 ........ Merged revisions
- 372268 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 372288 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372289 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-05 14:12 +0000 [r372290] Darren Sessions <dmsessions@gmail.com>
- * channels/chan_sip.c, configs/res_ldap.conf.sample: LDAP Realtime
- Peers Cannot Register Prior to 1.8, it was not necessary for an
- explicit "type" to be set for an asterisk LDAP realtime peer. Now
- the routine find_peer actually checks the type field during
- registration and fails to find the peer if it is not set. The
- attached patch makes the realtime type equal whatever type is
- being searched for if the type is 0 upon return from routine
- build_peer. (closes issue ASTERISK-17222) Reported by: John
- Covert Patch by: David Vossel Tested by: Darren Sessions Review:
- https://reviewboard.asterisk.org/r/2095/
- 2012-09-05 12:18 +0000 [r372267] Michael L. Young <elgueromexicano@gmail.com>
- * res/res_rtp_asterisk.c, /: Fix breakage caused by last merge.
- Missing a variable for 11 and trunk. ........ Merged revisions
- 372266 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-05 07:43 +0000 [r372215-372242] Alec L Davis <sivad.a@paradise.net.nz>
- * main/dsp.c, /: dsp.c: Fix multiple issues when no-interdigit
- delay is present, and fast DTMF 50ms/50ms Revert DTMF hit/miss
- detector to original -r349249 method with some changes, remove
- unnecessary; 1. reseting of hits=0, when no signal, only need to
- set it once. 2. incrementing of hits, when the hit is the same as
- the current hit. 3. setting of lasthit, when it's the same as
- before. Change HITS_TO_BEGIN to 2, MISSES_TO_END to 3 & 3
- spelling mistakes (closes issue ASTERISK-19610) alecdavis
- (license 585) Reported by: Jean-Philippe Lord Tested by:
- alecdavis Review: https://reviewboard.asterisk.org/r/2085/
- ........ Merged revisions 372239 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372240 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372241 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/dsp.c: dsp.c: optimize goerztzel sample loops, in
- dtmf_detect, mf_detect and tone_detect use a temporary short int
- when repeatedly used to call goertzel_sample. alecdavis (license
- 585) Reported by: alecdavis Tested by: alecdavis Review:
- https://reviewboard.asterisk.org/r/2093/ ........ Merged
- revisions 372212 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372213 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372214 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-05 04:55 +0000 [r372200] Michael L. Young <elgueromexicano@gmail.com>
- * res/res_rtp_asterisk.c, /: Fix Incrementing Sequence Number For
- Retransmitted DTMF End Packets In Asterisk 1.4+, a fix was put in
- place to increment the sequence number for retransmitted DTMF end
- packets. With the introduction of the RTP engine API in 1.8, the
- sequence number was no longer being incremented. This patch fixes
- this regression as well as cleans up a few lines that were not
- doing anything. (closes issue ASTERISK-20295) Reported by: Nitesh
- Bansal Tested by: Michael L. Young Patches:
- 01_rtp_event_seq_num.patch uploaded by Nitesh Bansal (license
- 6418) asterisk-20295-dtmf-fix-cleanup.diff uploaded by Michael L.
- Young (license 5026) Review:
- https://reviewboard.asterisk.org/r/2083/ ........ Merged
- revisions 372185 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372198 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372199 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-05 02:26 +0000 [r372176] Matthew Jordan <mjordan@digium.com>
- * cel/cel_pgsql.c, /: Fix memory leak when CEL is successfully
- written to PostgreSQL database PQClear is not called when the
- result object of a call to PQExec has a status of
- PGRES_COMMAND_OK. Interestingly enough, the off nominal case was
- handled properly, so this memory leak only occurred when CEL
- records were successfully written. This patch properly clears the
- result in the nominal code path. (closes issue ASTERISK-19991)
- Reported by: Etienne Lessard Tested by: Etienne Lessard patches:
- mem_leak_cel_pgsql.patch uploaded by Etienne Lessard (license
- #6394) ........ Merged revisions 372158 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372165 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372175 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-09-04 19:30 +0000 [r372148-372149] Jonathan Rose <jrose@digium.com>
- * UPGRADE.txt: app_queue: PAUSEALL/UNPAUSEALL logged only if
- interface is a queue member Adding UPGRADE.txt entry for r372148
- (issue AST-946) Reported by: John Bigelow
- * CHANGES, apps/app_queue.c: app_queue: Only log
- PAUSEALL/UNPAUSEALL when 1+ memebers changed. Prior to this
- patch, if pause or unpause was issued on an interface without
- specifying a specific queue, a PAUSEALL or UNPAUSEALL event would
- be logged in the queue log even if that interface wasn't a member
- of any queues. This patch changes it so that these events are
- only logged when at least one member of any queue exists for that
- interface. (closes issue AST-946) Reported by: John Bigelow
- Review: https://reviewboard.asterisk.org/r/2079/
- 2012-09-04 15:50 +0000 [r372136-372138] Mark Michelson <mmichelson@digium.com>
- * /, channels/chan_sip.c: Fix issue where SIP devices were not
- notified when custom devices changed to "ringing". The problem
- had to do with logic used when checking for what the oldest
- ringing channel was. The problem was that if no channel was
- found, then no notification would be sent. For custom device
- states, there is no associated channel, so no notification would
- get sent. This fixes the issue by still sending the notification
- even if no associated channel can be found for a ringing device
- state change. (closes issue ASTERISK-20297) Reported by Noah
- Engelberth ........ Merged revisions 372137 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * apps/app_confbridge.c, /, main/config_options.c: Prevent crash
- from using app_page with no confbridge.conf file provided. Also
- prevents other potential crashes when using aco API with
- uninitialized aco_info structs. (closes issue ASTERISK-20305)
- reported by Noah Engelberth Tested by Noah Engelberth Review:
- https://reviewboard.asterisk.org/r/2086 ........ Merged revisions
- 372135 from http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-31 21:15 +0000 [r372119] Mark Michelson <mmichelson@digium.com>
- * res/res_rtp_asterisk.c, /: Prevent local RTP bridges from sending
- inappropriate formats to participants. A change for Asterisk 11
- caused a check for failure to incorrectly check the return value.
- This resulted in the possibility of transmitting media that a
- party had not negotiated. If this media happened to be G.729,
- then this could potentially result in one-way audio if no G.729
- translators are installed. (closes issue ASTERISK-20296) reported
- by NITESH BANSAL ........ Merged revisions 372118 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-30 20:54 +0000 [r372051-372092] Mark Michelson <mmichelson@digium.com>
- * apps/app_queue.c, /: Prevent crash on shutdown due to refcount
- error on queues container. When app_queue is unloaded, the queues
- container has its refcount decremented, potentially to 0. Then
- the taskprocessor responsible for handling device state changes
- is unreferenced. If the taskprocessor happens to be just about to
- run its task, then it will create and destroy an iterator on the
- queues container. This can cause the refcount on the queues
- container to increase to 1 and then back to 0. Going back to 0 a
- second time results in double frees. This failure was seen
- periodically in the testsuite when Asterisk would shut down.
- ........ Merged revisions 372089 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 372090 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372091 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, apps/app_queue.c: Help prevent ringing queue members from
- being rung when ringinuse set to no. Queue member status would
- not always get updated properly when the member was called, thus
- resulting in the member getting multiple calls. With this change,
- we update the member's status at the time of calling, and we also
- check to make sure the member is still available to take the call
- before placing an outbound call. (closes issue ASTERISK-16115)
- reported by nik600 Patches: app_queue.c-svn-r370418.patch
- uploaded by Italo Rossi (license #6409) ........ Merged revisions
- 372048 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 372049 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372050 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-30 16:25 +0000 [r371964-372029] Matthew Jordan <mjordan@digium.com>
- * channels/chan_iax2.c, /: AST-2012-013: Resolve ACL rules being
- ignored during calls by some IAX2 peers When an IAX2 call is made
- using the credentials of a peer defined in a dynamic Asterisk
- Realtime Architecture (ARA) backend, the ACL rules for that peer
- are not applied to the call attempt. This allows for a remote
- attacker who is aware of a peer's credentials to bypass the ACL
- rules set for that peer. This patch ensures that the ACLs are
- applied for all peers, regardless of their storage mechanism.
- (closes issue ASTERISK-20186) Reported by: Alan Frisch Tested by:
- mjordan, Alan Frisch ........ Merged revisions 372028 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/manager.c, /, README-SERIOUSLY.bestpractices.txt:
- AST-2012-012: Resolve AMI User Unauthorized Shell Access through
- ExternalIVR The AMI Originate action can allow a remote user to
- specify information that can be used to execute shell commands on
- the system hosting Asterisk. This can result in an unwanted
- escalation of permissions, as the Originate action, which
- requires the "originate" class authorization, can be used to
- perform actions that would typically require the "system" class
- authorization. Previous attempts to prevent this permission
- escalation (AST-2011-006, AST-2012-004) have sought to do so by
- inspecting the names of applications and functions passed in with
- the Originate action and, if those applications/functions matched
- a predefined set of values, rejecting the command if the user
- lacked the "system" class authorization. As noted by IBM X-Force
- Research, the "ExternalIVR" application is not listed in the
- predefined set of values. The solution for this particular
- vulnerability is to include the "ExternalIVR" application in the
- set of defined applications/functions that require "system" class
- authorization. Unfortunately, the approach of inspecting fields
- in the Originate action against known applications/functions has
- a significant flaw. The predefined set of values can be bypassed
- by creative use of the Originate action or by certain dialplan
- configurations, which is beyond the ability of Asterisk to
- analyze at run-time. Attempting to work around these scenarios
- would result in severely restricting the applications or
- functions and prevent their usage for legitimate means. As such,
- any additional security vulnerabilities, where an
- application/function that would normally require the "system"
- class authorization can be executed by users with the "originate"
- class authorization, will not be addressed. Instead, the
- README-SERIOUSLY.bestpractices.txt file has been updated to
- reflect that the AMI Originate action can result in commands
- requiring the "system" class authorization to be executed. Proper
- system configuration can limit the impact of such scenarios.
- (closes issue ASTERISK-20132) Reported by: Zubair Ashraf of IBM
- X-Force Research ........ Merged revisions 371998 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371999 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 372000 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * include/asterisk/bridging.h, include/asterisk/datastore.h,
- main/file.c, include/asterisk/strings.h, include/asterisk/pbx.h,
- channels/sip/include/srtp.h, main/audiohook.c,
- include/asterisk/translate.h, main/cdr.c, main/channel.c,
- include/asterisk/crypto.h, include/asterisk/config_options.h,
- include/asterisk/bridging_technology.h,
- include/asterisk/audiohook.h,
- apps/confbridge/include/confbridge.h, include/asterisk/format.h,
- include/asterisk/netsock2.h, include/asterisk/rtp_engine.h,
- include/asterisk/ccss.h, main/pbx.c, include/asterisk/utils.h,
- channels/sip/srtp.c, channels/chan_sip.c,
- include/asterisk/format_pref.h, include/asterisk/astobj2.h,
- include/asterisk/presencestate.h, channels/chan_agent.c,
- include/asterisk/config.h, pbx/pbx_lua.c,
- formats/format_ogg_vorbis.c, include/asterisk/channel.h,
- main/named_acl.c, codecs/speex/speex_resampler.h,
- include/asterisk/manager.h, include/asterisk/format_cap.h,
- include/asterisk/framehook.h, include/asterisk/heap.h,
- channels/sig_pri.h, Makefile, include/asterisk/message.h: Clean
- up doxygen warnings This patch fixes numerous doxygen warnings
- across Asterisk. It also updates the makefile to regenerate the
- doxygen configuration on the local system before running doxygen
- to help prevent warnings/errors on the local system. Much thanks
- to Andrew for tackling one of the Asterisk janitor projects!
- (issue ASTERISK-20259) Reported by: Andrew Latham Patches:
- doxygen_partial.diff uploaded by Andrew Latham (license 5985)
- make_progdocs.diff uploaded by Andrew Latham (license 5985)
- * doc/CODING-GUIDELINES (added), /: Restore CODING-GUIDELINES to
- doc folder In r294740, the CODING-GUIDELINES was removed from the
- doc folder in favor of the content on the Asterisk wiki. Some
- folks still look in the doc folder initially for coding guideline
- suggestions; as such, this patch adds a CODING-GUIDELINES file
- back into the doc folder. The content of the file merely points
- to the correct page on the Asterisk wiki where the coding
- guidelines currently live. (closes issue ASTERISK-20279) Reported
- by: Andrew Latham Patches: CODING-GUIDELINES.diff uploaded by
- Andrew Latham (license 5985) ........ Merged revisions 371961
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 371962 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371963 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-29 22:48 +0000 [r371951-371952] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/md5.h: Ensure alignment of in[] field in
- MD5Context struct. The struct MD5Context character buffer is cast
- to an int32_t* without making sure that said buffer is aligned.
- Since the buffer follows two uint32_t's, the chance of 'in' being
- (32 bits) unaligned is nil in practice. But adding code to ensure
- that 'in' stays aligned costs nothing and removes all doubts
- about the casts being safe. (closes issue ASTERISK-20241)
- Reported by: Walter Doekes Patches: tmp.diff (license #5674)
- patch uploaded by Walter Doekes
- * /, apps/app_meetme.c: Fix compile errors. ........ Merged
- revisions 371950 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-29 21:15 +0000 [r371922] Jonathan Rose <jrose@digium.com>
- * /, apps/app_meetme.c: app_meetme: Adding test events for
- following activity in MeetMe. ........ Merged revisions 371919
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 371920 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371921 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-29 19:57 +0000 [r371892-371894] Richard Mudgett <rmudgett@digium.com>
- * main/channel.c, /: Fix theoretical compile error with HAVE_EPOLL.
- Really shows how much epoll is used since it had not been
- reported yet. ........ Merged revisions 371893 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/channel.c, /: Initialize file descriptors for dummy channels
- to -1. Dummy channels usually aren't read from, but functions
- like SHELL and CURL use autoservice on the channel. (closes issue
- ASTERISK-20283) Reported by: Gareth Palmer Patches:
- svn-371580.patch (license #5169) patch uploaded by Gareth Palmer
- (modified) ........ Merged revisions 371888 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371890 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371891 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-29 19:38 +0000 [r371889] Jonathan Rose <jrose@digium.com>
- * channels/chan_sip.c, UPGRADE.txt: chan_sip: Change manager event
- to confirm SIPqualifypeer into an ack Matt Jordan informed me
- that it was more appropriate to use an astman_send_ack here
- instead of making an event response. I've also used this
- opportunity to update UPGRADE.txt to mention this change in
- behavior. (issue AST-969) Reported by: John Bigelow
- 2012-08-29 18:40 +0000 [r371863] Richard Mudgett <rmudgett@digium.com>
- * apps/app_dial.c, /: Fix hangup cause passthrough regression. The
- v1.8 -r369258 change to fix the F and F(x) action logic
- introduced a regression in passing the hangup cause from the
- called channel to the caller channel. (closes issue
- ASTERISK-20287) Reported by: Konstantin Suvorov Patches:
- app_dial_hangupcause.patch (license #6421) patch uploaded by
- Konstantin Suvorov (modified) Tested by: rmudgett ........ Merged
- revisions 371860 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371861 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371862 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-29 17:35 +0000 [r371823-371851] Jonathan Rose <jrose@digium.com>
- * /, channels/chan_sip.c: chan_sip: Send 408 on retransmit timeout
- instead of 603 (closes issue ASTERISK-20124) Reported by: Walter
- Doekes ........ Merged revisions 371824 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371825 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371845 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_sip.c: chan_sip: Send a manager event to confirm
- SIPqualifypeer completes Prior to this patch, Issuing
- SIPqualifypeer either resulted in an error or if it succeeded, a
- few \r\ns. This patch adds a SIPqualifypeerComplete event issued
- as a response when the command is successfully executed. (closes
- issue AST-969) Reported by: John Bigelow
- 2012-08-27 21:51 +0000 [r371785-371791] Mark Michelson <mmichelson@digium.com>
- * configs/agents.conf.sample, /: Fix misleading documentation in
- agents.conf.sample regarding ackcall usage. The documentation
- made it sound as if the DTMF acknowledgment was needed at the
- time the agent logs in, rather than when the agent is called.
- This is likely a relic from the days when there were multiple
- ways of logging in agents. (closes issue AST-962) reported by
- Steve Pitts ........ Merged revisions 371787 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371789 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371790 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/manager.c, /: Fix incorrect documentation of the
- MailboxStatus manager command. The "Waiting" field was
- misdocumented as reporting the number of messages waiting. In
- reality, it simply indicated the presence or absence of waiting
- messages. ........ Merged revisions 371782 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371783 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371784 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-27 18:16 +0000 [r371754] David M. Lee <dlee@digium.com>
- * res/pjproject/pjlib-util/bin, res/pjproject/pjnath/build/output,
- /, res/pjproject/pjlib/bin,
- res/pjproject/pjlib-util/build/output, res/pjproject/pjnath/bin,
- res/pjproject/pjlib/build/output: svn:ignore pjproject bin &
- output for all platforms. ........ Merged revisions 371753 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-27 17:52 +0000 [r371751] Mark Michelson <mmichelson@digium.com>
- * /, configs/queues.conf.sample: Fix incorrectly documented option
- in queues.conf sharedlastcall defaults to "no" not "yes" (closes
- issue AST-979) reported by Steve Pitts ........ Merged revisions
- 371747 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 371748 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371750 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-27 16:56 +0000 [r371721] David M. Lee <dlee@digium.com>
- * main/lock.c, /: Fixes ast_rwlock_timed[rd|wr]lock for BSD and
- variants. The original implementations simply wrap pthread
- functions, which take absolute time as an argument. The spinlock
- version for systems without those functions treated the argument
- as a delta. This patch fixes the spinlock version to be
- consistent with the pthread version. (closes issue
- ASTERISK-20240) Reported by: Egor Gorlin Patches: lock.c.patch
- uploaded by Egor Gorlin (license 6416) ........ Merged revisions
- 371718 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 371720 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-27 14:13 +0000 [r371693] Kinsey Moore <kmoore@digium.com>
- * /, main/utils.c: Implement workaround for BETTER_BACKTRACES crash
- When compiling with BETTER_BACKTRACES enabled, Asterisk will
- sometimes crash when "core show locks" is run. This happens
- regularly in the testsuite since several tests run "core show
- locks" to help with debugging. This seems to be a fault with
- libraries on certain operating systems (notably CentOS 6.2/6.3)
- running on virtual machines and utilizing gcc 4.4.6. (closes
- issue ASTERISK-20090) ........ Merged revisions 371690 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371691 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371692 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-26 23:10 +0000 [r371665] Alec L Davis <sivad.a@paradise.net.nz>
- * /, main/dsp.c: mf_detect: incorrectly used DTMF_GSIZE instead of
- MF_GSIZE ........ Merged revisions 371662 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371663 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371664 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-23 04:12 +0000 [r371633] Mark Michelson <mmichelson@digium.com>
- * tests/test_scoped_lock.c (added): I forgot to add the unit tests
- for scoped locks earlier today.
- 2012-08-22 15:55 +0000 [r371620] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_motif.c: Add support for call-id logging to
- chan_motif. Review: https://reviewboard.asterisk.org/r/2077/
- ........ Merged revisions 371619 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-21 21:01 +0000 [r371572-371593] Mark Michelson <mmichelson@digium.com>
- * cdr/cdr_tds.c, main/xmldoc.c, apps/app_dial.c,
- channels/chan_dahdi.c, /, channels/chan_sip.c, funcs/func_odbc.c,
- main/file.c, main/utils.c, apps/app_queue.c, pbx/pbx_config.c,
- res/res_jabber.c, apps/app_stack.c, channels/chan_oss.c,
- res/res_config_sqlite.c: Fix misuses of asprintf throughout the
- code. This fixes three main issues * Change asprintf() uses to
- ast_asprintf() so that it pairs properly with ast_free() and no
- longer causes MALLOC_DEBUG to freak out. * When ast_asprintf()
- fails, set the pointer NULL if it will be referenced later. * Fix
- some memory leaks that were spotted while taking care of the
- first two points. (Closes issue ASTERISK-20135) reported by
- Richard Mudgett Review: https://reviewboard.asterisk.org/r/2071
- ........ Merged revisions 371590 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371591 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371592 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/config.c, include/asterisk/lock.h: Add scoped locks to
- Asterisk. With the SCOPED_LOCK macro, you can create a variable
- that locks a specific lock and unlocks the lock when the variable
- goes out of scope. This is useful for situations where many
- breaks, continues, returns, or other interruptions would require
- separate unlock statements. With a scoped lock, these aren't
- necessary. There are specializations for mutexes, read locks,
- write locks, ao2 locks, ao2 read locks, ao2 write locks, and
- channel locks. Each of these is a SCOPED_LOCK at heart though.
- Review: https://reviewboard.asterisk.org/r/2060
- * /, res/res_rtp_asterisk.c: Use thread-local storage to store
- pj_thread_descs. pj_thread_register() takes a parameter of type
- pj_thread_desc. It was assumed that pj_thread_register either
- used this item temporarily or made a copy of it. Unfortunately,
- all it does is keep a pointer to the structure in thread-local
- storage. This means that if our pj_thread_desc goes out of scope,
- then pjlib will be referencing bogus data quite often, most
- commonly on operations involving a pj_mutex_t. In our case, our
- pj_thread_desc was on the stack and went out of scope very
- shortly after registering our thread with pjlib. With this
- change, the pj_thread_desc is stored in thread-local storage so
- the pointer that pjlib keeps in thread-local storage will
- reference legitimate memory. (closes issue ASTERISK-20237)
- reported by Jeremy Pepper Patches: ASTERISK-20237.patch uploaded
- by Mark Michelson (license #5049) Tested by Jeremy Pepper
- ........ Merged revisions 371571 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-20 15:39 +0000 [r371535-371547] Kinsey Moore <kmoore@digium.com>
- * main/udptl.c, /: Ignore recovered zero-length secondary UDPTL
- packets In some cases, recovering lost packets using the
- secondary packet recovery mechanism with UDPTL/T.38 can result in
- the recovery of zero-length packets. These must be ignored or the
- frame generated from them can cause segfaults and allocation
- failures. (closes issue ASTERISK-19762) (closes issue
- ASTERISK-19373) Reported-by: Benjamin (bulkorok) Reported-by: Rob
- Gagnon (rgagnon) ........ Merged revisions 371544 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371545 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371546 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * main/utils.c: Fix for commit r371535
- * main/utils.c: Apply work-around for BETTER_BACKTRACES crash When
- compiling with BETTER_BACKTRACES enabled, Asterisk will sometimes
- crash when "core show locks" is run. This happens regularly in
- the testsuite since several tests run "core show locks" to help
- with debugging. This seems to be a fault with libraries on
- certain operating systems (notably CentOS 6.2/6.3) running on
- virtual machines and utilizing gcc 4.4.6. (issue ASTERISK-20090)
- 2012-08-18 02:09 +0000 [r371493-371521] Matthew Jordan <mjordan@digium.com>
- * main/http.c, /: Remove old debug code from http configuration
- loading (closes issue ASTERISK-20254) Reported by: Andrew Latham
- Patches: http.diff uploaded by Andrew Latham (license #5985)
- ........ Merged revisions 371520 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * res/res_xmpp.c, /: Fix typo in JabberSend that looked for '2'
- instead of '@' in recipient argument The summary says about all
- there is to say. (closes issue ASTERISK-20239) Reported by:
- Gregory Porras ........ Merged revisions 371518 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * funcs/func_hangupcause.c, /: Make the name of the
- "HangupCauseClear" application consistent The name of the
- "HangupCauseClear" application is "HangupCauseClear", not
- "HangupcauseClear". The incorrect case of 'cause' caused the XML
- documentation to not register properly. As an aside, this commit
- message felt very awkward, but I'm not sure how else to note that
- "X", which has to be "X", was referred to as "x". (closes issue
- ASTERISK-20253) Reported by: Andrew Latham Patches:
- hangupcause.diff uploaded by Andrew Latham (license #5985)
- ........ Merged revisions 371516 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * sounds/sounds.xml, res/res_curl.c, build_tools/cflags.xml,
- utils/utils.xml, /, res/res_fax.c: Update module support level on
- a variety of modules and compiler options Some core support
- modules and compiler options were no longer tagged with a module
- support level. This patch adds 'core' back to those options. Note
- that this patch modifies a few of the patches provided by Andrew
- Latham slightly. res_curl and res_fax are both 'core' supported
- modules. (closes issue ASTERISK-20215) Reported by: Andrew Latham
- Tested by: mjordan Patches: astcanary.diff (license #5985)
- uploaded by Andrew Latham cflagsxml.diff (license #5985) uploaded
- by Andrew Latham curl_fax.diff (license #5985) uploaded by Andrew
- Latham soundsxml.diff (license #5985) uploaded by Andrew Latham
- ........ Merged revisions 371507 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, main/xmldoc.c: Fix memory leak in XML documentation When
- formatting documentation fields, the XML documentation parser
- calls xmldoc_get_formatted. This function allocates a string
- buffer at the beginning of its routine. Unfortunately, on certain
- code paths, it also calls xmldoc_string_cleanup, which assumes
- that it will create the string buffer. The previously allocated
- string buffer is then leaked by the xmldoc_string_cleanup
- routine. Now: we don't do that. (closes issue AST-932) Reported
- by: Alexander Homig ........ Merged revisions 371469 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371491 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371492 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-17 19:50 +0000 [r371483] Joshua Colp <jcolp@digium.com>
- * /, channels/chan_sip.c: When a peer registers using WebSocket do
- not resolve the Contact provided. (closes issue ASTERISK-20238)
- Reported by: james.mortensen ........ Merged revisions 371482
- from http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-17 16:01 +0000 [r371439] Kinsey Moore <kmoore@digium.com>
- * main/loader.c, /: Add instrumentation to subsystem reloads When
- Asterisk is built with TEST_FRAMEWORK defined, Asterisk will now
- generate TestEvent AMI events on subsystem reloads such as cdr,
- dnsmgr, extconfig, etc. (issue PQ-1126) ........ Merged revisions
- 371436 from http://svn.asterisk.org/svn/asterisk/branches/1.8
- ........ Merged revisions 371437 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371438 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-17 12:42 +0000 [r371428] Russell Bryant <russell@russellbryant.com>
- * res/res_rtp_asterisk.c, /: rtp: Ensure defaults are set without
- rtp.conf. While building up a new install to test chan_motif, I
- ran into a failure due to icesupport being disabled. This was due
- to me not having an rtp.conf. It was intended in the code for it
- to be enabled by default, but it was only applied if rtp.conf
- existed. This patch updates res_rtp_asterisk to be consistent in
- how it handles defaults. A few options didn't have their default
- values set globally, including icesupport. They are now set and
- icesupport is enabled by default, even if you do not have an
- rtp.conf. ........ Merged revisions 371425 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-17 12:25 +0000 [r371427] Joshua Colp <jcolp@digium.com>
- * res/res_format_attr_h264.c, /: Add some additional H.264
- attributes, "max-smbps" and "max-fps", for passthrough. (closes
- issue ASTERISK-20206) Reported by: ddkprog Patches:
- res_format_attr_h264.c.diff uploaded by ddkprog (license 6008)
- ........ Merged revisions 371426 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-16 23:08 +0000 [r371400] Terry Wilson <twilson@digium.com>
- * /, main/config.c: Handle integer over/under-flow in
- ast_parse_args The strtol family of functions will return
- *_MIN/*_MAX on overflow. To detect when an overflow has happened,
- errno must be set to 0 before calling the function, then checked
- afterward. (closes issue ASTERISK-20120) Reported by: Matt Jordan
- Review: https://reviewboard.asterisk.org/r/2073/ ........ Merged
- revisions 371392 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371398 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371399 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-16 22:45 +0000 [r371396] Kinsey Moore <kmoore@digium.com>
- * /, main/loader.c: Add module reload instrumentation for
- TEST_FRAMEWORK This adds AMI events for module reloads when
- Asterisk is built with TEST_FRAMEWORK enabled and corrects
- generation of the module load AMI event. (issue PQ-1126) ........
- Merged revisions 371393 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371394 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371395 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-16 19:52 +0000 [r371356-371383] Jonathan Rose <jrose@digium.com>
- * /, channels/chan_sip.c: chan_sip: Use pvt outgoing_call variable
- to set Remote-Party-ID Header Previously the pvt SIP_OUTGOING
- flag was used instead, which will frequently flip during
- reinvites. (closes issue AST-897) Reported by: Thomas Arimont
- ........ Merged revisions 371357 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371358 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371382 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * /, channels/chan_sip.c: chan_sip: Trigger reinvite if the SDP
- answer is included in the SIP ACK Under certain conditions, a SIP
- transaction involving directmedia wouldn't trigger a re-invite
- because the SDP answer was included in an ACK instead of in a
- message that we would have triggered the invite with. This patch
- just queues a source change control frame if the dialog is using
- directmedia when we find sdp for an ACK. (closes issue AST-913)
- Reported by: Thomas Arimont ........ Merged revisions 371337 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371338 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371355 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-15 23:35 +0000 [r371325] Mark Michelson <mmichelson@digium.com>
- * /, apps/app_queue.c: Fix bug where final queue member would not
- be removed from memory. If a static queue had realtime members,
- then there could be a potential for those realtime members not to
- be properly deleted from memory. If the queue's members were
- loaded from realtime and then all the members were deleted from
- the backend, then the queue would still think these members
- existed. The reason was that there was a short- circuit in code
- such that if there were no members found in the backend, then the
- queue would not be updated to reflect this. Note that this only
- affected static queues with realtime members. Realtime queues
- with realtime members were unaffected by this issue. (closes
- issue ASTERISK-19793) reported by Marcus Haas ........ Merged
- revisions 371306 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371313 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371324 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-15 20:43 +0000 [r371296] Michael L. Young <elgueromexicano@gmail.com>
- * /, channels/chan_sip.c: Fix Segfault When Registering SIP Over
- WebSockets The helper function, get_address_family_filter, in
- chan_sip for dns resolution by address family was not recognizing
- the websockets transport and resulting in a null pointer being
- sent to functions in netsock2, in an attempt to determine if we
- are bound to ANY address ([::]) or not. This patch fixes this
- issue by handling the transport types SIP_TRANSPORT_WS and
- SIP_TRANSPORT_WSS which results in a sock address being set
- properly for use in determining the address family. (closes issue
- ASTERISK-20221) Reported by: Sven Beisiegel Tested by: Sven
- Beisiegel, James Mortensen Patches:
- asterisk-20221-ws-family-filter.diff uploaded by Michael L. Young
- (license 5026) ........ Merged revisions 371295 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-15 20:18 +0000 [r371259-371277] Kinsey Moore <kmoore@digium.com>
- * /, channels/chan_sip.c: Avoid unconditional NULLing of mwipvt on
- relatedpeer on SIP dialog destruction The other instance of this
- bug was fixed by jcolp/file in r121496. If we are destroying a
- dialog only set the MWI dialog pointer on the related peer to
- NULL if it is the dialog currently being destroyed. (closes issue
- ASTERISK-20119) Patch-by: Misha Vodsedalek ........ Merged
- revisions 371270 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371271 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371272 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- * channels/chan_iax2.c, channels/sig_pri.c, channels/sig_ss7.c,
- channels/chan_dahdi.c, channels/sig_analog.c, /,
- channels/chan_sip.c: Add HANGUPCAUSE information to callee
- channels This adds HANGUPCAUSE information to called channels so
- that hangup handlers can, in conjunction with predial dialplan
- execution, access the hangupcause information when the dialed
- channel hangs up on a one-to-one basis instead of a many-to-one
- basis as with HANGUPCAUSE usage on the caller channel. Review:
- https://reviewboard.asterisk.org/r/2069/ (closes issue
- ASTERISK-20198) ........ Merged revisions 371258 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-13 20:36 +0000 [r371228] Kinsey Moore <kmoore@digium.com>
- * main/loader.c, /, apps/app_meetme.c: Add test instrumentation
- This adds test instrumentation for loading and unloading of
- modules and for certain actions in MeetMe to be used in the
- testsuite or any other consumer of AMI events. These will only be
- generated when Asterisk is built with TEST_FRAMEWORK enabled.
- (issue PQ-1131) (issue PQ-1133) ........ Merged revisions 371201
- from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
- Merged revisions 371203 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371227 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-13 20:02 +0000 [r371202] Mark Michelson <mmichelson@digium.com>
- * /, channels/chan_sip.c: Fix problem where incorrect pointer was
- checked for nullity. ........ Merged revisions 371198 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371199 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371200 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-11 19:13 +0000 [r371170] Matthew Jordan <mjordan@digium.com>
- * UPGRADE-11.txt (added), UPGRADE.txt: Add UPGRADE-11.txt file;
- update UPGRADE.txt to reflect Asterisk 12
- 2012-08-10 22:04 +0000 [r371147] Richard Mudgett <rmudgett@digium.com>
- * /, CHANGES: Update CHANGES for private party ID. ........ Merged
- revisions 371146 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-10 21:35 +0000 [r371144] Mark Michelson <mmichelson@digium.com>
- * apps/app_queue.c, /: Fix a couple of documentation problems in
- app_queue.c * The RemoveQueueMember app made mention of options
- that could be passed in, but no options are supported. I have
- removed the listing of options from the documentation. * The
- RQMSTATUS variable did not list "NOTDYNAMIC" as a possible value
- that could be set. (closes issue AST-949) reported by Steve Pitts
- (closes issue AST-954) reported by Steve Pitts ........ Merged
- revisions 371141 from
- http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
- revisions 371142 from
- http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
- revisions 371143 from
- http://svn.asterisk.org/svn/asterisk/branches/11
- 2012-08-10 21:09 +0000 [r371134] Matthew Jordan <mjordan@digium.com>
- * /: Remove 10 properties, add 11 properties
- 2012-08-10 19:54 +0000 [r371120] Richard Mudgett <rmudgett@digium.com>
- * include/asterisk/channel.h, channels/sig_pri.c,
- funcs/func_callerid.c, main/cli.c, main/channel.c,
- channels/chan_misdn.c, channels/chan_sip.c,
- main/channel_internal_api.c, main/features.c: Add private
- representation of caller, connected and redirecting party ids.
- This patch adds the feature "Private representation of caller,
- connected and redirecting party ids", as previously discussed
- with us (DATUS) and Digium. 1. Feature motivation Until now it is
- quite difficult to modify a party number or name which can only
- be seen by exactly one particular instantiated technology channel
- subscriber. One example where a modified party number or name on
- one channel is spread over several channels are supplementary
- services like call transfer or pickup. To implement these
- features Asterisk internally copies caller and connected ids from
- one channel to another. Another example are extension
- subscriptions. The monitoring entities (watchers) are notified of
- state changes and - if desired - of party numbers or names which
- represent the involving call parties. One major feature where a
- private representation of party names is essentially needed, i.e.
- where a party name shall be exclusively signaled to only one
- particular user, is a private user-specific name resolution for
- party numbers. A lookup in a private destination-dependent
- telephone book shall provide party names which cannot be seen by
- any other user at any time. 2. Feature Description This feature
- comes along with the implementation of additional private party
- id elements for caller id, connected id and redirecting ids
- inside Asterisk channels. The private party id elements can be
- read or set by the user using Asterisk dialplan functions. When a
- technology channel is initiating a call, receives an internal
- connected-line update event, or receives an internal redirecting
- update event, it merges the corresponding public id with the
- private id to create an effective party id. The effective party
- id is then used for protocol signaling. The channel technologies
- which initially support the private id representation with this
- patch are SIP (chan_sip), mISDN (chan_misdn) and PRI
- (chan_dahdi). Once a private name or number on a channel is set
- and (implicitly) made valid, it is generally used for any further
- protocol signaling until it is rewritten or invalidated. To
- simplify the invalidation of private ids all internally generated
- connected/redirecting update events and also all
- connected/redirecting update events which are generated by
- technology channels -- receiving regarding protocol information -
- automatically trigger the invalidation of private ids. If not
- using the private party id representation feature at all, i.e. if
- using only the 'regular' caller-id, connected and redirecting
- related functions, the current characteristic of Asterisk is not
- affected by the new extended functionality. 3. User interface
- Description To grant access to the private name and number
- representation from the Asterisk dialplan, the CALLERID,
- CONNECTEDLINE and REDIRECTING dialplan functions are extended by
- the following data types. The formats of these data types are
- equal to the corresponding regular 'non-private' already existing
- data types: CALLERID: priv-all priv-name priv-name-valid
- priv-name-charset priv-name-pres priv-num priv-num-valid
- priv-num-plan priv-num-pres priv-subaddr priv-subaddr-valid
- priv-subaddr-type priv-subaddr-odd priv-tag CONNECTEDLINE:
- priv-name priv-name-valid priv-name-pres priv-name-charset
- priv-num priv-num-valid priv-num-pres priv-num-plan priv-subaddr
- priv-subaddr-valid priv-subaddr-type priv-subaddr-odd priv-tag
- REDIRECTING: priv-orig-name priv-orig-name-valid
- priv-orig-name-pres priv-orig-name-charset priv-orig-num
- priv-orig-num-valid priv-orig-num-pres priv-orig-num-plan
- priv-orig-subaddr priv-orig-subaddr-valid priv-orig-subaddr-type
- priv-orig-subaddr-odd priv-orig-tag priv-from-name
- priv-from-name-valid priv-from-name-pres priv-from-name-charset
- priv-from-num priv-from-num-valid priv-from-num-pres
- priv-from-num-plan priv-from-subaddr priv-from-subaddr-valid
- priv-from-subaddr-type priv-from-subaddr-odd priv-from-tag
- priv-to-name priv-to-name-valid priv-to-name-pres
- priv-to-name-charset priv-to-num priv-to-num-valid
- priv-to-num-pres priv-to-num-plan priv-to-subaddr
- priv-to-subaddr-valid priv-to-subaddr-type priv-to-subaddr-odd
- priv-to-tag Reported by: Thomas Arimont Review:
- https://reviewboard.asterisk.org/r/2030/
|