elastix as a gateway

Discussion in 'General' started by had, Feb 1, 2009.

  1. had

    had

    Joined:
    Feb 1, 2009
    Messages:
    4
    Likes Received:
    0
    I have 2 systems connected together. I use elastix as a gateway to PSTN and for billing. I have SIP trunk to service provider and IAX trunk to my second system. When I make outgoing call from extension on elastix system CDR is correct but when I make call from extension on the second system CDR are incorrect. I can make 2 min call or 5 min call in CDR it show as 11, 12 or 13 seconds. Anybody came across with this problem? anybody knows why this is happening and how to fix it?

    Thanks

    Peter
     
  2. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    This could possibly be caused by not having

    canreinvite=no

    in your trunk settings, this would allow the call from the second system's sip extensions (if they also allowed sip renegotiation) to renegotiate its connection with the provider, the gateway box then drops out of the loop using IAX as a tandem trunk complicates the situation though.

    You didn't explicitly state the nature of the second system, what sort of beast is it?

    can you post a calltrace from the CLI of the gateway box?
     
  3. had

    had

    Joined:
    Feb 1, 2009
    Messages:
    4
    Likes Received:
    0
    I added canreinvite=no to every extension and every trunk but it's still the same.

    Second system is thirdlane MTE. I need gateway to make sure calls between 2 tenants will stay in my network and will not hit PSTN.

    What do you mean with calltrace from the CLI?

    Peter
     
  4. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    at the asterisk CLI

    type

    rasterisk

    from a bash
    shell

    make a call from the thirdlane box and watch the output as the call progresses through the relevant contexts, there will usually be enough evidence to diagnose the problem.


    If you need help diagnosing the output, cut and paste it back here and maybe someone here can help.
     
  5. had

    had

    Joined:
    Feb 1, 2009
    Messages:
    4
    Likes Received:
    0
    thanks
    from the calltrace I found out that the call was transfered and then the elastix box released from conversation. Adding notransfer=yes to every trunk fixed the problem.

    Peter
     
  6. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    Can you not set up an outbound route in the Thirdlane box that sends all client DID's in the defined dialed strings through a custom "script" as they call it, that send's it to the inbound trunk context. that eliminates the need for the gateway, If Thirdlane doesn't supply such a script, they should as any multi tenant situation will run into this situation constantly.

    AH I read some of the stuff on the thirdlane site and apparently your solution is the suggested one. How inelegant and wasteful of them!
     
  7. had

    had

    Joined:
    Feb 1, 2009
    Messages:
    4
    Likes Received:
    0
    No there is no such a script in thirdlane.
    Another thing is that Thirdlane dialplan is not compatible with CDR logging needed by billing softwares. There could be multiple entries for 1 call or it re-writes the destinations to extensions like 's' or the handset extension.
    So I want to use elastix box for this purpose. But this will give me another problem. When you dial out from thirdlane box caller ID is overwritten by external caller ID. But then in elastix CDR I can't see original extension number. The solution for this would be using account codes assigned to every extension on thirdlane box. Problem is that the elastix built-in billing doesn't use account codes :(
    So now i'm looking for some billing software which can solve me this problem... Any idea?

    thanks

    Peter
     
  8. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    As to that script, So I discovered. much to their shame.

    I might try to build an outbound trunk and an inbound trunk on the beast and connect them together (use ip 127.0.0.1 the loopback address for both) and route the "local calls" out through that constructed outbound trunk, it should work)
    But that line of reasoning belongs on the Thirdlane boards not here.


    Yes the CDR's have "too much" info which in my opinion is better than "too little" my solution is to just get the raw details from the mysql server on the asterisk box (elastix or thirdlane)

    or if that scares you

    /var/log/asterisk/cdr-csv/Master.csv


    and pretty well filter out calls that are 0 length or "UNANSWERED", there's a lot more info there than in the two gui's available in Elastix, now you are damn close, how you handle conference calls and transfers etc. are up to you/the chosen billing package.

    Of course the CallerID must be written , would you answer a call that came with a callerid of "301" for example?
    so you given your current deployment you will never get billing from the elastix box more granular than the OutBound CallerID presented by the Thirdlane box.. the account code, and easily setup userfield are relevant only in the domain of the Elastix box also, (but as you noticed is not present in the elastix two call detail systems, you can mess with the php code to get it there though), The same applies to the Thirdlane box, so I think your only solution is to rely on the Thirdlane data and have someone write some customization/filtering of the maintained data

    Sorry but that's the bare facts of it.



    (I am unaware of any commercial or open source software that comes close to what you are looking for with the possible exception of the able but ugly and obfuscated a2billing.)
     

Share This Page