[asterisk-dev] How to send DNIS(B-party number) in IAX trunk
Sam Liang
samliang at isphone.com.au
Wed Jul 19 16:37:38 MST 2006
Hi Rehan,
I would like to make the my problem a little bit more clear.
My test scheme is below:
R1 R2 IAX trunk
DX <-----> PORTASIP <------------> ASTERISK-root <------> Astrerisk-client
DX connect to ISDN E1, says, got 100 Australian number from 61282138600 to
61282138699 assign to it.
I create the route R1 without any problem. From PortaSIP, we pass the call
by a sip trunk name R2, this one proved to be fine, since I can read from
the real time log of the ASTERISK-root script that
/var/lib/asterisk/agi-bin/dialparties.agi had already output the messages,
said that it filter out the dnid=61282138622. The ASTERISK-root, according
the dnid=61282138622, bridges the call invite through IAX trunk to invite
the Asterisk-client.
I can read from the Asterisk-client real time log as below:
(ASTERISK-root with address 203.166.103.230)
-- Accepting AUTHENTICATED call from 203.166.103.230:
> requested format = g729,
> requested prefs = (),
> actual format = ulaw,
> host prefs = (ulaw|alaw|gsm|g729),
> priority = mine
-- Executing Set("IAX2/isphone-2", "FROM_DID=s/0413509414") in new stack
-- Executing Goto("IAX2/isphone-2", "ext-local|200|1") in new stack
-- Goto (ext-local,200,1)
-- Executing Macro("IAX2/isphone-2", "exten-vm|200|200") in new stack
-- Executing Macro("IAX2/isphone-2", "user-callerid") in new stack
-- Executing Set("IAX2/isphone-2", "AMPUSER=") in new stack
-- Executing Set("IAX2/isphone-2", "EMERGENCYCID=") in new stack
-- Executing Set("IAX2/isphone-2", "AMPUSERCIDNAME=") in new stack
-- Executing GotoIf("IAX2/isphone-2", "1?6") in new stack
-- Goto (macro-user-callerid,s,6)
-- Executing NoOp("IAX2/isphone-2", "Using CallerID "" <0413509414>") in
new stack
-- Executing Set("IAX2/isphone-2", "FROMCONTEXT=exten-vm") in new stack
-- Executing Macro("IAX2/isphone-2", "record-enable|200|IN") in new
stack
-- Executing GotoIf("IAX2/isphone-2", "0 > 0?2:4") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing AGI("IAX2/isphone-2",
"recordingcheck|20060719-143711|1153283831.27") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20060719-143711|1153283831.27: Inbound recording not
enabled
-- AGI Script recordingcheck completed, returning 0
-- Executing NoOp("IAX2/isphone-2", "No recording needed") in new stack
-- Executing Macro("IAX2/isphone-2", "dial|15|tr|200") in new stack
-- Executing AGI("IAX2/isphone-2", "dialparties.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
-- dialparties.agi: priority = 1
-- dialparties.agi: callingani2 = 0
-- dialparties.agi: accountcode =
-- dialparties.agi: channel = IAX2/isphone-2
-- dialparties.agi: callerid = 0413509414
-- dialparties.agi: context = macro-dial
-- dialparties.agi: callington = 0
-- dialparties.agi: dnid = unknown
-- dialparties.agi: request = dialparties.agi
-- dialparties.agi: calleridname = unknown
-- dialparties.agi: extension = s
-- dialparties.agi: language = en
-- dialparties.agi: uniqueid = 1153283831.27
-- dialparties.agi: callingpres = 0
-- dialparties.agi: type = IAX2
-- dialparties.agi: rdnis = unknown
-- dialparties.agi: callingtns = 0
-- dialparties.agi: enhanced = 0.0
dialparties.agi: Caller ID name is 'unknown' number is '0413509414'
dialparties.agi: Methodology of ring is 'none'
-- dialparties.agi: Added extension 200 to extension map
-- dialparties.agi: Extension 200 cf is disabled
-- dialparties.agi: Extension 200 do not disturb is disabled
> dialparties.agi: extnum: 200
> dialparties.agi: exthascw: 0
> dialparties.agi: exthascfb: 0
> dialparties.agi: extcfb:
-- dialparties.agi: Checking CW and CFB status for extension 200
== Parsing '/etc/asterisk/manager.conf': Found
== Parsing '/etc/asterisk/manager_custom.conf': Found
== Manager 'admin' logged on from 127.0.0.1
-- dialparties.agi: Correct AMPMGRUSER and AMPMGRPASS
> dialparties.agi: extstate: 0
== Manager 'admin' logged off from 127.0.0.1
dialparties.agi: Extension 200 is available...skipping checks
-- dialparties.agi: DbSet CALLTRACE/200 to 0413509414
-- AGI Script dialparties.agi completed, returning 0
-- Executing Dial("IAX2/isphone-2", "IAX2/200|15|tr") in new stack
-- Called 200
-- Call accepted by 61.29.101.98 (format ulaw)
-- Format for call is ulaw
-- IAX2/200-5 is ringing
-- IAX2/200-5 answered IAX2/isphone-2
-- Attempting native bridge of IAX2/isphone-2 and IAX2/200-5
-- Hungup 'IAX2/200-5'
== Spawn extension (macro-dial, s, 10) exited non-zero on 'IAX2/isphone-2'
in macro 'dial'
== Spawn extension (macro-dial, s, 10) exited non-zero on 'IAX2/isphone-2'
in macro 'exten-vm'
== Spawn extension (macro-dial, s, 10) exited non-zero on 'IAX2/isphone-2'
-- Hungup 'IAX2/isphone-2'
>From the log messages above us, I am sure the Asterisk-client can not get
the dnid, or the dnid = unknown is got by the
/var/lib/asterisk/agi-bin/dialparties.agi. Consequently I must create a
route in asterisk to said, DID=*/callerid=0413509414 will be route to
extensions 200.
That make the call from mobile 0413509414 to 821386[XX] go to extensions
200. But what I want to make for the client is, provided I can pass the
DNID to the customer Premium, DID=82138622 to extension 200, DID=32138600 to
receptionist, etc...
I am stuck on the place of unable to pass the DNID variable to the
Asterisk-client by IAX-trunk.
The reason of we want to create an Asterisk-root between our PortaSIP and
the Asterisk-client is, we want to be benefit from the IAX trunk of packet
saving and etc.
But we just can not pass the DNID(B-party number to the client Asterisk)
Hope that you can have some idea to help us.
We did not get the DID from didx.
Best regards,
Sam
-----Original Message-----
From: Rehan AllahWala [mailto:rehan at supertec.com]
Sent: Wednesday, July 19, 2006 5:53 PM
To: samliang at isphone.com.au
Subject: Re: [asterisk-dev] How to send DNIS(B-party number) in IAX trunk
Hello,
Have u tried did's from didx if they pass dnis to u ?
Rehan
From: "Sam Liang" <samliang at isphone.com.au>
To: <asterisk-dev at lists.digium.com>
Date sent: Wed, 19 Jul 2006 14:53:04 +1000
Subject: [asterisk-dev] How to send DNIS(B-party number) in IAX trunk
Send reply to: Asterisk Developers Mailing List
<asterisk-dev at lists.digium.com>
<mailto:asterisk-dev-request at lists.digium.com?subject=unsubscribe>
<mailto:asterisk-dev-request at lists.digium.com?subject=subscribe>
> Hi,
>
> I am a voip engineer in a Sydney company,
>
> We got a problem when we want to set up multiple IAX trunks.
>
> We set up the trunk from PortSIP to IAX2 trunk fine. But when the customer
> set up a Asterisk trunk to our Asterisk server, which hopefully relay
> multiple call from PortaSIP into our Asterisk and then to the customer
> Asterisk server by the specific trunk. We get a problem. Our PortaSIP
send
> out the DID into Asterisk, Asterisk grasp the DID with AGI function, but
> when the call go further into customer premise Asterisk DID, Our Asterisk
> just bridge the call to the customer's IAX2 trunk, but failed to pass the
> DID number further,
>
> That means our customer can only create a single number trunk with our
> Asterisk, instead of what we want to achieve for the read PABX, multiple
DID
> route inside a single IAX2 trunk.
>
> I will like to enclose the Asterisk log here as well, the ITSP_Asterisk
log
> contain the log information when a call make to the premium with DID_NUM
> 61282138622, and the customer_side_Asterisk.log contain the concurrent log
> of the customer premium Asterisk log.
>
> Our Asterisk use Asterisk realtime engine 1.2.1
>
> Customer use Asterisk at Home 2.8 which is 1.2.7
>
> Best regards,
>
> Sam Liang
>
> Support Network Engineer
>
> ISPhone Australasia Pty Ltd
>
> Tel: +61 (0)2 8213 8686
>
> Fax: +61 (0)2 8213 8685
>
> Mob: 0413509414
>
> email: samliang at isphone.com.au
>
> web: www.isphone.com.au
>
>
>
>
Super Technologies Inc., Pensacola, Florida
http://www.SuperTec.com - Technologies from tomorrow, Today!
MSN: Rehan at Rehan.com
Skype: Rehan33
More information about the asterisk-dev
mailing list