Connecting Dect phones with softphones on asterisk new stack

Oscar Soriano Riera oskar at enrutador.com
Wed Oct 13 20:45:28 UTC 2010


Hi Patrick
Thanks for your help.

This is the configuration of my dialplan in extension.conf:

[general]
static=yes
writeprotect=no
autofallthrough=no

[globals]
CONSOLE = Console/dsp  ; Console interface for demo
;CONSOLE=DAHDI/1
;CONSOLE=Phone/phone0
IAXINFO = guest  ; IAXtel username/password
;IAXINFO=myuser:mypass
TRUNK = DAHDI/G2  ; Trunk interface
TRUNKMSD = 1  ; MSD digits to strip (usually 1 or 0)
FEATURES =
DIALOPTIONS =
RINGTIME = 20
FOLLOWMEOPTIONS =
PAGING_HEADER = Intercom
;TRUNK=IAX2/user:pass at provider

[from-dect]

;Incoming calls (from PP) 
;
exten => s,1,Answer                    ; Answer the line
exten => s,n,Set(TIMEOUT(digit)=5)     ; Set Digit Timeout to 5 seconds
exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10
seconds
exten => s,n,WaitExten(,d)             ; Wait for an extension to be
dialed.

;Outgoing calls (to PP)

exten => 600,1,Set(RING_PATTERN=3)
exten => 601,1,Set(RING_PATTERN=silent)
include => dect_register


; TEST
; Create an extension 700, for demo call
;
exten => 700,1,Playback(demo-echotest)  ; Let them know what's going on
exten => 700,n,Echo  			; Do the echo test
exten => 700,n,Playback(demo-echodone)  ; Let them know it's over
exten => 700,n,Goto(s,6)  		; Start over


[stdexten]

exten => _X.,50000(stdexten),NoOp(Start stdexten)
exten => _X.,n,Set(LOCAL(ext)=${EXTEN})
exten => _X.,n,Set(LOCAL(dev)=${ARG1})
exten => _X.,n,Set(LOCAL(cntx)=${ARG2})
exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? "@${cntx}" :: ""])
exten => _X.,n,Dial(${dev},20)  ; Ring the interface, 20 seconds maximum
exten => _X.,n,Goto(stdexten-${DIALSTATUS},1)  ; Jump based on status
(NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => stdexten-NOANSWER,1,Voicemail(${mbx},u)  ; If unavailable, send
to voicemail w/ unavail announce
exten => stdexten-NOANSWER,n,NoOp(Finish stdexten NOANSWER)
exten => stdexten-NOANSWER,n,Return()  ; If they press #, return to start
exten => stdexten-BUSY,1,Voicemail(${mbx},b); If busy, send to voicemail
w/ busy announce
exten => stdexten-BUSY,n,NoOp(Finish stdexten BUSY)
exten => stdexten-BUSY,n,Return()  ; If they press #, return to start
exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1)  ; Treat anything
else as no answer
exten => a,1,VoicemailMain(${mbx})  ; If they press *, send the user into
VoicemailMain
exten => a,n,Return()


The log for this configuration is the next one :

*CLI>     -- Accepting AUTHENTICATED call from 10.0.0.1:
       > requested format = unknown,
       > requested prefs = (),
       > actual format = ulaw,
       > host prefs = (),
       > priority = mine
    -- Executing [600 at from-dect:1] Set("IAX2/tst-869", "RING_PATTERN=3")
in new stack
[Oct 13 22:29:41] WARNING[3089]: pbx.c:4833 __ast_pbx_run: Timeout, but no
rule 't' in context 'from-dect'
    -- Hungup 'IAX2/tst-869'


I probe to put "include => <regcontext>" but this context dont exist on
the configurations file :

[Oct 13 22:33:04] WARNING[2890]: pbx.c:10046 ast_context_verify_includes:
Context 'from-dect' tries to include nonexistent context 'regcontext'

In my scenario the phonesoft and siemens dect phone are in the same
context: "[from-dect]"

