Robert Rozman
2005-Feb-11  02:54 UTC
[Asterisk-Users] Proper handling of incoming IAX/SIP callerids to be able to call back - why is calleridnum stripping dots out of number ?
Hi,
I'd like to organize my Asterisk to properly handle incoming SIP/IAX/H323
callerids so they can be called back if needed.
I have three incoming contexts for sip, iax and h323 calls.
To each incoming call I'd like to prepend certain number that will be
catched with pattern matching on output calls. For instance for iax I have:
[from-iax]
exten => s,1,NoOp(IAX call from outside ${CALLERID}: Name: ${CALLERIDNAME},
Number: ${CALLERIDNUM})
exten => s,2,Wait,2
exten => s,3,SetCIDNum(1${CALLERIDNUM})
exten => s,4,NoOp(IAX call from outside ${CALLERID} changed : Name:
${CALLERIDNAME}, Number: ${CALLERIDNUM})
;exten => s,3,SetCallerID(${CALLERIDNUM})
exten => s,5,Goto(from-pstn,s,1)
and when executed :
    -- Accepting unauthenticated call from 193.77.90.224, requested format 2,
actual format = 2
    -- Executing NoOp("IAX2/guest@252/2", "IAX call from outside
"Robert
Rozman" <252@posta.etrust.si>: Name: Robert Rozman| Number:
252@postaetrustsi") in new stack
    -- Executing Wait("IAX2/guest@252/2", "2") in new stack
    -- Executing SetCIDNum("IAX2/guest@252/2",
"1252@postaetrustsi") in new
stack
    -- Executing NoOp("IAX2/guest@252/2", "IAX call from outside
"Robert
Rozman" <1252@postaetrustsi> changed : Name: Robert Rozman| Number:
1252@postaetrustsi") in new stack
    -- Executing Goto("IAX2/guest@252/2", "from-pstn|s|1")
in new stack
    -- Goto (from-pstn,s,1)
    -- Executing GotoIf("IAX2/guest@252/2",
"1?from-pstn-reghours|s|1:") in
new stack
So in Variable  ${CALLERID} is right (with dots in iax address) but not the
case with  ${CALLERIDNUM} that has dots stripped off. So now I cannot
callback cause proper address is lost. On outgoing part I have:
[outbound-iax]
exten => _2.,1,NoOp(Outbound IAX call from local extension ${CALLERID} to
${EXTEN:1})
exten => _2.,2,NoOp
exten => _2.,3,Dial(IAX2/${EXTEN:1})
exten => _2.,4,Congestion()
but it won't work, cause dots were stripped out....
Is there something wrong with my way of handling this problem? Is there any
better way to handle incoming calls, so they can be called back with click
on recent calls ?
How to handle this when there is equpment that cannot show callerid names
(like BT100)  - for each extension separately or somehow different ?
Has anyone working example of proper handling of incoming nontrunk
iax/sip/h323 calls ? Any advice ?
Thanks in advance,
regards,
Rob.
