Direct SIP call

Version 1
    This document was generated from CDN thread

    Created by: Anupam Jain on 06-08-2012 04:37:22 AM
    Hi,
     
    We have a scenario where the call is coming directly over VoIP on the Cisco Platform. 
     
    In normal cases, the call comes in as PSTN and then we forward the request to the VXML server to fetch the app. But here the call is a direct SIP Call to the Cisco router.
     
    Is there a way to configure a dial-peer to process the SIP call directly? (Sorry, if this a very basic question)
     
    Thanks
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anusha Kannappan on 06-08-2012 06:43:15 AM
    Hi Anupam,

    There is no specific configuration required on a dial-peer to process the SIP call directly.Just based on the destination-pattern the calls will treated accordingly.

    Thanks,
    Anusha

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 06-08-2012 07:02:46 AM
    Hi Anusha,

    Thanks for your quick reply. So a Cisco router (such as 3945) can indeed receive a SIP call provided I configure the dial-peer correctly? So, if the IP address of the router is 192.168.10.10, I can make a call to the router using SIP:4680@192.168.10.10:5060 directly?

    where 4680 is the DID of the voice application that it will map to (based on the dial-peer config)

    In this scenario, I will not be needing any E1 trunk right?

    Thanks,
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anusha Kannappan on 06-08-2012 07:17:18 AM
    Hi Anupam,

    Yes it should work and it will not require E1 trunk for this case.

    Thanks,
    Anusha

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 06-08-2012 07:18:44 AM
    Thanks Anusha. That helps a great deal.

    Regards
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 07-08-2012 05:02:54 AM
    I am trying to figure out the right configuration for such a dial-peer. Most examples in the docs talk about calls from POTS. Can you please help me out here.

    We have the following dial-peer that we were using with for POTS.

    dial-peer voice 500 pots
    service myapp
    incoming called-number .T
    direct-inward-dial
    port 0/0/0:15

    Can I simply change change pots to voip as follows?

    dial-peer voice 500 voip
    service myapp
    incoming called-number .T
    direct-inward-dial
    port 0/0/0:15

    Here 'myapp' is a VXML application hosted on a server, configured as below:

    application
    service myapp http://192.168.10.60:8080/index.vxml

    thanks
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anusha Kannappan on 07-08-2012 06:49:11 AM
    HI Anupam,

    When configuring the VOIP dial-peers there is no need for the DID and port configurations rather it should be as follows

    dial-peer voice 2 voip
    service myapp
    destination-pattern .T
    session-target ipv4:10.0.0.4
    dtmf-relay xxxx


    Where the destination-pattern and session target refer as following

    destination-pattern 919…….
    (calls with the digits 919+7 more digits will match this dial-peer)
    session target ipv4:192.168.1.1
    ( the VOIP call will be sent to 192.168.1.1 when dial-peer is matched)

    Thanks,
    Anusha

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 07-08-2012 07:00:15 AM
    Thanks Anusha.

    So if the Cisco router's IP address is 192.168.10.10 and the SIP call is expected in the format SIP:87654@192.168.10.10 , then :

    - the destination pattern would be 'destination-pattern 87654'

    and since we are using the Cisco IOS VXML Browser here, the session target will be the Cisco router's IP only:

    - session target ipv4:192.168.10.10

    Can you please confirm if our understanding is correct here.

    Thanks
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 07-08-2012 07:56:40 AM
    Thanks Anusha!

    This is great information.

    Regards
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anusha Kannappan on 07-08-2012 07:47:10 AM
    Hi Anupam,

    Yes you are right. For more clarity here is an example. Assume the call is coming from 3100 to 7100 and you are trying to load the application in the router where 7 series phones are connected, then the configuration will be as follows
    !
    dial-peer voice 3 voip
    description "Pointing to SIP Dial-peer in 2800"
    destination-pattern 31..
    session protocol sipv2
    session target ipv4:10.78.236.53
    incoming called-number [6,7]1..
    dtmf-relay sip-notify
    codec g711ulaw
    !

    For more details you could refer to the dial-peer configuration in the following location
    http://www.cisco.com/en/US/docs/ios/12_3/vvf_c/dial_peer/dp_confg.html#wp1066941

    Thanks,
    Anusha

    Subject: RE: Direct SIP call
    Replied by: Anusha Kannappan on 31-08-2012 06:33:34 AM
    Hi Anupam,

    Please try one of the below options and see whether your issue gets resolved.

           -  Configure 'g729br8' instead of 'g729r8' on SIP GW, if that is the correct codec.
           -  Configure 'voice service voip -> sip -> g729 annexb-all' on SIP GW to allow GW to accept either forms of g729.

    Thanks,
    Anusha

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 31-08-2012 06:03:55 AM
    Hi Anusha

    With the above setup, when we make a SIP call to the Cisco router from a soft phone, we get back 488 (Not Acceptable Media). We were expecting it to be a codec issue and tweaked the config as follows but still getting a 488.

    dial-peer inbound selection sip-trunk
    sip-ua
    g729-annexb override


    Also, here is the trace of INVITE and the response:


    INVITE sip:4000@203.122.28.219:5060 SIP/2.0
    Via: SIP/2.0/UDP 9.126.106.243;branch=z9hG4bK097e6af30000003e5040841500000b9f0000000c;rport
    From: "unknown" <sip:9.126.106.243>;tag=3d6c2e36bfef
    To: <sip:4000@203.122.28.219:5060>
    Contact: <sip:9.126.106.243>
    Call-ID: 14C013012D79467883EA43B1DD6F64300x097e6af3
    CSeq: 1 INVITE
    Max-Forwards: 70
    User-Agent: SJphone/1.65.377a (SJ Labs)
    Content-Length: 368
    Content-Type: application/sdp
    Supported: replaces,norefersub,timer
    v=0
    o=- 3555394197 3555394197 IN IP4 9.126.106.243
    s=SJphone
    c=IN IP4 9.126.106.243
    t=0 0
    m=audio 49164 RTP/AVP 3 97 98 8 0 101
    c=IN IP4 9.126.106.243
    a=rtpmap:3 GSM/8000
    a=rtpmap:97 iLBC/8000
    a=rtpmap:98 iLBC/8000
    a=fmtp:98 mode=20
    a=rtpmap:8 PCMA/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-16
    a=setup:active
    a=sendrecv


    SIP/2.0 488 Not Acceptable Media
    Via: SIP/2.0/UDP 9.126.106.243:5060;branch=z9hG4bK097e6af30000003e5040841500000b9f0000000c;rport
    From: "unknown" <sip:9.126.106.243>;tag=3d6c2e36bfef
    To: <sip:4000@203.122.28.219:5060>;tag=EC2C840-563
    Date: Fri, 31 Aug 2012 09:52:04 GMT
    Call-ID: 14C013012D79467883EA43B1DD6F64300x097e6af3
    Server: Cisco-SIPGateway/IOS-12.x
    CSeq: 1 INVITE
    Allow-Events: telephone-event
    Reason: Q.850;cause=65
    Content-Length: 0

    Can you please help us out here? (Sorry if this is a broad query - but if you can guide us in a direction that we can explore, that'll be great) Thanks!

    Regards
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 03-09-2012 01:35:26 AM
    Hi Anusha,

    Thanks for the suggestion. After trying the above command and strudying the logs etc. we figured out that the SIP phone that we are using to test does not support G729 but supports G711. So we made the folowing addition in the config now:


    voice class codec 1
    codec preference 1 g711ulaw


    But we still get a 488 back when we make a call.  Here's the INVITE and the response.

    Received:
    INVITE sip:4000@203.122.28.219:5060 SIP/2.0
    Via: SIP/2.0/UDP 122.248.183.1:44301;branch=z9hG4bK097e6af3000000185044404100002ffe00000000;rport
    From: "unknown" <sip:9.126.106.243>;tag=2cf42bc1158
    To: <sip:4000@203.122.28.219:5060>
    Contact: <sip:122.248.183.1:44301>
    Call-ID: BE0AC393EF6E467BB0604E8244F12F3E0x097e6af3
    CSeq: 1 INVITE
    Max-Forwards: 70
    User-Agent: SJphone/1.65.377a (SJ Labs)
    Content-Length: 368
    Content-Type: application/sdp
    Supported: replaces,norefersub,timer

    v=0
    o=- 3555638977 3555638977 IN IP4 122.248.183.1
    s=SJphone
    c=IN IP4 122.248.183.1
    t=0 0
    m=audio 30142 RTP/AVP 3 97 98 8 0 101
    c=IN IP4 122.248.183.1
    a=rtpmap:3 GSM/8000
    a=rtpmap:97 iLBC/8000
    a=rtpmap:98 iLBC/8000
    a=fmtp:98 mode=20
    a=rtpmap:8 PCMA/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-16
    a=setup:active
    a=sendrecv

    036262: *Sep  3 05:51:42.802: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:
    Sent:
    SIP/2.0 488 Not Acceptable Media
    Via: SIP/2.0/UDP 122.248.183.1:44301;branch=z9hG4bK097e6af3000000185044404100002ffe00000000;rport
    From: "unknown" <sip:9.126.106.243>;tag=2cf42bc1158
    To: <sip:4000@203.122.28.219:5060>;tag=1D59CEA8-2695
    Date: Mon, 03 Sep 2012 05:51:42 GMT
    Call-ID: BE0AC393EF6E467BB0604E8244F12F3E0x097e6af3
    Server: Cisco-SIPGateway/IOS-12.x
    CSeq: 1 INVITE
    Allow-Events: telephone-event
    Reason: Q.850;cause=65
    Content-Length: 0


    Can you please give us a clue on what could be wrong here (I guess there might be something with the config that we still need to tweak)

    Thanks
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 03-09-2012 02:53:48 AM
    Hi Anusha,

    Thanks again for your prompt response.

    This is the IOS version output from 'show ver':
    Cisco IOS Software, 2800 Software (C2800NM-ADVIPSERVICESK9-M), Version 12.4(15)T8, RELEASE SOFTWARE (fc3)

    Also, in the meanwhile, I added the following line to the dial-peer:
    voice-class codec 1

    and the call seems to be going through now (as in, it does not throw a 488)

    But still, we are not able to hear the audio. All we are doing in the VXML is playing a wav file and exiting. (This vxml is constructed fine since we have already tested it with another instance of a Cisco router sometime back)

    From the logs, it seems that the file did play and the application exited properly but we cant hear anything. I suspect it may still be a config issue but couldnt figure it out as yet.

    Thanks
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 03-09-2012 04:25:31 AM
    Hi Anushka,

    Thanks for helping out on this. Sent you the logs and configuration on email.

    Regards
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 03-09-2012 05:44:11 AM
    Hi Anusha,

    I added the following

    session protocol sipv2
    dtmf-relay sip-notify

    in the dial-peer but the problem still persists :-( Cant hear anything on the call.

    The dial-peer now looks like the following:

    dial-peer voice 2 voip
    service myapp
    destination-pattern 4000
    voice-class codec 1
    session protocol sipv2
    session target ipv4:203.122.28.219
    incoming called-number 4000
    dtmf-relay sip-notify

    Thanks
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anusha Kannappan on 03-09-2012 01:58:01 AM
    Hi Anupam,

    May I know which IOS version is being used in your case?

    Thanks,
    Anusha.

    Subject: RE: Direct SIP call
    Replied by: Anusha Kannappan on 03-09-2012 03:16:38 AM
    Hi Anupam,

    Could you please share us the running config along with the logs with the following debugs enabled.

    deb voip app
    deb ccsip all

    Let me see whether I could trace anything out of this !

    Thanks,
    Anusha

    Subject: RE: Direct SIP call
    Replied by: Anusha Kannappan on 03-09-2012 05:35:37 AM
    Hi Anupam,

    Try adding the following cli to the 'dial-peer voice 2 voip' and see whether it resolves your issue

    session protocol sipv2

    Thanks,
    Anusha

    Subject: RE: Direct SIP call
    Replied by: Anusha Kannappan on 04-09-2012 02:28:51 AM
    Hi Anupam,

    Is it possible to share us the VXML doc along with the audio files to test the same in our local lab. Meanwhile if you have valid developer support contract id please raise a developer support case for the same to track this issue. Also mention the clear call flow that you are trying in your setup.

    Thanks,
    Anusha

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 04-09-2012 02:41:20 AM
    Hi Anusha,

    Just emailed you the VXML doc and the audio file.

    We are making a call from a SIP phone to 4000@<IP Address>:5060.

    Also, we just observed that after about 10-11 seconds of the call, we hear a short disturbance for 1 second (as if the whole audio is being played very very fast in one second)

    Thanks
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anusha Kannappan on 04-09-2012 03:06:55 AM
    Hi Anupam,

    Thanks for sharing the docs, we will test this in our lab and revert back to you.

    Thanks,
    Anusha

    Subject: RE: Direct SIP call
    Replied by: Anusha Kannappan on 04-09-2012 04:03:14 AM
    Hi Anupam,

    Actually we had tried with SIP and SCCP phones and were able to hear the audio file being played in our lab. Please check whether you are hitting the following Defect CSCsl61416. Try to upgrade the IOS version or work around specified over there and see whether it resolves your issue.

    Thanks,
    Anusha

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 04-09-2012 05:20:30 AM
    Hi Anusha

    (I posted a reply earlier but looks like it got overridden by a an old post somehow)

    Thanks a bunch for testing this inhouse and pointing us to the Defect #. We are now trying to upgrade the IOS.

    Also, we tried to search for a command to turn off the prompt streaming mode (as mentioned in the workaround) but could find one instance at http://www.cisco.com/en/US/docs/ios/11_0/access/connection/guide/xuserif.html where the command is like 'resume /nostream'. Not sure if it is for the same purpose. Can you help us with it?

    Thanks
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Raghavendra Gutty Veeranagappa on 04-09-2012 06:41:04 AM
    Hi Anupam,

    you can turn off prompt streaming with below command.

    no ivr prompt streamed

    you can find the command in below link
    http://www.cisco.com/en/US/docs/ios/12_3t/voice/command/reference/vrht_i2_ps5207_TSD_Products_Command_Reference_Chapter.html#wp1102051

    Thanks,
    Raghavendra

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 04-09-2012 07:12:39 AM
    Thanks Raghavendra.

    We have turned off the prompt streaming now but looks like the issue still remains, we still cant hear the audio.

    We are trying to upgrade the IOS. Will keep you posted. Thanks.

    Regards
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 06-09-2012 05:47:37 AM
    Hi Raghavendra/Anusha,

    We have now upgraded the IOS to Version 15.1(4)M3, RELEASE SOFTWARE (fc1) (We had to make a couple of changes in our vxml and the config to accomodate the features of the new IOS (like the Toll-Fraud Prevention Feature in IOS Release 15.1(2)T) etc. but the config is now set and we can make SIP calls.

    However, when we call, we get the following error in the logs:

    000132: *Sep  6 09:12:01.259: //-1/xxxxxxxxxxxx/CCAPI/cc_set_post_tagdata:
       CALL_ERROR; Avlist Set Is Failed
    000133: *Sep  6 09:12:01.259: //-1/C07ED4A98002/CCAPI/cc_api_display_ie_subfields:
       cc_api_call_setup_ind_common:
       cisco-username=anupam
       ----- ccCallInfo IE subfields -----
       cisco-ani=anupam
       cisco-anitype=0
       cisco-aniplan=0
       cisco-anipi=0
       cisco-anisi=0
       dest=4000
       cisco-desttype=0
       cisco-destplan=0
       cisco-rdie=FFFFFFFF
       cisco-rdn=
       cisco-rdntype=0
       cisco-rdnplan=0
       cisco-rdnpi=-1
       cisco-rdnsi=-1
       cisco-redirectreason=-1   fwd_final_type =0
       final_redirectNumber =
       hunt_group_timeout =0



    We are wondering if it is still an issue with our dial-peers. Let me re-describe our situation here - We are using the CIsco IOS for VXML interpretation and not using CVP. The VXML is hosted on our own app server externally. The call is directly coming in as a SIP Call (without any E1 interface) and it invokes the VXML from the app server. On a separate instance of 2851 router, we have tested this integration with a E1 interface. Now we want to do the same thing without E1 and using VOIP-only.

    Here is our dial-peer:

    dial-peer voice 2 voip
    service myapp
    destination-pattern 4000
    session protocol sipv2
    session target ipv4here we specify the IP of the same router back to itself)
    incoming called-number 4000
    voice-class codec 1
    dtmf-relay sip-notify

    I think its going in a loop because session-target is pointing back to the same router on which this dial-peer is defined?

    Thanks
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Raghavendra Gutty Veeranagappa on 06-09-2012 06:39:24 AM
    Hi Anupam,

    is audio file is playing now after upgrade,  please send us the logs with below debugs.

    deb voip app
    deb ccsip all

    Thanks,
    Raghavendra

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 06-09-2012 06:53:35 AM
    Hi Raghavendra,

    The audio file is not playing after the upgrade :-( But I am thinking that the issue is with the dial-peers since I guess its going into a recursive loop.

    Sending you the logs on email. Thanks again.

    Regards,
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Raghavendra Gutty Veeranagappa on 06-09-2012 07:19:53 AM
    Hi Anupam,

    since it is configuration issue you can raise TAC case, they will help you on this.

    Thanks,
    Raghavendra

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 06-09-2012 07:26:54 AM
    Hi Raghavendra,

    Actually, we have been working with TAC in the past to figure out these issues when we were setting up the other interface (with E1 and not direct-SIP) but got to know from them that TAC can only be used for break-and-fix issues in a running deployment and it would not be able to cover issues for setting up a new deployment :-(

    This is a bit time-critical for us, so we wanted to get a headway into this soon enough. Any help from your team would be great for us.

    (Also, if you find anything significant in the logs, please let us know)

    Regards,
    Anupam

    Subject: RE: Direct SIP call
    Replied by: Raghavendra Gutty Veeranagappa on 06-09-2012 07:40:33 AM
    Hi Anupam,

    we will not be able to help much since issue with your configuration, any way you can send logs to developer-support@cisco.com , if you don't want share logs here.

    Thanks,
    Ragahvendra

    Subject: RE: Direct SIP call
    Replied by: Raghavendra Gutty Veeranagappa on 07-09-2012 05:40:31 AM
    Hi Anupam,

    from the logs i didn't find any issue, please try to configure below command to dial peer.

    dial-peer voice 2 voip
      media  flow-through

    Thanks,
    Raghavendra

    Subject: RE: Direct SIP call
    Replied by: Anupam Jain on 07-09-2012 05:59:45 AM
    Hi Raghavendra

    Thanks for spending time to see the logs.

    I tried the 'media flow-through' command, but interestingly, even though I configure the command in the dial-peer, when I do a show run | s dial, it does not appear in the dial-peer ?

    I made a call after that but still cant hear the audio :-(

    Regards
    Anupam