This is the result of log Dialplan:
 == Setting global variable 'CONSOLE' to 'Console/dsp'
  == Setting global variable 'IAXINFO' to 'guest'
  == Setting global variable 'TRUNK' to 'DAHDI/G2'
  == Setting global variable 'TRUNKMSD' to '1'
  == Setting global variable 'FEATURES' to ''
  == Setting global variable 'DIALOPTIONS' to ''
  == Setting global variable 'RINGTIME' to '20'
  == Setting global variable 'FOLLOWMEOPTIONS' to ''
  == Setting global variable 'PAGING_HEADER' to 'Intercom'
    -- Registered extension context 'from-dect' (0xbe178e0) in local table
0xbe30778; registrar: pbx_config
    -- Added extension 's' priority 1 to from-dect (0xbe178e0)
    -- Added extension 's' priority 2 to from-dect (0xbe178e0)
    -- Added extension 's' priority 3 to from-dect (0xbe178e0)
    -- Added extension 's' priority 4 to from-dect (0xbe178e0)
    -- Added extension '600' priority 1 to from-dect (0xbe178e0)
    -- Added extension '601' priority 1 to from-dect (0xbe178e0)
    -- Including context 'dect_register' in context 'from-dect'
    -- Including context 'regcontext' in context 'from-dect'
    -- Added extension '700' priority 1 to from-dect (0xbe178e0)
    -- Added extension '700' priority 2 to from-dect (0xbe178e0)
    -- Added extension '700' priority 3 to from-dect (0xbe178e0)
    -- Added extension '700' priority 4 to from-dect (0xbe178e0)
    -- Registered extension context 'stdexten' (0xbe33a80) in local table
0xbe30778; registrar: pbx_config
    -- Added extension '_X.' priority 50000 to stdexten (0xbe33a80)
    -- Added extension '_X.' priority 50001 to stdexten (0xbe33a80)
    -- Added extension '_X.' priority 50002 to stdexten (0xbe33a80)
    -- Added extension '_X.' priority 50003 to stdexten (0xbe33a80)
    -- Added extension '_X.' priority 50004 to stdexten (0xbe33a80)
    -- Added extension '_X.' priority 50005 to stdexten (0xbe33a80)
    -- Added extension '_X.' priority 50006 to stdexten (0xbe33a80)
    -- Added extension 'stdexten-NOANSWER' priority 1 to stdexten
(0xbe33a80)
    -- Added extension 'stdexten-NOANSWER' priority 2 to stdexten
(0xbe33a80)
    -- Added extension 'stdexten-NOANSWER' priority 3 to stdexten
(0xbe33a80)
    -- Added extension 'stdexten-BUSY' priority 1 to stdexten (0xbe33a80)
    -- Added extension 'stdexten-BUSY' priority 2 to stdexten (0xbe33a80)
    -- Added extension 'stdexten-BUSY' priority 3 to stdexten (0xbe33a80)
    -- Added extension '_stde[x]te[n]-.' priority 1 to stdexten
(0xbe33a80)
    -- Added extension 'a' priority 1 to stdexten (0xbe33a80)
    -- Added extension 'a' priority 2 to stdexten (0xbe33a80)



Thanks Patrick


