2.9 Version Upgrade Module, Beta Program Status, More

The beta program is progressing very nicely and we are getting some really great feedback from a handful of people. I suspect the rest of you are out there silently testing and finding 2.9 flawless and feel we should just make it final! Well that’s probably wishful thinking on my part so my request is, if you are testing and have general feedback, please speak up. You can comment on this blog and let us know it’s going great, it’s not, etc. It always helps to know what aspects of the system are being tested and an idea of how many people are really actively using it.

[b]Installing the Upgrade Module[/b]

My general sense is that it is going good but not quite ready for a release candidate, though not too far off. The one gating element that usually ramps up beta testers like a hockey stick is when we publish the [url=http://mirror.freepbx.org/modules/release/2.8/versionupgrade-2.8.latest.tgz]2.9 Version Upgrade Tool[/url] to the online repository so that it just pops when people check for online modules. Well we are often tempted to do this since we provide [b]lots[/b] of warnings before you can actually commit to the upgrade, but we try to air on the side of caution. Most of you have learned to blindly trust anything we throw at the online repository and for that we are flattered. Therefore, we want to be careful not to introduce any surprises on you!

For now, there are a couple steps involved but it is still very straight forward and you can still do it all through the GUI.

Here’s how you get and install the Upgrade Module:

[list] [*] Download the module to your desktop: [url=http://mirror.freepbx.org/modules/release/2.8/versionupgrade-2.8.latest.tgz]2.9 Upgrade Module[/url] [*] Make sure 2.8 is fully up to date from all 2.8 available Updates.
[*] Click “Upload module” in Module Admin
[*] Choose the file you just downloaded (versionupgrade-2.8.latest.tgz)
[*] Click Upload
[*] Go to Manage local modules
[*] Install the new module (should show locally available)
[/list]

At this point you have done the equivalent of downloading and installing the module as if it had been available online. The rest is the same as it always has been:

[list] [*] Go to the ‘2.9 Upgrade Tool’ tab
[*] Choose to upgrade and confirm
[*] Now check for Online Modules again, and you should see the Framework Module, load that
[*] Next, load Core
[*] Now load evertyhing
[*] Done! – start testing and exploring away!
[/list]

For those of you who have been through this before, we’ve made some minor but very helpful improvements. As you step through the upgrade process checking for modules, [b]only[/b] those that you should upgrade next are displayed in Module Admin. This is important since it is often required to follow the order specified in the upgrade process or [i]bad[/i] things can happen. This keeps you from going astray. The entire process should take no longer than a few minutes with a good internet connection. We’ll continue to monitor the feedback and when we are comfortable, we’ll move the module online thus “opening the flood gates” on the next step of testing.

[b]General Beta Status[/b]

Overall the program is progressing very nicely. We’ve seen the normal inflow of tickets and have been fixing them quicker then they are coming in. The tickets have been a mix of new 2.9 changes and existing issues that often get reported during beta programs but are not unique to the new release. There was a good chunk of work put into the new Asterisk 1.8 Call Camp-On feature and associated module that I added. We’re trying hard to make sure this gets accepted into Asterisk 1.10 at a minimum and your feedback and testing on the Device State Camp-On patch would be invaluable to make sure the Asterisk team sees enough interest and testing to make this happen. It’s also up on the Asterisk Code Review boad so [b]please[/b] show your interest by commenting on the ticket so that we get this in! Other Asterisk related patches that will help with 1.8 themes we’ve tried to pursue and you may be interested include CallCompletionRequest/Cancel fix and a Call Parking Connected Line fix both of which should find their way into 1.8 as bug fixes but your interest in seeing these happen (and thus your testing) will go a long way to raising their awareness. One last one that we currently have a bit of a kludge to work around is Asterisk Bug 18772 which is currently in need of someone smarter than me to come up with a patch to fix it (the others I was able to struggle through and supply patches in hope that they would accelerate fixes and adoption).

Given the current bug rate and feedback, my best guess for future release dates is another week or two in beta before I feel comfortable going to a release candidate, and once there, it’s usually another week or two for final, so we should have a final release before the end of March which keeps us within tolerance of the planned release date.

[b]Other News[/b]

I’ve talked about doing a project phone conference and although the feedback has been minimal, it’s still in progress. SkykingOH has come up with a phone bridge on top of “unlimited” bandwidth so I’ll be testing with him shortly to make sure all looks good and then pick and announce a date! I’ve hinted at the fact that Moshe (mbrevda with Schmoozecom.com) has been working on some really cool stuff in the background, and I’m here to simply tease you and say that it’s still coming along nicely but we aren’t ready to surprise you quite yet! Lastly, we get regular inquiries about the [url=http://www.freepbx.org/open-telephony-training-seminar]next OTTS class[/url] as it has been a while since we put one on. We’ve had a few false starts on logistics and locations but stay tuned as we hope to finalize something within the next couple weeks for the next class, and will make sure to include LOTS of 2.9 content in it. We are also looking at adding a one day class to focus solely on ACD (Queues) so for those of you who have a strong interest on that subject including past OTTS graduates. stay tuned!

For now, I’ll let you go so you can go pull down that [url=http://mirror.freepbx.org/modules/release/2.8/versionupgrade-2.8.latest.tgz]2.9 Upgrade Module[/url] and get testing!

[b]Philippe[/b] – On behalf of the FreePBX Team

29 thoughts on “2.9 Version Upgrade Module, Beta Program Status, More

  1. Thanks Phillipe, something in the Wiki would be great, although I think I now understand what is happening with amportal.conf.

    Otherwise things seem pretty good with 2.9 and asterisk 1.8, I am continuing testing things here. Anything specific that needs testing let me know.

    T

  2. Phillipe

    I had not looked at the camp on stuff up to now. I will take a look and run some tests when I get a chance on Monday and let you know what I find.

    I have asterisk version 1.8.2.2 loaded at present.

    T

  3. I get the following error under latest 2.9 with endpoint manager:

    WARNING: Assets Missing! ^^Please click the Orange “Apply Configuration Changes” Bar

    Did I make a mistake or should I submit a bug?

  4. Phillipe

    I am looking at Camp On at the moment – not having success – to be sure I am on the right page here is what I am doing – I have a target extension with no voicemail and no call waiting, I set up a call between that extension and another extension and leave them connected. I call the target extension from a third extension and hear busy tone. I then dial *82 but do not hear a camp on announcement, just busy tone and then the system hangs up. When I disconnect the call in progress there is no call back.

    I have everything in default state – I don’t see anything obvious I have to set to enable Camp On.

    Could you give me some starting values please?

    T

  5. there are two things going on.

    The first is the fast busy means that CallCompletionRequest() is failing and you are not getting anything intelligent back because of one of the above mentioned bugs that is not fixed without the patch.

    Beyond that, make sure that the “Caller Timeout To Request” is set to something reasonable like 30 or 60 seconds and then make sure you make your CallCompletionRequest() (*82) within that time.

    There is a CLI command:
    [code]
    cc report status
    [/code]
    which will show the status of requests. For example I called from 3000 to 3001, and then hung up and immediately ran the command, I see this:
    [code]
    new-host-6*CLI> cc report status
    1 Call completion transactions
    Core ID Caller Status
    —————————————————————————-
    31 SIP/3000 CC offered to caller
    |–>3001@ext-local
    |–>SIP/3001(CCNR)
    [/code]
    Which tells me that at this very moment caller SIP/3000 has the option to do a CallCompletionRequest() to 3001 and if made, it will be a CCNR (Call Completion No Answer) request meaning it will be active for the time set for CCNR callbacks once the request has been made. (If the line was busy, it would have been CCBS).

  6. I have 6004 call 6005 and set up a call. I then call 6004 with 6001, get busy and dial *82. 6001 hangs up. I then hang up the call between 6004 and 6005 and after that nothing happens. Here is the call progress log:

    == Using SIP RTP TOS bits 184
    == Using SIP RTP CoS mark 5
    — Executing [6004@from-internal:1] ExecIf(“SIP/6001-00000008”, “0?Set(__RINGTIMER=0)”) in new stack
    — Executing [6004@from-internal:2] Macro(“SIP/6001-00000008”, “exten-vm,novm,6004,0,0,0”) in new stack
    — Executing [s@macro-exten-vm:1] Macro(“SIP/6001-00000008”, “user-callerid,”) in new stack
    — Executing [s@macro-user-callerid:1] Set(“SIP/6001-00000008”, “AMPUSER=6001”) in new stack
    — Executing [s@macro-user-callerid:2] GotoIf(“SIP/6001-00000008”, “0?report”) in new stack
    — Executing [s@macro-user-callerid:3] ExecIf(“SIP/6001-00000008”, “1?Set(REALCALLERIDNUM=6001)”) in new stack
    — Executing [s@macro-user-callerid:4] Set(“SIP/6001-00000008”, “AMPUSER=6001”) in new stack
    — Executing [s@macro-user-callerid:5] Set(“SIP/6001-00000008”, “AMPUSERCIDNAME=Stone Residence”) in new stack
    — Executing [s@macro-user-callerid:6] GotoIf(“SIP/6001-00000008”, “0?report”) in new stack
    — Executing [s@macro-user-callerid:7] Set(“SIP/6001-00000008”, “AMPUSERCID=6001”) in new stack
    — Executing [s@macro-user-callerid:8] Set(“SIP/6001-00000008”, “CALLERID(all)=”Stone Residence” <6001>“) in new stack
    — Executing [s@macro-user-callerid:9] GotoIf(“SIP/6001-00000008”, “0?limit”) in new stack
    — Executing [s@macro-user-callerid:10] ExecIf(“SIP/6001-00000008”, “0?Set(GROUP(concurrency_limit)=6001)”) in new stack
    — Executing [s@macro-user-callerid:11] GosubIf(“SIP/6001-00000008”, “7?sub-ccss,s,1(macro-exten-vm,6004)”) in new stack
    — Executing [s@sub-ccss:1] ExecIf(“SIP/6001-00000008”, “0?Return()”) in new stack
    — Executing [s@sub-ccss:2] Set(“SIP/6001-00000008”, “CCSS_SETUP=TRUE”) in new stack
    — Executing [s@sub-ccss:3] GosubIf(“SIP/6001-00000008”, “7?monitor_config,1(macro-exten-vm,6004):monitor_default,1(macro-exten-vm,6004)”) in new stack
    — Executing [monitor_config@sub-ccss:1] Set(“SIP/6001-00000008”, “CALLCOMPLETION(cc_monitor_policy)=generic”) in new stack
    — Executing [monitor_config@sub-ccss:2] GotoIf(“SIP/6001-00000008”, “1?set_monitor”) in new stack
    — Goto (sub-ccss,monitor_config,5)
    — Executing [monitor_config@sub-ccss:5] Set(“SIP/6001-00000008”, “CALLCOMPLETION(cc_max_monitors)=”) in new stack
    — Executing [monitor_config@sub-ccss:6] Return(“SIP/6001-00000008”, “TRUE”) in new stack
    — Executing [s@sub-ccss:4] GosubIf(“SIP/6001-00000008”, “7?agent_config,1:agent_default,1”) in new stack
    — Executing [agent_config@sub-ccss:1] Set(“SIP/6001-00000008”, “CALLCOMPLETION(cc_agent_policy)=generic”) in new stack
    — Executing [agent_config@sub-ccss:2] Set(“SIP/6001-00000008”, “CALLCOMPLETION(cc_offer_timer)=30”) in new stack
    — Executing [agent_config@sub-ccss:3] Set(“SIP/6001-00000008”, “CALLCOMPLETION(ccbs_available_timer)=1200”) in new stack
    — Executing [agent_config@sub-ccss:4] Set(“SIP/6001-00000008”, “CALLCOMPLETION(ccnr_available_timer)=1200”) in new stack
    — Executing [agent_config@sub-ccss:5] Set(“SIP/6001-00000008”, “CALLCOMPLETION(cc_callback_macro)=ccss-default”) in new stack
    — Executing [agent_config@sub-ccss:6] ExecIf(“SIP/6001-00000008”, “1?Set(CALLCOMPLETION(cc_recall_timer)=5)”) in new stack
    — Executing [agent_config@sub-ccss:7] ExecIf(“SIP/6001-00000008”, “1?Set(CALLCOMPLETION(cc_max_agents)=1)”) in new stack
    — Executing [agent_config@sub-ccss:8] ExecIf(“SIP/6001-00000008”, “0?Set(CALLCOMPLETION(cc_agent_dialstring)=Local/6001_6004@from-ccss-)”) in new stack
    — Executing [agent_config@sub-ccss:9] Set(“SIP/6001-00000008”, “CALLCOMPLETION(cc_callback_macro)=ccss-default”) in new stack
    — Executing [agent_config@sub-ccss:10] Return(“SIP/6001-00000008”, “”) in new stack
    — Executing [s@sub-ccss:5] Set(“SIP/6001-00000008”, “DB(AMPUSER/6001/ccss/last_number)=6004”) in new stack
    — Executing [s@sub-ccss:6] Return(“SIP/6001-00000008”, “”) in new stack
    — Executing [s@macro-user-callerid:12] ExecIf(“SIP/6001-00000008”, “0?Set(CHANNEL(language)=)”) in new stack
    — Executing [s@macro-user-callerid:13] GotoIf(“SIP/6001-00000008”, “0?continue”) in new stack
    — Executing [s@macro-user-callerid:14] Set(“SIP/6001-00000008”, “__TTL=64”) in new stack
    — Executing [s@macro-user-callerid:15] GotoIf(“SIP/6001-00000008”, “1?continue”) in new stack
    — Goto (macro-user-callerid,s,26)
    — Executing [s@macro-user-callerid:26] Set(“SIP/6001-00000008”, “CALLERID(number)=6001”) in new stack
    — Executing [s@macro-user-callerid:27] Set(“SIP/6001-00000008”, “CALLERID(name)=Stone Residence”) in new stack
    — Executing [s@macro-user-callerid:28] Set(“SIP/6001-00000008”, “CHANNEL(language)=en”) in new stack
    — Executing [s@macro-exten-vm:2] Set(“SIP/6001-00000008”, “RingGroupMethod=none”) in new stack
    — Executing [s@macro-exten-vm:3] Set(“SIP/6001-00000008”, “__EXTTOCALL=6004”) in new stack
    — Executing [s@macro-exten-vm:4] Set(“SIP/6001-00000008”, “__PICKUPMARK=6004”) in new stack
    — Executing [s@macro-exten-vm:5] Set(“SIP/6001-00000008”, “RT=”””) in new stack
    — Executing [s@macro-exten-vm:6] Macro(“SIP/6001-00000008”, “record-enable,6004,IN”) in new stack
    — Executing [s@macro-record-enable:1] MacroExit(“SIP/6001-00000008”, “”) in new stack
    — Executing [s@macro-exten-vm:7] Macro(“SIP/6001-00000008”, “dial-one,””,tr,6004″) in new stack
    — Executing [s@macro-dial-one:1] Set(“SIP/6001-00000008”, “DEXTEN=6004”) in new stack
    — Executing [s@macro-dial-one:2] Set(“SIP/6001-00000008”, “DIALSTATUS_CW=”) in new stack
    — Executing [s@macro-dial-one:3] GosubIf(“SIP/6001-00000008”, “0?screen,1”) in new stack
    — Executing [s@macro-dial-one:4] GosubIf(“SIP/6001-00000008”, “0?cf,1”) in new stack
    — Executing [s@macro-dial-one:5] GotoIf(“SIP/6001-00000008”, “1?skip1”) in new stack
    — Goto (macro-dial-one,s,8)
    — Executing [s@macro-dial-one:8] GotoIf(“SIP/6001-00000008”, “0?nodial”) in new stack
    — Executing [s@macro-dial-one:9] GotoIf(“SIP/6001-00000008”, “0?continue”) in new stack
    — Executing [s@macro-dial-one:10] Set(“SIP/6001-00000008”, “EXTHASCW=”) in new stack
    — Executing [s@macro-dial-one:11] GotoIf(“SIP/6001-00000008”, “1?next1:cwinusebusy”) in new stack
    — Goto (macro-dial-one,s,12)
    — Executing [s@macro-dial-one:12] GotoIf(“SIP/6001-00000008”, “0?docfu:skip3”) in new stack
    — Goto (macro-dial-one,s,16)
    — Executing [s@macro-dial-one:16] GotoIf(“SIP/6001-00000008”, “1?next2:continue”) in new stack
    — Goto (macro-dial-one,s,17)
    — Executing [s@macro-dial-one:17] GotoIf(“SIP/6001-00000008”, “0?continue”) in new stack
    — Executing [s@macro-dial-one:18] ExecIf(“SIP/6001-00000008”, “0?Set(DIALSTATUS=BUSY)”) in new stack
    — Executing [s@macro-dial-one:19] GotoIf(“SIP/6001-00000008”, “0?cwinusebusy”) in new stack
    — Executing [s@macro-dial-one:20] Set(“SIP/6001-00000008”, “DEXTEN=”) in new stack
    — Executing [s@macro-dial-one:21] Set(“SIP/6001-00000008”, “DIALSTATUS=BUSY”) in new stack
    — Executing [s@macro-dial-one:22] Goto(“SIP/6001-00000008”, “nodial”) in new stack
    — Goto (macro-dial-one,s,46)
    — Executing [s@macro-dial-one:46] ExecIf(“SIP/6001-00000008”, “0?Set(DIALSTATUS=NOANSWER)”) in new stack
    — Executing [s@macro-dial-one:47] NoOp(“SIP/6001-00000008”, “Returned from dial-one with nothing to call and DIALSTATUS: BUSY”) in new stack
    — Executing [s@macro-dial-one:48] MacroExit(“SIP/6001-00000008”, “”) in new stack
    — Executing [s@macro-exten-vm:8] GotoIf(“SIP/6001-00000008”, “0?exit”) in new stack
    — Executing [s@macro-exten-vm:9] Set(“SIP/6001-00000008”, “SV_DIALSTATUS=BUSY”) in new stack
    — Executing [s@macro-exten-vm:10] GosubIf(“SIP/6001-00000008”, “0?docfu,1”) in new stack
    — Executing [s@macro-exten-vm:11] GosubIf(“SIP/6001-00000008”, “0?docfb,1”) in new stack
    — Executing [s@macro-exten-vm:12] Set(“SIP/6001-00000008”, “DIALSTATUS=BUSY”) in new stack
    — Executing [s@macro-exten-vm:13] ExecIf(“SIP/6001-00000008”, “0?MacroExit()”) in new stack
    — Executing [s@macro-exten-vm:14] GotoIf(“SIP/6001-00000008”, “1?s-BUSY,1”) in new stack
    — Goto (macro-exten-vm,s-BUSY,1)
    — Executing [s-BUSY@macro-exten-vm:1] GotoIf(“SIP/6001-00000008”, “0?exit,1”) in new stack
    — Executing [s-BUSY@macro-exten-vm:2] PlayTones(“SIP/6001-00000008”, “busy”) in new stack
    — Executing [s-BUSY@macro-exten-vm:3] Busy(“SIP/6001-00000008”, “20”) in new stack
    == Spawn extension (macro-exten-vm, s-BUSY, 3) exited non-zero on ‘SIP/6001-00000008’ in macro ‘exten-vm’
    == Spawn extension (from-internal, 6004, 2) exited non-zero on ‘SIP/6001-00000008’
    — Executing [h@from-internal:1] Macro(“SIP/6001-00000008”, “hangupcall”) in new stack
    — Executing [s@macro-hangupcall:1] GotoIf(“SIP/6001-00000008”, “1?skiprg”) in new stack
    — Goto (macro-hangupcall,s,3)
    — Executing [s@macro-hangupcall:3] GotoIf(“SIP/6001-00000008”, “1?theend”) in new stack
    — Goto (macro-hangupcall,s,5)
    — Executing [s@macro-hangupcall:5] Hangup(“SIP/6001-00000008”, “”) in new stack
    == Spawn extension (macro-hangupcall, s, 5) exited non-zero on ‘SIP/6001-00000008’ in macro ‘hangupcall’
    == Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/6001-00000008’
    == Using SIP RTP TOS bits 184
    == Using SIP RTP CoS mark 5
    — Executing [*82@from-internal:1] Answer(“SIP/6001-00000009”, “”) in new stack
    — Executing [*82@from-internal:2] Set(“SIP/6001-00000009”, “CCSS_SETUP=TRUE”) in new stack
    — Executing [*82@from-internal:3] Macro(“SIP/6001-00000009”, “user-callerid,”) in new stack
    — Executing [s@macro-user-callerid:1] Set(“SIP/6001-00000009”, “AMPUSER=6001”) in new stack
    — Executing [s@macro-user-callerid:2] GotoIf(“SIP/6001-00000009”, “0?report”) in new stack
    — Executing [s@macro-user-callerid:3] ExecIf(“SIP/6001-00000009”, “1?Set(REALCALLERIDNUM=6001)”) in new stack
    — Executing [s@macro-user-callerid:4] Set(“SIP/6001-00000009”, “AMPUSER=6001”) in new stack
    — Executing [s@macro-user-callerid:5] Set(“SIP/6001-00000009”, “AMPUSERCIDNAME=Stone Residence”) in new stack
    — Executing [s@macro-user-callerid:6] GotoIf(“SIP/6001-00000009”, “0?report”) in new stack
    — Executing [s@macro-user-callerid:7] Set(“SIP/6001-00000009”, “AMPUSERCID=6001”) in new stack
    — Executing [s@macro-user-callerid:8] Set(“SIP/6001-00000009”, “CALLERID(all)=”Stone Residence” <6001>“) in new stack
    — Executing [s@macro-user-callerid:9] GotoIf(“SIP/6001-00000009”, “0?limit”) in new stack
    — Executing [s@macro-user-callerid:10] ExecIf(“SIP/6001-00000009”, “0?Set(GROUP(concurrency_limit)=6001)”) in new stack
    — Executing [s@macro-user-callerid:11] GosubIf(“SIP/6001-00000009”, “7?sub-ccss,s,1(from-internal,*82)”) in new stack
    — Executing [s@sub-ccss:1] ExecIf(“SIP/6001-00000009”, “4?Return()”) in new stack
    — Executing [s@macro-user-callerid:12] ExecIf(“SIP/6001-00000009”, “0?Set(CHANNEL(language)=)”) in new stack
    — Executing [s@macro-user-callerid:13] GotoIf(“SIP/6001-00000009”, “0?continue”) in new stack
    — Executing [s@macro-user-callerid:14] Set(“SIP/6001-00000009”, “__TTL=64”) in new stack
    — Executing [s@macro-user-callerid:15] GotoIf(“SIP/6001-00000009”, “1?continue”) in new stack
    — Goto (macro-user-callerid,s,26)
    — Executing [s@macro-user-callerid:26] Set(“SIP/6001-00000009”, “CALLERID(number)=6001”) in new stack
    — Executing [s@macro-user-callerid:27] Set(“SIP/6001-00000009”, “CALLERID(name)=Stone Residence”) in new stack
    — Executing [s@macro-user-callerid:28] Set(“SIP/6001-00000009”, “CHANNEL(language)=en”) in new stack
    — Executing [*82@from-internal:4] CallCompletionRequest(“SIP/6001-00000009”, “”) in new stack
    == Spawn extension (from-internal, *82, 4) exited non-zero on ‘SIP/6001-00000009’
    — Executing [h@from-internal:1] Macro(“SIP/6001-00000009”, “hangupcall”) in new stack
    — Executing [s@macro-hangupcall:1] GotoIf(“SIP/6001-00000009”, “1?skiprg”) in new stack
    — Goto (macro-hangupcall,s,3)
    — Executing [s@macro-hangupcall:3] GotoIf(“SIP/6001-00000009”, “1?theend”) in new stack
    — Goto (macro-hangupcall,s,5)
    — Executing [s@macro-hangupcall:5] Hangup(“SIP/6001-00000009”, “”) in new stack
    == Spawn extension (macro-hangupcall, s, 5) exited non-zero on ‘SIP/6001-00000009’ in macro ‘hangupcall’
    == Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/6001-00000009’
    — Executing [h@macro-dial-one:1] Macro(“SIP/6005-00000006”, “hangupcall,”) in new stack
    — Executing [s@macro-hangupcall:1] GotoIf(“SIP/6005-00000006”, “1?skiprg”) in new stack
    — Goto (macro-hangupcall,s,3)
    — Executing [s@macro-hangupcall:3] GotoIf(“SIP/6005-00000006”, “1?theend”) in new stack
    — Goto (macro-hangupcall,s,5)
    — Executing [s@macro-hangupcall:5] Hangup(“SIP/6005-00000006”, “”) in new stack
    == Spawn extension (macro-hangupcall, s, 5) exited non-zero on ‘SIP/6005-00000006’ in macro ‘hangupcall’
    == Spawn extension (macro-dial-one, h, 1) exited non-zero on ‘SIP/6005-00000006’
    == Spawn extension (macro-dial-one, s, 42) exited non-zero on ‘SIP/6005-00000006’ in macro ‘dial-one’
    == Spawn extension (macro-exten-vm, s, 7) exited non-zero on ‘SIP/6005-00000006’ in macro ‘exten-vm’
    == Spawn extension (from-internal, 6004, 2) exited non-zero on ‘SIP/6005-00000006’
    — Executing [h@from-internal:1] Macro(“SIP/6005-00000006”, “hangupcall”) in new stack
    — Executing [s@macro-hangupcall:1] GotoIf(“SIP/6005-00000006”, “1?skiprg”) in new stack
    — Goto (macro-hangupcall,s,3)
    — Executing [s@macro-hangupcall:3] GotoIf(“SIP/6005-00000006”, “1?theend”) in new stack
    — Goto (macro-hangupcall,s,5)
    — Executing [s@macro-hangupcall:5] Hangup(“SIP/6005-00000006”, “”) in new stack
    == Spawn extension (macro-hangupcall, s, 5) exited non-zero on ‘SIP/6005-00000006’ in macro ‘hangupcall’
    == Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/6005-00000006’
    asterisk*CLI>

  7. I use device and user mode. It tells me that I need to turn on ‘Dynamically Generate Hints’ in Advanced settings, which is one of those read only settings that we have to turn the override on for. Unfortunately when I do that. All my BLF’s have nothing to monitor until someone’s on the phone, so they show some variation of “I don’t know what’s going on with that phone”. This is happening with Linksys and Aastra phones at least. The Linksys are more obvious because the lights show orange, the Aastra’s just show a ?.
  8. Also, on the reports, page one of calls displays correctly, but once you go to the next page, the duration is showing up in I believe straight seconds rather than hr:min:sec.
  9. Socs28,

    I would suggest you start a new forum thread wrt to the Dynamic Hints. That is not something new (though there could be 2.9 specific changes that have resulted in bugs).

    On the new thread, we can go into more details of what may be happening and where to look. Concerning reports, that code has not changed in 2.9 either, not sure what that is about but reports have always been plagued with potential issues and inaccuracies because of lots of reasons, that could simply be what is going on here.

  10. stonet,

    you should probably fire up a new thread in the forum wrt to CCSS issues so we don’t start filling the blog with call traces. If you could do that and put your trace there, I’d like to remove it from your comments so we can keep the blog thread a bit cleaner.

    We can take up your issue there (which looks like the right calls are being made so we’ll have to further diagnose it there).

    Thanks.

  11. [p_lindheimer] [i]Original Message Removed as Irrelevant. To the poster, please contact the support team directly as I am sure they will be able to rectify your problem.[/i]
  12. stonet,

    thanks for the update.

    I’d be real interested in the Call Camping abilities in conjunction with the referenced patches. Also call parking in conjunction with the referenced patches. I could get you access to a set of asterisk RPMs that would provide 1.8 with these. Alternatively, they are all housed in the main asterisk binary, I could get you access to that which would allow you to switch between what ever version you are using and that one.

    I’d like to get testing feedback posted to the asterisk tickets to help them along. If you have a phone with BLF buttons that is the best way and then just setup a BLF to the Call Camping toggle. If not, you can always test using the feature codes directly and then checking that the state is being updated with the ‘core show hints’ CLI option.

    Also, with the call parking, you could test and confirm that the Connected Call capabilities are fixed with the one mentioned patch (also in the asterisk binary) if you have phones that support the Connected Line updates and have them properly configured.

    Beyond that, usually the most important thing is that we have not regressed any existing abilities since priority one is to keep what worked working just as stable. Priority two is to make the new features as concrete as possible knowing that there will probably be things discovered after final release that will need to be addressed, but since the features are new, we are not breaking something that people were doing before.

  13. all you should have to do at most is to do a reload at the CLI if Asterisk happens to be caching the manager.conf credentials.

    I believe at one point, maybe 1.6, they enabled that ability.

    As far as asterisk.conf, once you have transitioned to the new setup, FreePBX does not use it anymore.

    FreePBX does generate one every time you press the “Apply Configuration Settings” bar (meaning when you run retrieve_conf) because there may be some third party applications, such as FOP, that still use that file. It will be phased out over time.

    The only other place that FreePBX still uses the file is on a first install with install_amp. The amportal.conf can be used to set various initial settings but once they are loaded in the database, it is no longer used but just written to.

    This is one of the big ‘plumbing’ changes that we did in 2.9, and for those of us who have been around for a while it is a bit confusing. Given several of the changes that are part of 2.9, we’ll be putting out more blogs on some of it in the technical corner, on the wiki, etc. so those of you who want to know what is going on behind the scenes can get the scoop.

  14. I now realize I also changed the Asterisk Manager Password this morning. I had changed it in /etc/amportal.conf and in /etc/asterisk/manager.conf but it did not change in the freepbx_settings table in the database. I changed it there as well and after an amportal restart the problem was resolved.

    On further investigation I find that changing the password in manager.conf and in the freepbx_settings table and then doing an amportal restart works for changing the password. The password updated automatically in amportal.conf. The amportal restart was necessary, without it the problem persisted.

  15. I updated 6 systems and for the most part there arent much bugs but there is a ton of great new features even in existing modules like queues.

    A big thanks.

    As for campon I havent gotten it to work (I didnt install the patch but I dont think thats the problem).

    I dial a number on the system it rings and no answer goes to vm.
    I dial *82 (am I supposed to append something to that?) and it just disconnects.

    BTW is possible to use it on a sip trunk ?

  16. with Camp-On you need to make sure the extension is configured properly.

    If it just hangs up, it’s probably a combination of the extension not being configured to allow it, or it’s too late since you made the call, and the lack of one of the patches which makes CallCompletionRequest() simply die if there is nothing pending it could complete on.

    Feel free to come over to the IRC if you still can’t get it to work, I’m usually on #freepbx-dev and we can determine what isn’t setup right. Even without any of the patches, you should be able to get it to work.

  17. ok i found the problem
    i have to gointo each extension and submit

    [p_lindheimer] [i]That, or you can go to the Advanced Settings tab and switch the mode so that all the extensions use the default values, however, you still have to enable the ability on each extension. (You might want to put in a ticket suggesting that we have them enabled by default…)[/i]

  18. I just tried to upgrade from 2.8 to the Beta on Asterisk 1.6. I uploaded the upgrade module and went to the upgrade tab and was in the process of upgrading the framework module. The orange screen opened and some processing occurred and then it just stalled. After 10 minutes, I rebooted. Can no longer access FreePBX but Asterisk is running.
  19. kenn10,

    I would be glad to have a look at your system if you want to contact me privately.

    The the two likely issues are either bad settings such as inadequate memory configured in PHP, or of course a bug. If it’s a bug there are a few places that may show what is going on. The /var/log/httpd/error_log is always a good place to check. There may also be some logs written depending on how far it got, possibly under /tmp or some other possibilities we would have to check for.

  20. I was experimenting with the Wakeup Module and now get:

    exit: 255
    Thu, 24 Feb 2011 14:18:43 -0400 – Failed to login.
    PHP Fatal error: Call to a member function func_exists() on a non-object in /var/lib/asterisk/bin/retrieve_conf on line 535

    1 error(s) occurred, you should view the notification log on the dashboard or main screen to check for more details.

    when I click the orange bar.

    Have uninstalled Wakeup but it is still the same.

    It seems I have done something foolish and have broken something, any help to overcome would be appreciated.

    T

  21. you are not getting a proper manager connection for some reason.

    You can add the following code which will probably confirm the issue:

    [code]
    Index: retrieve_conf
    ===================================================================
    — retrieve_conf (revision 11579)
    +++ retrieve_conf (working copy)
    @@ -6,6 +6,11 @@
    if (!@include_once(getenv(‘FREEPBX_CONF’) ? getenv(‘FREEPBX_CONF’) : ‘/etc/freepbx.conf’)) {
    include_once(‘/etc/asterisk/freepbx.conf’);
    }
    +
    +if (!$bootstrap_settings[‘astman_connected’]) {
    + fatal(sprintf(_(“Unable to connect to Asterisk Manager from %s, aborting”),__FILE__));
    +}
    +
    $freepbx_conf =& freepbx_conf::create();

    class connectdirs {
    [/code]

  22. Sorry folks,

    the upgrade hanging was my bad from something that slipped in there late yesterday. It has been fixed so the newest framework upgrade should not have an issue.

  23. I have upgraded 4 systems. All has gone fairly smoothly. The only hiccups I had were one of the systems upgrading with the source package had a couple password problems I worked around, it was probably something on my end. The other was a new system that I went straight to 2.9 and then tried to change my manager and database passwords the same way I normally have. That broke FreePBX. I put them back to the defaults and all came back up, but haven’t had time yet to go back and see why things broke. The others have been upgraded with the module and everything has gone fine. My biggest yippee so far is on the parking lot being able to have it ring back to the one who sent it to park.
  24. Socs28,

    if you need to change manager credentials then you should do that in the Advanced Settings Tab. You can find that on the tools bar or through a link in General Settings.

    Think of that page as the new amportal.conf file (which it is). If a setting is particularly volatile, then we will have made it read-only. You need to set that page to allow read-only settings to be overwritten and then you can change it.

    If you need to change the database user/password then you do that in the freepbx.conf file. You can find that file at either /etc/freepbx.conf or /etc/asterisk/freepbx.conf depending on where it was able to write when the migration or installation happened. (You can also point to the exact file if you want to put it elsewhere, with the FREEPBX_CONF environment variable, it will also check that first and if set, it will use that as the ‘bootstrap’ file.

    Thanks for the feedback, glad it is going well.

Leave a Reply