[asterisk-users] clone X100p+dahdi dial out works only after receiving call
Tzafrir Cohen
tzafrir.cohen at xorcom.com
Sat Feb 28 13:52:46 CST 2009
On Sat, Feb 28, 2009 at 11:24:53AM -0800, Michael Higgins wrote:
>
> So, tweaking configs, rebuilding this and that... restarting, twiddling, it works (yeah!), but fails on re-boot to work at all. Consistently, though.
>
> I believe it comes down to this: I can call out only *after* I've received a call.
>
> So, cold boot. Then:
>
> modprobe dahdi
> modprobe wctc4xxp
Why? Do you have a transcoder card?
> modprobe wcfxo
>
> dahdi: Telephony Interface Registered on major 196
> dahdi: Version: 2.1.0.3
> dahdi_transcode: Loaded.
> ACPI: PCI Interrupt 0000:00:06.0[A] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ 11
> Found a Wildcard FXO: Wildcard X100P
>
> cat /proc/dahdi/1
> Span 1: WCFXO/0 "Wildcard X100P Board 1" (MASTER)
>
> 1 WCFXO/0/0
>
> Looks good so far. I think. Don't really know what the strings represent entirely.
>
> # /etc/init.d/dahdi start
> * Starting DAHDI ...
>
>
> Start asterisk:
> sudo -u asterisk asterisk -cvvv
>
> *CLI> dahdi show status
> Description Alarms IRQ bpviol CRC4 Fra Codi Options LBO
> Wildcard X100P Board 1 OK 0 0 0 CAS Unk YEL 0 db (CSU)/0-133 feet (DSX-1)
>
> *CLI> dahdi show channel 1
> Channel: 1
> File Descriptor: 10
> Span: 1
> Extension:
> Dialing: no
> Context: from-pstn
> Caller ID:
> Calling TON: 0
> Caller ID name:
> Mailbox: none
> Destroy: 0
> InAlarm: 0
> Signalling Type: FXS Kewlstart
> Radio: 0
> Owner: <None>
> Real: <None>
> Callwait: <None>
> Threeway: <None>
> Confno: -1
> Propagated Conference: -1
> Real in conference: 0
> DSP: no
> Busy Detection: no
> TDD: no
> Relax DTMF: no
> Dialing/CallwaitCAS: 0/0
> Default law: ulaw
> Fax Handled: no
> Pulse phone: no
> DND: no
> Echo Cancellation:
> 1 taps
> (unless TDM bridged) currently OFF
> Actual Confinfo: Num/0, Mode/0x0000
> Actual Confmute: No
> Hookstate (FXS only): Onhook
>
> So, all is good. First test is to see if I can originate a call from CLI:
>
> *CLI> originate DAHDI/1/5034735882 extension linphone
> *CLI> [Feb 28 10:59:48] NOTICE[2401]: channel.c:3316 __ast_request_and_dial: Unable to request channel DAHDI/1/5034735882
>
> So, by chance, instead of ripping my hair for a bit, just to be sure it's still working *at all*, I call myself:
>
> starting simple switch on 'DAHDI/1-1'
> [Feb 28 11:00:49] NOTICE[2458]: chan_dahdi.c:7125 ss_thread: Got event 18 (Ring Begin)...
> == Starting DAHDI/1-1 at from-pstn,s,1 failed so falling back to exten 's'
> == Starting DAHDI/1-1 at from-pstn,s,1 still failed so falling back to context 'default'
asterisk -rx 'dialplan show s at from-pstn'
> -- Executing [s at default:1] Verbose("DAHDI/1-1", "1|dumb answering machine") in new stack
> 1|dumb answering machine
> -- Executing [s at default:2] Answer("DAHDI/1-1", "") in new stack
> -- Executing [s at default:3] Playback("DAHDI/1-1", "transfer,skip") in new stack
> -- <DAHDI/1-1> Playing 'transfer.gsm' (language 'en')
> -- Executing [s at default:4] Dial("DAHDI/1-1", "SIP/mykhyggz at 192.168.0.100,20,rt") in new stack
> == Using SIP RTP CoS mark 5
> -- Called mykhyggz at 192.168.0.100
> -- SIP/192.168.0.100-0827a188 is ringing
> -- SIP/192.168.0.100-0827a188 answered DAHDI/1-1
> == Spawn extension (default, s, 4) exited non-zero on 'DAHDI/1-1'
> -- Hungup 'DAHDI/1-1'
>
> And I get my call... with success.
>
> Now, I try to call out, originate at CLI again:
>
> *CLI> originate DAHDI/1/5034735882 extension linphone
> == Starting DAHDI/1-1 at default,linphone,1 failed so falling back to exten 's'
> -- Executing [s at default:1] Verbose("DAHDI/1-1", "1|dumb answering machine") in new stack
> 1|dumb answering machine
> -- Executing [s at default:2] Answer("DAHDI/1-1", "") in new stack
> -- Executing [s at default:3] Playback("DAHDI/1-1", "transfer,skip") in new stack
> -- <DAHDI/1-1> Playing 'transfer.gsm' (language 'en')
> *CLI> -- Executing [s at default:4] Dial("DAHDI/1-1", "SIP/mykhyggz at 192.168.0.100,20,rt") in new stack
> == Using SIP RTP CoS mark 5
> -- Called mykhyggz at 192.168.0.100
> -- SIP/192.168.0.100-0827a700 is ringing
> -- SIP/192.168.0.100-0827a700 answered DAHDI/1-1
> == Spawn extension (default, s, 4) exited non-zero on 'DAHDI/1-1'
> -- Hungup 'DAHDI/1-1'
>
>
> So, obviously it works... sort of. I'm assuming that, since I don't really *know* what I'm doing, someone else who *does* can probably point out the missing or incorrect part of my configuration.
>
> (Meanwhile, I'll see about IRQ status... seems a possible culprit, now that I think about it more.)
>
> Anyway, here's the bits of:
> ./chan_dahdi.conf
> ./dahdi-channels.conf
> ./extensions.conf
>
> [trunkgroups]
> [channels]
If you configure things manually, don't also include dahdi-channels.
If you do include it, it is probably best to include it after you set
all the defaults in the lines below.
> #include /etc/asterisk/dahdi-channels.conf
> signalling=fxs_ks
> usecallerid=yes
> callwaiting=yes
> usecallingpres=yes
> callwaitingcallerid=yes
> threewaycalling=yes
> transfer=yes
> canpark=yes
> cancallforward=yes
> callreturn=yes
> echocancel=no
> echocancelwhenbridged=no
> group=1
> callgroup=1
> pickupgroup=1
> immediate=yes
> ringtimeout=8000
> signalling=fxs_ks
> callerid=asreceived
>
> group=0
> context=from-pstn
> channel => 1
>
> [general]
> static=yes
> writeprotect=no
> clearglobalvars=no
> [globals]
> CONSOLE=Console/dsp
> IAXINFO=guest
> TRUNK=DAHDI/g1
> TRUNKMSD=0
>
> [default]
> exten => 1205,1,Wait(2)
> exten => 1205,2,Record(/tmp/asterisk-recording:gsm)
> exten => 1205,3,Hangup
> exten => s,1,Verbose(1|dumb answering machine)
> exten => s,n,Answer()
> exten => s,n,Playback(transfer,skip)
> exten => s,n,Dial(SIP/mykhyggz at 192.168.0.100,20,rt)
> exten => s,n,BackGround(asterisk-recording)
> exten => s,n,Voicemail(6666 at default)
> exten => s,n,Playback(tt-weasels)
> exten => s,n,Hangup()
> exten => 4567,1,Dial(SIP/mykhyggz at 192.168.0.100,20,rt)
> exten => _X.,1,Dial(DAHDI/1/${EXTEN})
> exten => 3456,1,Dial(SIP/linphone,20,rt)
> exten => 6666,1,Voicemail(6666 at default)
> exten => 6666,n,Hangup()
>
> Also,
>
> *CLI> dahdi restart
> Destroying channels and reloading DAHDI configuration.
> > Initial softhangup of all DAHDI channels complete.
> > Final softhangup of all DAHDI channels complete.
> == Unregistered channel 1
> == Parsing '/etc/asterisk/chan_dahdi.conf': == Found
> == Parsing '/etc/asterisk/dahdi-channels.conf': == Found
> == Parsing '/etc/asterisk/users.conf': == Found
> -- Reconfigured channel 1, FXS Kewlstart signalling
>
> but, after a cold boot and restart:
>
> dahdi restart
> Destroying channels and reloading DAHDI configuration.
> == Unregistered channel -2
> == Unregistered channel 1
> == Parsing '/etc/asterisk/chan_dahdi.conf': == Found
> == Parsing '/etc/asterisk/dahdi-channels.conf': == Found
> == Parsing '/etc/asterisk/users.conf': == Found
> -- Reconfigured channel 1, FXS Kewlstart signalling
> *CLI>
>
>
> What the heck is channel -2, I wonder?
>
> . . .
>
> Finally... do I *really* need to cold boot in order to re-init this card successfully? Or is there some known sure way to get it initialized truly 'from scratch'? It seems *so* wrong to boot unless I've rebuilt the kernel.
>
> Thanks for any help or suggestions to fix this problem.
>
> Cheers,
>
> --
> |\ /| | | ~ ~
> | \/ | |---| `|` ?
> | |ichael | |iggins \^ /
> michael.higgins[at]evolone[dot]org
>
> _______________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
--
Tzafrir Cohen
icq#16849755 jabber:tzafrir.cohen at xorcom.com
+972-50-7952406 mailto:tzafrir.cohen at xorcom.com
http://www.xorcom.com iax:guest at local.xorcom.com/tzafrir
More information about the asterisk-users
mailing list