On Wed, 13 Oct 2010 20:56:28 +0200, Patrick McHardy <kaber at trash.net>
wrote:
> Am 13.10.2010 20:11, schrieb Oscar Soriano Riera:
>> Hi everyone
>> 
>> 1)Its posible connect the dect phones to softphone  and vicevers , on
>> asterisk server and do calls between them?
> 
> Yes.
> 
>> 2)Its posible that two dect PP that are correct register on asterisk
can
>> run on the same channel ?
> 
> On the same carrier yes, on the exact same channel (timeslot + carrier)
> no, unless you have multiple transceivers.
> 
>> I have 2 siemens a260 their connect perfect to Asterisk PF with dect
>> channel, but cant call between this two units, but in the log i can see
>> that the connection is ok:
>> *CLI> dect show portables
>> Name		Extension
>> DECT-PT-600     600
>> DECT-PT-601     601
>> 
>> When do a call from dect 600 to dect 601, doesnt work:
>> 
>> LCE: link -1 (RELEASED): alloc
>> LCE: link 24 (ESTABLISHED): start SDU timer
>> LCE: link 24 (ESTABLISHED): new link: PMID: bb600 LCN: 0 LLN: 1 SAPI: 0
>> 
>> LCE: RX: 03 05 05 07 80 a8 00 c0 d3 ae 2a 06 07 a0 a5 01    
>> |..........*.....|
>> LCE: RX: 18 27 d6 18 e0 80 7b 06 81 00 02 18 01 44          
>> |.'....{......D|
>> LCE: link 24 (ESTABLISHED): stop SDU timer
>> LCE: link 24 (ESTABLISHED): new transaction: protocol: Call Control F:
0
>> TV: 0
>> CC: unknown transaction: msg type: 5
>> CC-SETUP
>> parse {CC-SETUP} message
>>   IE: <<PORTABLE-IDENTITY>> id: 5 len: 9 dst: 0xc655568
>> 	type: IPUI (0)
>> 	PUT: N (IPEI)
>> 	EMC: 0c0d
>> 	PSN: 3ae2a
>>   IE: <<FIXED-IDENTITY>> id: 6 len: 9 dst: 0xc69a448
>> 	type: PARK (20)
>> 	class: A
>> 	EMC: 1182
>> 	FPN: 0fac3
>>   IE: <<BASIC-SERVICE>> id: e0 len: 2 dst: 0xc5bd578
>> 	call class: normal call (8)
>> 	service: basic speech default attributes (0)
>>   IE: <<ESCAPE-TO-PROPRIETARY>> id: 7b len: 8 dst: 0xc65f940
>> 	EMC: 2
>> 	Content: 18 01 44 
>> LCE: link 24 (ESTABLISHED): set IPUI N EMC: 0c0d PSN: 3ae2a
>> LCE: link 24 (ESTABLISHED): confirm transaction: Call Control TV: 0
Role:
>> 1
>> CC: call 0xc65e758 (CALL INITIATED): new call
>> CC: call 0xc65e758 (CALL INITIATED): MNCC_SETUP-ind
>> 
>> CC: call 0xc65e758 (CALL INITIATED): MNCC_SETUP_ACK-req
>> build {CC-SETUP-ACK} message
>>   IE: <<PORTABLE-IDENTITY>> id: 5 0xc655568
>> 	type: IPUI (0)
>> 	PUT: N (IPEI)
>> 	EMC: 0c0d
>> 	PSN: 3ae2a
>>   IE: <<FIXED-IDENTITY>> id: 6 0xc69a448
>> 	type: PARK (20)
>> 	class: A
>> 	EMC: 1182
>> 	FPN: 0fac3
>>   IE: <<SIGNAL>> id: e4 0xb2c48e2c
>> 	signal: ring tone on (0)
>>   IE: <<DELIMITER-REQUEST>> id: a2 0xb2c48e38
>> LCE: TX: 83 0d 05 07 80 a8 00 c0 d3 ae 2a 06 07 a0 a5 01    
>> |..........*.....|
>> LCE: TX: 18 27 d6 18 e4 00 a2                                |.'.....|
>> [Oct 13 20:09:17] NOTICE[2365]: chan_dect.c:1000 dect_mncc_setup_ind:
>> Incoming call from DECT-PT-600
>> 
>> LCE: RX: 03 7b 2c 03 36 30 31                                |.{,.601|
>> CC: call 0xc65e758 (OVERLAP SENDING): receive msg type 7b
>> CC: call 0xc65e758 (OVERLAP SENDING): CC-INFO
>> parse {CC-INFO} message
>>   IE: <<MULTI-KEYPAD>> id: 2c len: 5 dst: 0xc606da8
>> 	info: '601'
>> CC: call 0xc65e758 (OVERLAP SENDING): MNCC_INFO-ind
> 
> It seems your dialplan is not set up correctly to direct outgoing
> calls to the PTs. When registering the PTs, an Dial() extension
> is automatically created in the context specified as "regcontext".
> Incoming calls are placed in the context specified as "context".
> Try adding "include => <regcontext>" to <context", that should
> make it work.
> 
>> 
>> LCE: RX: 03 7b 7b 05 81 00 02 30 00                         
|.{{....0.|
>> CC: call 0xc65e758 (OVERLAP SENDING): receive msg type 7b
>> CC: call 0xc65e758 (OVERLAP SENDING): CC-INFO
>> parse {CC-INFO} message
>>   IE: <<ESCAPE-TO-PROPRIETARY>> id: 7b len: 7 dst: 0xc6680c0
>> 	EMC: 2
>> 	Content: 30 00 
>> CC: call 0xc65e758 (OVERLAP SENDING): MNCC_INFO-ind
>> CC: call 0xc65e758 (OVERLAP SENDING): <CC.01>: overlap sending timer
>> build {CC-RELEASE} message
>>   IE: <<RELEASE-REASON>> id: e2 0xb2c491e8
>> 	release reason: timer expiry (d)
>> LCE: TX: 83 4d e2 0d                                         |.M..|
>> CC: call 0xc65e758 (RELEASE PENDING): MNCC_REJECT-ind: cause:
>> DECT_CAUSE_LOCAL_TIMER_EXPIRY
>> 
>> LCE: RX: 03 5a e2 00                                         |.Z..|
>> CC: call 0xc65e758 (RELEASE PENDING): receive msg type 5a
>> CC: call 0xc65e758 (RELEASE PENDING): CC-RELEASE-COM
>> parse {CC-RELEASE-COM} message
>>   IE: <<RELEASE-REASON>> id: e2 len: 2 dst: 0x9420ea0
>> 	release reason: normal (0)
>> CC: call 0xc65e758 (RELEASE PENDING): MNCC_RELEASE-cfm
>> LCE: link 24 (ESTABLISHED): close transaction: Call Control TV: 0 Role:
1
>> LCE: link 24 (ESTABLISHED): normal release
>> 
>> LCE: recvmsg: Transport endpoint is not connected
>> LCE: link 24 (RELEASE_PENDING): normal release complete
>> LCE: link 24 (RELEASED): destroy
>> 
>> 
>> 
>> I probe the demo test on extension.conf runs perfect with clients
>> iax.conf
>> with softphones, but when i do a call to 600 extension this fails:
>> 
>>>From the Softphone:
>> 
>> LCE: link 24 (RELEASED): destroy
>>     -- Accepting AUTHENTICATED call from 10.0.0.1:
>>        > requested format = unknown,
>>        > requested prefs = (),
>>        > actual format = ulaw,
>>        > host prefs = (),
>>        > priority = mine
>>     -- Executing [700 at from-dect:1] Playback("IAX2/tst-1089",
>> "demo-echotest") in new stack
>>     -- <IAX2/tst-1089> Playing 'demo-echotest.gsm' (language 'en')
>>   == Spawn extension (from-dect, 700, 1) exited non-zero on
>> 'IAX2/tst-1089'
>>     -- Hungup 'IAX2/tst-1089'
>> 
>>>From the Softphone to dect phone siemmens A260:
>> 
>>     -- Accepting AUTHENTICATED call from 10.0.0.1:
>>        > requested format = unknown,
>>        > requested prefs = (),
>>        > actual format = ulaw,
>>        > host prefs = (),
>>        > priority = mine
>>     -- Executing [600 at from-dect:1] Gosub("IAX2/tst-7748",
>> "stdexten(600,DECT/DECT-PT-600)") in new stack
>>     -- Executing [600 at from-dect:50000] NoOp("IAX2/tst-7748", "Start
>> stdexten") in new stack
>>     -- Executing [600 at from-dect:50001] Set("IAX2/tst-7748",
>> "LOCAL(ext)=600") in new stack
>>     -- Executing [600 at from-dect:50002] Set("IAX2/tst-7748",
>> "LOCAL(dev)=600") in new stack
>>     -- Executing [600 at from-dect:50003] Set("IAX2/tst-7748",
>> "LOCAL(cntx)=DECT/DECT-PT-600") in new stack
>>     -- Executing [600 at from-dect:50004] Set("IAX2/tst-7748",
>> "LOCAL(mbx)="600""@DECT/DECT-PT-600"") in new stack
>>     -- Executing [600 at from-dect:50005] Dial("IAX2/tst-7748", "600,20")
in
>> new stack
>> [Oct 13 19:51:51] WARNING[2447]: app_dial.c:1940 dial_exec_full: Dial
>> argument takes format (technology/[device:]number1)
>>   == Spawn extension (from-dect, 600, 50005) exited non-zero on
>> 'IAX2/tst-7748'
>>     -- Hungup 'IAX2/tst-7748'
>>  
>>




More information about the linux-dect mailing list