Outbound DTMF not working with open source G729

Discussion in 'General' started by logtech, Jul 14, 2010.

  1. logtech

    Joined:
    Apr 9, 2010
    Messages:
    147
    Likes Received:
    0
    I have opened internal ticket with Voip provider regarding that issue. Trunk is set up with G729 codec as they support, with trunk:

    type=peer
    trustrpid=yes
    dendrpid=yes
    context=from-pstn
    host=voipIPhost
    disallow=all
    allow=g729
    dtmfmode=rfc2833
    rfc2833compensate=yes | I added recently
    canreinvite=no
    insecure=very

    All aastra phones have in GLOBAL SETTING:
    RTP PORT=3000
    FORCE RFC2833 OUT of band = enabled
    DTMF method= RTP
    Codec=ALL
    Sillence Suppression= not enabled

    When we call another number that is Voip = all out dtmf works, however, if we call pstn numbers out DTMF does not work. Good examples are banks (can type credit card numbers, or whatever and it says DOES NOT RECOGNIZE)

    G729 is open source, I have tried to change dtmfmode=inband|rfc2833|info and does not work.
    I know that Voip provider will say IT becasue of your settings ...... so I know I will get better help over here.

    Thank you
     
  2. logtech

    Joined:
    Apr 9, 2010
    Messages:
    147
    Likes Received:
    0
    No any known problems with audio, all works ok. Our IVR is accessible from outside.

    I have also set relaxdtmf=yes in sip_general_additional.conf
     
  3. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    Hi.

    I use the G729, and I've no problem with it, using an internal IVR.
    And with a remote Elastix server, no problem too.

    Maybe you could try to use dtmfmode=auto ? :huh:
     
  4. logtech

    Joined:
    Apr 9, 2010
    Messages:
    147
    Likes Received:
    0
    Only outbound DTMF does not works. Exmaple: when I call any US banks and type credit card the message is "numbers not recognized" the same story when I want to access any remote IVR 1 2 3 .... options none works. Simply DTMF tones are not recognized by other phone systems.

    When people call in there is no problem with our IVR.

    Once again problem is with outbound DTMF

    I have already tried dtmfmode=auto and looks like it is not working. The weird is that with some phone system it works but with some not (like with any banks IVR - eee nope)

    I can assume problem may laid down with OPen Source g729 or Voip provider that provides g729 trunk

    I have already used Polycom phone and the sane think so it is Aastra phones settings.

    Thank You
     
  5. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    You could try another codec just for test, like that, you could have an opinion.
     
  6. logtech

    Joined:
    Apr 9, 2010
    Messages:
    147
    Likes Received:
    0
    thank you danardf

    I have just tried G711 and everything works like it should. I prefer g729 since it consumes less bandwidth and it is very limited to us. 3Mbps/600K for 25 phones and data.

    With g729 and QOS all works perfect, but with g711 it is not enough. If we get more bandwidth I would choose g711 but in present situation is a little problem

    I have also noticed that If I call other external phone and it is VOIP all works perfect.

    I don't know what else I can do on my side.
     
  7. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    Maybe the g729 codec is not exactly the good.
    There's one codec for every CPU, like Intel PIII, PIV, with ssl, without ssl, etc...
    Maybe you haven't the good codec with your CPU?
    Else maybe you could talk about this problem on the website asterisk.hosting.

    Regards
     
  8. Patrick_elx

    Joined:
    Dec 14, 2008
    Messages:
    1,120
    Likes Received:
    0
    could you try to put dtmfmode=inband

    inband should not work with g729, but it should revert to a working option instead

    I had an issue with a provider I'm connecting with g729 that also did not let me pass dtmf properly. I've tried auto, rfc2833 etc... but without success. Then just to see what would happen with inband, I've seen a warning in the log, but it worked!!!
     
  9. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    My 2 cents worth,

    It is a true stretch of the imagination to call it "open source" the patent firmly belongs to Digium, their licensing is reasonable, other licensees offer it it cheaper and in with a more networkable option.

    If you care to go the unethical and way and persuade yourself it is indeed "open source" you either use the "leaked" and claimed to be open source Intel IPP based code (IPP is not open source, so that breaks the argument) which if you read it says it is for personal and developmental use only. Or you blatantly steal it with the help of our Latvian friends binaries, binaries are surely by definition not open source, there is no source to be read.

    IMHO, If you can't afford ten bucks but can afford many hours of stumbling in the dark then I guess you have stated your own self value.

    O.K. rant over.

    Given these facts, I argue that DTMF over g729 will not work unless you use rfc2833, the bandwidth cannot reproduce it faithfully, end of story, That Patrick found somebody that reconstructed the tones from the audio stream shows them to be "very clever". If your provider properly implement rfc2833 it will largely work, if they still rely on asterisk 1.2 you are hosed, (hence the workaround rfc2833compensate=yes, but that can break everything else)

    I seriously suggest that the OP samples another VSP and see if they have the same problem, That way he can apply Occam's Razor to decide who got it wrong (my money 5:1 against the VSP, 2:1 against the stolen codec) I say that because Franck and many of us have no problem with g729 using legitimate codecs with competent VSP's, it "just works" 99.9% of the time. (there is a Canadian vendor of SIP based IVR's (who will remain nameless) that are notoriously non rfc8233 compliant, but have quite a peering network, they are pervasive, and if you run into them you are still pretty well hosed, hence only the three nines)

    dicko
     
  10. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    Hi Patrick and dicko.
    Like logtec wrote:
    Inband is tried visibly without success. :huh:
     
  11. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    Indeed Franck (greetings)

    You can't sing while you pinch your nose, nor can g729, you must use morse-code or a semaphore instead to send the score (notes), if your VSP or you can't communicate at that digital level , then you are "F&^%ed", end of story.

    regards

    dicko
     
  12. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    dicko wrote:

    Yes, I can, and it's very funny :laugh:
     
  13. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
     
  14. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    and a happy bastille day for yesterday (still 14 here), (zut alors!!!) when you all pince your nez, non?
     
  15. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    It was the 14 July, yes. A big national day with fireworks. :)
     
  16. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    I still have two hours, I will "fire one up" for my French and Breton friends aussi :) :)
     
  17. danardf

    Joined:
    Dec 3, 2007
    Messages:
    8,069
    Likes Received:
    12
    kenavo , ar wech-all dicko :laugh:
     
  18. logtech

    Joined:
    Apr 9, 2010
    Messages:
    147
    Likes Received:
    0
    Thank You Gentelmen

    I have already tried what Patric proposed: changing in the trunk dtmfnmode to dtmfmode=inband

    so the trunk looks like:

    type=peer
    trustrpid=yes
    dendrpid=yes
    context=from-pstn
    host=voipIPhost
    disallow=all
    allow=g729
    dtmfmode=inband
    canreinvite=no
    insecure=very

    And all outbound dtmf works !!!! But inbound stop working, that is if they call our number and press whatever options from IVR it does not work.

    By the way I have just received reply from Voip provider stating that "It is not our problem, it has to be something on your end".....

    They only confirm that they support and should be in the trunk dtmfmode=rfc2833, nothing else.....

    I also appreciate dicko' 2c reply - thank you Sir

    As of now dtmfmode=inband works, but only outbound DTMF, not inbound.

    AS additional update, I have other Voip provider and using their trunk with open G729 works great and all DTMF are recognized so it is open codec g729, it is Voip provider problem.

    If I could only fix now inbound with dtmfmode=inband I would be happy.
     
  19. logtech

    Joined:
    Apr 9, 2010
    Messages:
    147
    Likes Received:
    0
    Here is call trace from calling bank an selecting options 1 after that get message
    “SORRY the number dialed is not recognized”

    Code:
    [Jul 15 17:12:55] VERBOSE[29819] logger.c:     -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/199-b7d0df80", "") in new stack
    [Jul 15 17:12:55] DEBUG[29819] app_macro.c: Executed application: Macro
    [Jul 15 17:12:55] VERBOSE[29819] logger.c:     -- Executing [s@macro-dialout-trunk:17] GotoIf("SIP/199-b7d0df80", "0?bypass|1") in new stack
    [Jul 15 17:12:55] DEBUG[29819] app_macro.c: Executed application: GotoIf
    [Jul 15 17:12:55] VERBOSE[29819] logger.c:     -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/199-b7d0df80", "0?customtrunk") in new stack
    [Jul 15 17:12:55] DEBUG[29819] app_macro.c: Executed application: GotoIf
    [Jul 15 17:12:55] VERBOSE[29819] logger.c:     -- Executing [s@macro-dialout-trunk:19] Dial("SIP/199-b7d0df80", "SIP/VoipInnovation/18009452000|300|wW") in new stack
    [Jul 15 17:12:55] VERBOSE[29819] logger.c:     -- Called VoipInnovation/18009452000
    [Jul 15 17:13:00] VERBOSE[29819] logger.c:     -- SIP/VoipInnovation-b7b17bd8 is making progress passing it to SIP/199-b7d0df80
    [Jul 15 17:13:00] VERBOSE[29819] logger.c:     -- SIP/VoipInnovation-b7b17bd8 answered SIP/199-b7d0df80
    [Jul 15 17:13:03] DEBUG[29580] cdr_addon_mysql.c: cdr_mysql: inserting a CDR record.
    [Jul 15 17:13:03] DEBUG[29580] cdr_addon_mysql.c: cdr_mysql: SQL command as follows: INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,userfield) VALUES ('2010-07-15 17:10:34','\"16318270000\" <116318270000>','16318270000','601','ext-group', 'SIP/VOIP IP PROVIDER-b7d44a60','SIP/102-09825d50','Dial','SIP/101&SIP/102&SIP/103&SIP/105&SIP/106&SIP/107&SIP/108&SIP/110&SIP/112|20|trwW',149,134,'ANSWERED',3,'','')
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:   == Spawn extension (macro-dial, s, 7) exited non-zero on 'SIP/VOIP IP PROVIDER-b7d44a60' in macro 'dial'
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:   == Spawn extension (macro-dial, s, 7) exited non-zero on 'SIP/VOIP IP PROVIDER-b7d44a60'
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [h@macro-dial:1] Macro("SIP/VOIP IP PROVIDER-b7d44a60", "hangupcall") in new stack
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:1] GotoIf("SIP/VOIP IP PROVIDER-b7d44a60", "1?skiprg") in new stack
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Goto (macro-hangupcall,s,4)
    [Jul 15 17:13:03] DEBUG[29580] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:4] GotoIf("SIP/VOIP IP PROVIDER-b7d44a60", "0?skipblkvm") in new stack
    [Jul 15 17:13:03] DEBUG[29580] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:5] NoOp("SIP/VOIP IP PROVIDER-b7d44a60", "Cleaning Up Block VM Flag: BLKVM/601/SIP/VOIP IP PROVIDER-b7d44a60") in new stack
    [Jul 15 17:13:03] DEBUG[29580] app_macro.c: Executed application: Noop
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:6] DBdel("SIP/VOIP IP PROVIDER-b7d44a60", "BLKVM/601/SIP/VOIP IP PROVIDER-b7d44a60") in new stack
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- DBdel: family=BLKVM, key=601/SIP/VOIP IP PROVIDER-b7d44a60
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- DBdel: Error deleting key from database.
    [Jul 15 17:13:03] DEBUG[29580] app_macro.c: Executed application: DBDel
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:7] GotoIf("SIP/VOIP IP PROVIDER-b7d44a60", "1?theend") in new stack
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Goto (macro-hangupcall,s,9)
    [Jul 15 17:13:03] DEBUG[29580] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:     -- Executing [s@macro-hangupcall:9] Hangup("SIP/VOIP IP PROVIDER-b7d44a60", "") in new stack
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:   == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/VOIP IP PROVIDER-b7d44a60' in macro 'hangupcall'
    [Jul 15 17:13:03] VERBOSE[29580] logger.c:   == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/VOIP IP PROVIDER-b7d44a60'
    [Jul 15 17:13:05] VERBOSE[29821] logger.c:   == Parsing '/etc/asterisk/manager.conf': [Jul 15 17:13:05] VERBOSE[29821] logger.c: Found
    [Jul 15 17:13:05] VERBOSE[29821] logger.c:   == Parsing '/etc/asterisk/manager_additional.conf': [Jul 15 17:13:05] VERBOSE[29821] logger.c: Found
    [Jul 15 17:13:05] VERBOSE[29821] logger.c:   == Parsing '/etc/asterisk/manager_custom.conf': [Jul 15 17:13:05] VERBOSE[29821] logger.c: Found
    [Jul 15 17:13:05] VERBOSE[29821] logger.c:   == Manager 'admin' logged on from 127.0.0.1
    [Jul 15 17:13:05] VERBOSE[29821] logger.c:   == Manager 'admin' logged off from 127.0.0.1
    [Jul 15 17:13:05] VERBOSE[29822] logger.c:   == Parsing '/etc/asterisk/manager.conf': [Jul 15 17:13:05] VERBOSE[29822] logger.c: Found
    [Jul 15 17:13:05] VERBOSE[29822] logger.c:   == Parsing '/etc/asterisk/manager_additional.conf': [Jul 15 17:13:05] VERBOSE[29822] logger.c: Found
    [Jul 15 17:13:05] VERBOSE[29822] logger.c:   == Parsing '/etc/asterisk/manager_custom.conf': [Jul 15 17:13:05] VERBOSE[29822] logger.c: Found
    [Jul 15 17:13:05] VERBOSE[29822] logger.c:   == Manager 'admin' logged on from 127.0.0.1
    [Jul 15 17:13:05] VERBOSE[29822] logger.c:   == Manager 'admin' logged off from 127.0.0.1
    [Jul 15 17:13:14] DEBUG[29578] cdr_addon_mysql.c: cdr_mysql: inserting a CDR record.
    [Jul 15 17:13:14] DEBUG[29578] cdr_addon_mysql.c: cdr_mysql: SQL command as follows: INSERT INTO cdr (calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,userfield) VALUES ('2010-07-15 17:10:23','COMPONY'S NUMBER','COMPONY'S NUMBER','18772329846','from-internal', 'SIP/106-b7d183d0','SIP/VoipInnovation-0981a510','Dial','SIP/VoipInnovation/18772329846|300|wW',171,164,'ANSWERED',3,'','')
    [Jul 15 17:13:14] VERBOSE[29823] logger.c:   == Parsing '/etc/asterisk/manager.conf': [Jul 15 17:13:14] VERBOSE[29823] logger.c: Found
    [Jul 15 17:13:14] VERBOSE[29823] logger.c:   == Parsing '/etc/asterisk/manager_additional.conf': [Jul 15 17:13:14] VERBOSE[29823] logger.c: Found
    [Jul 15 17:13:14] VERBOSE[29823] logger.c:   == Parsing '/etc/asterisk/manager_custom.conf': [Jul 15 17:13:14] VERBOSE[29823] logger.c: Found
    [Jul 15 17:13:14] VERBOSE[29823] logger.c:   == Manager 'admin' logged on from 127.0.0.1
    [Jul 15 17:13:14] VERBOSE[29823] logger.c:   == Manager 'admin' logged off from 127.0.0.1
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:   == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/106-b7d183d0' in macro 'dialout-trunk'
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:   == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/106-b7d183d0'
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Executing [h@macro-dialout-trunk:1] Macro("SIP/106-b7d183d0", "hangupcall|") in new stack
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Executing [s@macro-hangupcall:1] GotoIf("SIP/106-b7d183d0", "1?skiprg") in new stack
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Goto (macro-hangupcall,s,4)
    [Jul 15 17:13:14] DEBUG[29578] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Executing [s@macro-hangupcall:4] GotoIf("SIP/106-b7d183d0", "1?skipblkvm") in new stack
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Goto (macro-hangupcall,s,7)
    [Jul 15 17:13:14] DEBUG[29578] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Executing [s@macro-hangupcall:7] GotoIf("SIP/106-b7d183d0", "1?theend") in new stack
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Goto (macro-hangupcall,s,9)
    [Jul 15 17:13:14] DEBUG[29578] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:     -- Executing [s@macro-hangupcall:9] Hangup("SIP/106-b7d183d0", "") in new stack
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:   == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/106-b7d183d0' in macro 'hangupcall'
    [Jul 15 17:13:14] VERBOSE[29578] logger.c:   == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/106-b7d183d0'
    [Jul 15 17:13:14] VERBOSE[29824] logger.c:   == Parsing '/etc/asterisk/manager.conf': [Jul 15 17:13:14] VERBOSE[29824] logger.c: Found
    [Jul 15 17:13:14] VERBOSE[29824] logger.c:   == Parsing '/etc/asterisk/manager_additional.conf': [Jul 15 17:13:14] VERBOSE[29824] logger.c: Found
    [Jul 15 17:13:14] VERBOSE[29824] logger.c:   == Parsing '/etc/asterisk/manager_custom.conf': [Jul 15 17:13:14] VERBOSE[29824] logger.c: Found
    [Jul 15 17:13:14] VERBOSE[29824] logger.c:   == Manager 'admin' logged on from 127.0.0.1
    [Jul 15 17:13:14] VERBOSE[29824] logger.c:   == Manager 'admin' logged off from 127.0.0.1
    [Jul 15 17:13:15] DTMF[29819] channel.c: DTMF begin '1' received on SIP/199-b7d0df80
    [Jul 15 17:13:15] DTMF[29819] channel.c: DTMF begin passthrough '1' on SIP/199-b7d0df80
    [Jul 15 17:13:15] DTMF[29819] channel.c: DTMF end '1' received on SIP/199-b7d0df80, duration 200 ms
    [Jul 15 17:13:15] DTMF[29819] channel.c: DTMF end accepted with begin '1' on SIP/199-b7d0df80
    [Jul 15 17:13:15] DTMF[29819] channel.c: DTMF end passthrough '1' on SIP/199-b7d0df80
    [Jul 15 17:13:23] DTMF[29819] channel.c: DTMF begin '1' received on SIP/199-b7d0df80
    [Jul 15 17:13:23] DTMF[29819] channel.c: DTMF begin passthrough '1' on SIP/199-b7d0df80
    [Jul 15 17:13:24] DTMF[29819] channel.c: DTMF end '1' received on SIP/199-b7d0df80, duration 210 ms
    [Jul 15 17:13:24] DTMF[29819] channel.c: DTMF end accepted with begin '1' on SIP/199-b7d0df80
    [Jul 15 17:13:24] DTMF[29819] channel.c: DTMF end passthrough '1' on SIP/199-b7d0df80
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [number@from-internal:1] Macro("SIP/102-b7d434d0", "user-callerid|SKIPTTL|") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:1] Set("SIP/102-b7d434d0", "AMPUSER=102") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:2] GotoIf("SIP/102-b7d434d0", "0?report") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:3] ExecIf("SIP/102-b7d434d0", "1|Set|REALCALLERIDNUM=102") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:4] Set("SIP/102-b7d434d0", "AMPUSER=102") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:5] Set("SIP/102-b7d434d0", "AMPUSERCIDNAME=Dawid Mleczko") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:6] GotoIf("SIP/102-b7d434d0", "0?report") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:7] Set("SIP/102-b7d434d0", "AMPUSERCID=102") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:8] Set("SIP/102-b7d434d0", "CALLERID(all)="Dawid Mleczko" <102>") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:9] ExecIf("SIP/102-b7d434d0", "0|Set|CHANNEL(language)=") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:10] GotoIf("SIP/102-b7d434d0", "1?continue") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Goto (macro-user-callerid,s,19)
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-user-callerid:19] NoOp("SIP/102-b7d434d0", "Using CallerID "Dawid Mleczko" <102>") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Noop
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [@from-internal:2] Set("SIP/102-b7d434d0", "_NODEST=") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [@from-internal:3] Macro("SIP/102-b7d434d0", "record-enable|102|OUT|") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-record-enable:1] GotoIf("SIP/102-b7d434d0", "1?check") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Goto (macro-record-enable,s,4)
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-record-enable:4] AGI("SIP/102-b7d434d0", "recordingcheck|20100715-171324|1279206804.88546") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
    [Jul 15 17:13:24] VERBOSE[29827] logger.c:   == Parsing '/etc/asterisk/manager.conf': [Jul 15 17:13:24] VERBOSE[29827] logger.c: Found
    [Jul 15 17:13:24] VERBOSE[29827] logger.c:   == Parsing '/etc/asterisk/manager_additional.conf': [Jul 15 17:13:24] VERBOSE[29827] logger.c: Found
    [Jul 15 17:13:24] VERBOSE[29827] logger.c:   == Parsing '/etc/asterisk/manager_custom.conf': [Jul 15 17:13:24] VERBOSE[29827] logger.c: Found
    [Jul 15 17:13:24] VERBOSE[29827] logger.c:   == Manager 'admin' logged on from 127.0.0.1
    [Jul 15 17:13:24] VERBOSE[29827] logger.c:   == Manager 'admin' logged off from 127.0.0.1
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:   recordingcheck|20100715-171324|1279206804.88546: Outbound recording not enabled
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- AGI Script recordingcheck completed, returning 0
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: AGI
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-record-enable:5] MacroExit("SIP/102-b7d434d0", "") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [@from-internal:4] Macro("SIP/102-b7d434d0", "dialout-trunk|5|||") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:1] Set("SIP/102-b7d434d0", "DIAL_TRUNK=5") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] DEBUG[29825] func_db.c: DB: AMPUSER/102/pinless not found in database.
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/102-b7d434d0", "0?sub-pincheck|s|1") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GosubIf
    [Jul 15 17:13:24] DEBUG[29825] func_db.c: DB: AMPUSER/102/pinless not found in database.
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/102-b7d434d0", "0?disabletrunk|1") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:4] Set("SIP/102-b7d434d0", "DIAL_NUMBER=") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:5] Set("SIP/102-b7d434d0", "DIAL_TRUNK_OPTIONS=trwW") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:6] Set("SIP/102-b7d434d0", "OUTBOUND_GROUP=OUT_5") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/102-b7d434d0", "1?nomax") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Goto (macro-dialout-trunk,s,9)
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/102-b7d434d0", "0?skipoutcid") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:10] Set("SIP/102-b7d434d0", "DIAL_TRUNK_OPTIONS=wW") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:11] Macro("SIP/102-b7d434d0", "outbound-callerid|5") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/102-b7d434d0", "0|SetCallerPres|") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/102-b7d434d0", "0|Set|REALCALLERIDNUM=102") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/102-b7d434d0", "1?normcid") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Goto (macro-outbound-callerid,s,6)
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:6] Set("SIP/102-b7d434d0", "USEROUTCID=") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] DEBUG[29825] func_db.c: DB: DEVICE/102/emergency_cid not found in database.
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:7] Set("SIP/102-b7d434d0", "EMERGENCYCID=") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:8] Set("SIP/102-b7d434d0", "TRUNKOUTCID=<COMPONY'S NUMBER>") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Set
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/102-b7d434d0", "1?trunkcid") in new stack
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Goto (macro-outbound-callerid,s,12)
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: GotoIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/102-b7d434d0", "1|Set|CALLERID(all)=<COMPONY'S NUMBER>") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Last app: Set|CALLERID(all)=<COMPONY'S NUMBER>
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:13] ExecIf("SIP/102-b7d434d0", "0|Set|CALLERID(all)=") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-outbound-callerid:14] ExecIf("SIP/102-b7d434d0", "0|SetCallerPres|prohib_passed_screen") in new stack
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: ExecIf
    [Jul 15 17:13:24] DEBUG[29825] app_macro.c: Executed application: Macro
    [Jul 15 17:13:24] VERBOSE[29825] logger.c:     -- Executing [s@macro-dialout-trunk:12] ExecIf("SIP/102-b7d434d0", "0|AGI|fixlocalprefix") in new stack
    
     
  20. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    Again, you cannot reliably use inband DTMF with g729, perhaps you will believe this ref:-

    http://en.wikipedia.org/wiki/G.729

    particularly

    . . .DTMF tones, Fax transmissions, and high-quality audio cannot be transported reliably with this codec. DTMF requires the use of the RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals as specified in RFC 2833 . . .


    so you are restricted to RFC8233, dtmfmode=auto is more general purpose and will use RFC8233 for g729, but it is up to your codec to encode DTMF to RFC8233 and the carriers responsibility to decode in-call signaling to DTMF if and when they pass it to the PSTN. I suggest you use the VSP that you say works rather than waste any more time on this particular problem

    dicko
     

Share This Page